貝葉斯統計學關我什么事?

導讀:有本書叫《統計學關我什么事》,副標題是:“生活中的極簡統計學”。這是一本關于「貝葉斯統計學」的超級入門書,今天我們就用書中一個很有趣的例子來看看貝葉斯推理在生活中的應用。
作者 / 來源:林驥(ID:linjiwx)

01 一個例子
假如有位女同事給你送了一盒巧克力,你推測她把你當成「真命天子」的概率有多大?
根據貝葉斯推理的方法,只需要簡單的 3 步,就能算出這個概率。
第 1 步:先假設女同事把你當成「真命天子」的概率為10%,這個概率可以根據自己的主觀感受進行修改;
第 2 步:通過調查統計知道,職場女性對「真命天子」送出巧克力的平均概率為42.5%,對「無關路人」送出巧克力的平均概率為22%;
第 3 步:根據女同事送巧克力的行為,計算她把你當成「真命天子」的概率 = 10%*42.5% / (10%*42.5% + 90%*22%) = 17.67%。
也就是說,當你認為女同事對你有意思的可能性比較低時,即使她送了巧克力給你,也只是增加了她對你有意思的概率,但并不能因此說明她對你真的有意思。
02 矩陣樹圖
為了直觀地展現上述推理過程的概率分布情況,我用 pyecharts 制作了一張矩陣樹圖:
#?導入庫
from?pyecharts?import?options?as?opts
from?pyecharts.charts?import?TreeMap
from?pyecharts.globals?import?ThemeType?
#?真命天子的概率
a?=?0.1
#?無關路人的概率
b?=?1?-?a
#?送給真命天子的概率
c?=?0.425
#?不送真命天子的概率
d?=?1?-?c
#?送給無關路人的概率
e?=?0.22
#?不送無關路人的概率
f?=?1?-?e
#?定義數據
data?=?[
????{
????????"value":?100,?
????????"name":?"后驗概率",
????????"children":?[
????????????{
????????????????"value":?100,
????????????????"name":?"送巧克力",
????????????????"children":?[
????????????????????{"value":?round(a*c/(a*c+b*e)*100,2),?"name":?"送給真命天子"},
????????????????????{"value":?round(b*e/(a*c+b*e)*100,2),?"name":?"送給無關路人"},
????????????????],
????????????}
????????],
????},
????{
????????"value":?100,
????????"name":?"先驗概率",
????????"children":?[
????????????{
????????????????"value":?100,
????????????????"name":?"條件概率",
????????????????"children":?[
????????????????????{"value":?round(a*c*100,2),?"name":?"送給真命天子"},
????????????????????{"value":?round(a*d*100,2),?"name":?"不送真命天子"},
????????????????????{"value":?round(b*e*100,2),?"name":?"送給無關路人"},
????????????????????{"value":?round(b*f*100,2),?"name":?"不送無關路人"},
????????????????],
????????????}
????????],
????},
]
#?繪制矩形樹圖
c?=?(
????TreeMap(init_opts=opts.InitOpts(width='800px',?height='800px',?theme=ThemeType.LIGHT))
????.add("推測送巧克力的女同事的心意",?
?????????data,
?????????levels=[
????????????opts.TreeMapLevelsOpts(
????????????????treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(
????????????????????border_color="#00589F",?border_width=4,?gap_width=4
????????????????)
????????????),
????????????opts.TreeMapLevelsOpts(
????????????????color_saturation=[0.3,?0.5],
????????????????treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(
????????????????????border_color_saturation=0.7,?gap_width=2,?border_width=2
????????????????),
????????????),
????????????opts.TreeMapLevelsOpts(
????????????????color_saturation=[0.3,?0.5],
????????????????treemap_itemstyle_opts=opts.TreeMapItemStyleOpts(
????????????????????border_color_saturation=0.6,?gap_width=1
????????????????),
????????????),
????????????opts.TreeMapLevelsOpts(color_saturation=[0.3,?0.5]),
????????],
????)
????.set_global_opts(title_opts=opts.TitleOpts(
????????title="推測送巧克力的女同事的心意,她把你當成真命天子的概率是"+'%.2f%%'?%?(a*c/(a*c+b*e)*100),
????????pos_left="center",?pos_top="30",
????))
????.render("推測送巧克力的女同事的心意.html")
)運行結束之后,用瀏覽器打開新生成的 HTML 文件,就能看到一個矩陣樹圖。

你可以自己修改代碼中的概率數據,運行得到不同的計算結果,甚至可以做成動態(tài)變化的圖,動態(tài)展現概率的變動。你也可以把上面制作矩陣樹圖的方法,應用到其他的工作場景,比如說,替換掉那些分類比較多的餅圖。
03 小結
貝葉斯推理的魅力和優(yōu)勢在于,即使沒有事前的客觀數據,也能根據主觀判斷進行推算。
而且在數據比較少的情況下,也可以應用貝葉斯推理,當數據越多,推測的結果就越準確。
把有用的知識,與有趣的場景相結合,這是我個人比較喜歡的一種學習方法。
知識的分享,最好能既有用又有趣,這樣效果更好,而且讓人更容易堅持下去。
隨著因特網技術的的發(fā)展,貝葉斯統計在商業(yè)領域得到了成功的應用。
微軟之所以在激烈的市場競爭中勝出,正是由于采用了貝葉斯統計。

干貨直達??

