說到貝葉斯模型,就算不是搞資料分析的人應該都會有所耳聞,因為它的應用範圍實在是太廣了,大數據、機器學習、資料採擷、資料分析等領域幾乎都能夠找到貝葉斯模型的影子,甚至在金融投資、日常生活中我們都會用到,但是卻很少有人真正理解這個模型。
什麼是貝葉斯模型?
在介紹貝葉斯模型之前,我們先看一個經典的貝葉斯資料採擷案例。
如果你在一家購房機構上班,今天有8個客戶來跟你進行了購房溝通,最終你將這8個客戶的資訊錄入了系統之中:
此時又有一個客戶走了進來,經過交流你得到了這個客戶的資訊:
那麼你是否能夠判斷出這位客戶會不會買你的房子呢?
如果你沒有接觸過貝葉斯理論,你就會想,原來的8個客戶只有3個買房了,5個沒有買房,那麼新來的這個客戶買房的意願應該也只有3/8 。
這代表了傳統的頻率主義理論,就跟拋硬幣一樣,拋了100次,50次都是正面,那麼就可以得出硬幣正面朝上的概率永遠是50%,這個數值是固定不會改變的。例子裡的8個客戶就相當於8次重複試驗,其結果基本上代表了之後所有重複試驗的結果,也就是之後所有客戶買房的幾率基本都是3/8 。
但此時你又覺得似乎有些不對,不同的客戶有著不同的條件,其買房概率是不相同的,怎麼能用一個趨向結果代表所有的客戶呢?
對了!這就是貝葉斯理論的思想,簡單點講就是要在已知條件的前提下,先設定一個假設,然後通過先驗實驗來更新這個概率,每個不同的實驗都會帶來不同的概率,這就是貝葉斯公式:
按照這個公式,我們就可以完美解決上面的這個例子:
先找出“年齡”、“性別”、“收入”、“婚姻狀況”這四個維度中買房和不買房的概率。我們按照最終是否買房,把記錄分為兩個表:
買了房的(圖表1):
沒買房的(圖表2):
買房的概率我們用P(a1)表示,為3/8,沒買房的概率我們用P(a2)表示,為5/8。
我們依次從這四個緯度分析:
年齡:
這裡我們按照年齡段,分為20–30,30–40,40+三個階段。這個新客戶的年齡在30–40。
P(b1|a1) — — 30–40買房的概率是1/3
P(b1|a2) — — 30–40沒買房的概率是2/5
收入:
這裡我們按照薪水,分為10–20,20–40,40+三個級別。這個新客戶的收入在20–40。
P(b2|a1) — — 20–40買房的概率是2/3
P(b2|a2) — — 20–40沒買房的概率是2/5
婚姻狀況:
新客戶是未婚
P(b3|a1) — — 未婚買房的概率是1/3
P(b3|a2) — — 未婚沒買房的概率是3/5
性別:
新客戶是女
P(b4|a1) — — 女性買房的概率是1/3
P(b4|a2) — — 女性沒買房的概率是1/5
OK,現在開始做整合:
新用戶買房的統計概率為P(b|a1)P(a1),其中P(b|a1)為P(b1|a1)P(b2|a1)P(b3|a1)P(b4|a1),那麼為0.33*0.66*0.33*0.33*3/8 = 0.0089
新用戶不會買房的統計概率為P(b|a2)P(a2),其中P(b|a2)為P(b1|a2)P(b2|a2)P(b3|a2)P(b4|a2),那麼為0.4*0.4*0.6*0.2*5/8 = 0.012
由結果得知,該用戶不會買房的概率大,所以可以將其分類至不會買房的類別。
怎麼做貝葉斯模型?
貝葉斯的工作流程可以分為三個階段進行,分別是準備階段、分類器訓練階段和應用階段。
1、準備階段:
這個階段的任務是為樸素貝葉斯分類做必要的準備,主要工作是根據具體情況確定特徵屬性,並對每個特徵屬性進行適當劃分,去除高度相關性的屬性,然後由人工對一部分待分類項進行分類,形成訓練樣本集合。
這一階段的輸入是所有待分類資料,輸出是特徵屬性和訓練樣本。(相當於上述例子中那8個客戶的資訊,這個步驟是需要人工進行整合的)
2、分類器訓練階段:
這個階段的任務就是生成分類器,主要工作是計算每個類別在訓練樣本中的出現頻率及每個特徵屬性劃分對每個類別的條件概率估計,並將結果記錄。其輸入是特徵屬性和訓練樣本,輸出是分類器。
這一階段是機械性階段,根據前面討論的公式可以由程式自動計算完成。
3、應用階段:這個階段的任務是使用分類器對待分類項進行分類,其輸入是分類器和待分類項,輸出是待分類項與類別的映射關係。
這一階段也是機械性階段,由程式完成。
貝葉斯有什麼優、缺點?
貝葉斯模型的優點有4個,分別是:
- 貝葉斯模型發源於古典數學理論,有穩定的分類效率。
- 對缺失資料不太敏感,演算法也比較簡單,常用于文本分類。
- 分類準確度高,速度快。
- 對小規模的資料表現很好,能處理多分類任務,適合增量式訓練,當資料量超出記憶體時,我們可以一批批的去增量訓練
貝葉斯模型的缺點有3個,分別是:
- 對訓練資料的依賴性很強,如果訓練資料誤差較大,那麼預測出來的效果就會不佳。
- 在實際中,屬性個數比較多或者屬性之間相關性較大時,分類效果不好。
- 需要知道先驗概率,且先驗概率很多時候是基於假設或者已有的訓練資料所得的,這在某些時候可能會因為假設先驗概率的原因出現分類決策上的錯誤。
运营数据分析中的贝叶斯陷阱
- 運營資料分析中的貝葉斯陷阱
透過以上案例大家對貝葉斯定律肯定都有了一定的瞭解,貝葉斯在營運工作中有什麼應用呢?說實話,本來我對貝葉斯在營運工作中能有多大的作用,並沒有概念,直到我在日常一活動複盤中發下了下面的案例。
我們經常會舉辦一些訓練營活動,活動分為招募期、課程期兩個時段。在招募過程我們會投放很多管道,在結束後我們都會做複盤報告。
在複盤的過程中我們發現了一個有趣的資料,參與我們訓練營的用戶畫像調研中,工作經驗為1–3年的開發者居多,占比在70%以上。因此,我們每一期活動複盤報告中,都會如下分析:
參與活動的開發者以1–3年工作經驗者居多,說明我們的課程內容對此類開發者更具有吸引力,可以針對此類開發者,做課程設計上的優化。
那麼大家有沒有發現關於這個資料的複盤分析有沒有什麼問題?
我們的訓練營報名用戶的工作年限是1–3年居多,這是一個結果,我們只針對這個結果進行了分析。那麼按照貝葉斯定律,很明顯我們忽略了導致這個結果的前提條件。這個前提條件的忽略最終可能影響了我們對整件事情的判斷。這個前提條件就是:我們的投放管道。
我們投放管道所覆蓋的用戶的工作年限是多少?如果該活動投放的管道所覆蓋的用戶就是1–3年工作經驗開發者居多,自然報名訓練營的用戶也會是這個群體,那我們的複盤就是錯誤的,並不能說明我們的課程對工作1–3年的開發者更具有吸引力。
如果我們的投放管道用戶分佈平均,而活動報名用戶出現了如上的分佈,那我們的複盤總結便是有意義的。
在意識到以上因素後,我們在後續活動的資料模型中,增加了投放管道用戶畫像的收集,用以完善資料完整度,避免出現原先錯誤的分析結論。
所以,以上便是貝葉斯定律在日常運營活動中的應用,掌握貝葉斯理論,在運營活動中可以避免我們做出錯誤的資料分析,以免被錯誤資料誤導而對運營策略產生影響。
>>>
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按贊我的臉書,期待你與我的互動!
滑鼠一直按,最多50下,你會給努力的小編多少次的clap :XD
系列文回顧:
更多精彩好文:
>>>
更多內容,請點擊小編頭像或數據分析那些事查看!