一種常見的AB測試誤區分析

22222222222222222222

一種常見的AB測試誤區

如果網頁正在運行AB測試的時候,你時不時的去查看試驗結果的顯著性,你就會陷入誤區。統計學上,重復檢驗顯著性是錯誤的行為。這樣做的后果是,即使數據報告顯示統計顯著,實際上仍有較大可能性非統計顯著。下面解釋原因。

背景

當AB測試的數據面板顯示“95%可能性比原版本有提升”,或者“90%可能統計顯著”,需要考慮如下的問題:假如A版本和B版本沒有潛在的差別,我們能看到數據中顯示出來區別的可能性有多大?這個問題的答案就是顯著性水平,“統計顯著的結果”意味著顯著性水平數值比較小,5%或1%。數據面板一般會取補集(95%或99%),作為“優于原版本的概率”或類似的東西來報告。
然而,顯著性水平的計算有嚴格的假設:樣本數量的多少是事先指定的。你很可能違反了該假設而不自知。如果開始試驗之前你沒有“本次試驗將采集1000個樣本”這樣的預期,而是打算“一看到統計顯著的結果就結束”,那么上報的顯著性水平將毫無意義。這一結論完全反直覺,大量AB測試工具忽略了這一點。下面會用一個例子解釋問題出在哪里。

例子

假設你在樣本量達到200和500時對試驗進行分析,4個可能發生情景如下:

 

AB測試誤區

假設AB版本效果相同,顯著性水平為5%,那試驗結束時,我們有5%的可能性得到統計顯著的結果。

 

而如果我們一觀察到顯著結果就停止試驗,事情會像下面這樣發展:

 

AB測試原理

 

第一行和之前一樣,收集200個樣本之后報告的顯著性水平沒啥問題。然而問題出在第三行,試驗結束時,假設AB兩個版本實際效果相同,我們得到統計顯著結論的比例上升了。因此,顯著性水平——用來衡量因為運氣因素觀察到區別的概率——將是錯誤的。

問題有多嚴重?

如果你的轉化率是50%,想測試一下新的logo是否能把轉化率提升到50%以上。你打算觀察到5%級別的統計顯著性就停止試驗,否則在收集150個樣本后停止試驗。假設新logo沒有任何影響,得到錯誤的統計顯著結果的概率有多大?不過5%?根據前面的分析,也許是6%?

 

結果是26.1%-比你預計的顯著性水平的5倍還多。這是最差的情況,因為我們每收集一個新樣本都檢查統計顯著性,(也不是沒有這樣先例)。至少有一家AB測試平臺確實提供在出現統計顯著就停止試驗的功能。聽起來這是個巧妙的花招,直到你意識到在統計學上這是惡習。

 

重復進行顯著性檢查總會增加虛報概率,也就是說會把許多本來非顯著的結果變成顯著(而不是反之)。只要你有“偷窺”數據,發現統計顯著就結束試驗的行為,該問題就會存在。偷窺的越頻繁,顯著性水平偏差越大。例如,在試驗過程中偷窺10次,表面上是1%的顯著性實際上僅是5%的顯著性。下面的表格展示了在有偷窺的情況下,數據報表中的顯著性需要達到多少才能有實際上5%顯著性。
偷窺次數達到實際顯著性水平5%所需要的報告顯著性水平

1次 ? ? ? ? ? 2.9%
2次 ? ? ? ? ?2.2%
3次 ? ? ? ? ?1.8%
5次 ? ? ? ? ?1.4%
10次 ? ? ? ?1.0%

 

看一下自己犯了多大的錯誤,如果你在AB測試過程中不時的查看統計結果并快速的做決定,上面的表格會讓你起雞皮疙瘩。

應該如何做

避免重復檢驗顯著性錯誤的最好方式就是不去重復的檢驗顯著性。事先決定樣本數量,等試驗結束后再去AB測試軟件中查看“優于原版本的概率”。如果你能抑制提前結束試驗的想法,那中途偷窺數據也無妨。這有些反人性,所以最佳建議還是不要偷窺。

 

既然要事先決定樣本數量,應該取多少呢?下面是經驗公式:

1

δ是能檢測到的最小變化,σ是樣本的標準差。樣本的標準差可能不好預知,但是如果參與計算的樣本取值是2值的(比如統計轉化率),則有:

2

 

保證樣本的規模就能避免問題。
對AB測試軟件的建議:在試驗結束之前不要報告顯著性水平,不要用顯著性水平來決定是繼續試驗還是停止試驗。試驗進行中不報告顯著性水平而是報告目前樣本數量能檢測出多大的差別,計算公式為:

3

 

兩個t是給定顯著性水平α/2和統計功效1-β的t統計量
聽起來痛苦,你甚至可以考慮把試驗效果的“當前估計值”去除掉,直到試驗結束再顯示。如果該信息用于提前結束試驗,則報告的顯著性水平毫無意義。

 

如果你真想把這事做對:事先固定樣本大小可能令人沮喪,如果改動后效果確實不錯,難道不應該立刻部署嗎?這個問題長期困擾著醫學界,因為醫學研究人員通常希望在新的療法看起來有效時停止臨床試驗,但是他們還需要對其數據進行有效的統計推斷。下面是兩種用于醫學試驗設計的方法,有些部分應該也適用于網頁試驗:

 

序貫分析試驗設計:序貫分析試驗設計讓你可以預先設定檢查點,決定是否繼續試驗,給出正確的顯著性水平。

 

貝葉斯試驗設計:貝葉斯試驗設計讓你可以隨時停止試驗并給出正確推斷。實時反映網頁試驗的狀態,貝葉斯方案看起來是未來發展方向。

結論

雖然數據面板看起來很強大和方便,但在進行中的A/B測試中被濫用。任何時候,當它們與手動或自動的“停止規則”結合使用時,顯著性檢驗結果會無效。除非在軟件中實現序貫分析或貝葉斯實驗設計,否則任何運行網頁試驗的試驗者都應該只在樣本量已經提前固定的情況下進行試驗,并且像虔誠的教徒一樣堅持該樣本量。

 

本文由 韓剛 @ 吆喝科技編譯自:http://www.evanmiller.org/how-not-to-run-an-ab-test.html

22794 Views
即刻實踐文章理論 A/B測試 灰度發布 產品優化 免費申請
Please wait...

訂閱我們

對于每位訂閱讀者,每兩周,吆喝科技會為您發送4篇精選文章,可能是最新的A/B測試實踐,也會是你所期待的增長干貨。
qq宠物捕鱼大师 东方心经ab面图库 北京pk直播手机版苹果 飞鱼项目 安徽时时十一选五开奖结果 北京十一选五基本走势图 江苏快3稳赚技巧 1682010开奖网 pk10庄家是谁 河北快3开奖号码今天 4676开奖现场直播开奖记录