避免重複檢驗顯著性錯誤的最好方式就是不去重複地檢驗顯著性。
一、一種常見的A/B測試誤區
如果網頁正在運行A/B測試的時候,你時不時地去查看試驗結果的顯著性,你就會陷入誤區。
統計學上,重複檢驗顯著性是錯誤的行為。這樣做的後果是,即使數據報告顯示統計顯著,實際上仍有較大可能性非統計顯著。下面解釋原因。
二、背景
當A/B測試的數據面板顯示「95%可能性比原版本有提升」,或者「90%可能統計顯著」,需要考慮如下的問題:假如A版本和B版本沒有潛在的差別,我們能看到數據中顯示出區別的可能性有多大?
這個問題的答案就是顯著性水平,「統計顯著的結果」意味著顯著性水平數值比較小,5%或1%。數據面板一般會取補集(95%或99%),作為「優於原版本的概率」或類似的東西來報告。
然而,顯著性水平的計算有嚴格的假設:樣本數量的多少是事先指定的。你很可能違反了該假設而不自知。如果開始試驗之前你沒有「本次試驗將採集1000個樣本」這樣的預期,而是打算「一看到統計顯著的結果就結束」,那麼上報的顯著性水平將毫無意義。這一結論完全反直覺,大量A/B測試工具忽略了這一點。下面會用一個例子解釋問題出在哪裡。
三、例子
假設你在樣本量達到200和500時對試驗進行分析,4個可能發生情景如下:
假設AB版本效果相同,顯著性水平為5%,那試驗結束時,我們有5%的可能性得到統計顯著的結果。
而如果我們一觀察到顯著結果就停止試驗,事情會像下面這樣發展:
第一行和之前一樣,收集200個樣本之後報告的顯著性水平沒啥問題。然而問題出在第三行,試驗結束時,假設AB兩個版本實際效果相同,我們得到統計顯著結論的比例上升了。因此,顯著性水平——用來衡量因為運氣因素觀察到區別的概率,將是錯誤的。
四、問題有多嚴重?
如果你的轉化率是50%,想測試一下新的logo是否能把轉化率提升到50%以上。你打算觀察到5%級別的統計顯著性就停止試驗,否則在收集150個樣本後停止試驗。
假設新logo沒有任何影響,得到錯誤的統計顯著結果的概率有多大?不過5%?根據前面的分析,也許是6%?
結果是26.1%——比你預計的顯著性水平的5倍還多。這是最差的情況,因為我們每收集一個新樣本都檢查統計顯著性(也不是沒有這樣先例)。至少有一家A/B測試平臺確實提供在出現統計顯著就停止試驗的功能。聽起來這是個巧妙的花招,直到你意識到在統計學上這是惡習。
重複進行顯著性檢查總會增加虛報概率,也就是說會把許多本來非顯著的結果變成顯著(而不是反之)。只要你有「偷窺」數據,發現統計顯著就結束試驗的行為,該問題就會存在。偷窺地越頻繁,顯著性水平偏差越大。
例如,在試驗過程中偷窺10次,表面上是1%的顯著性實際上僅是5%的顯著性。下面的表格展示了在有偷窺的情況下,數據報表中的顯著性需要達到多少才能有實際上的5%顯著性。
偷窺次數達到實際顯著性水平5%時,所需要的報告顯著性水平:
看一下自己犯了多大的錯誤,如果你在A/B測試過程中不時地查看統計結果並快速的做決定,上面的表格會讓你起雞皮疙瘩。
五、應該如何做
避免重複檢驗顯著性錯誤的最好方式就是不去重複地檢驗顯著性。
事先決定樣本數量,等試驗結束後再去A/B測試軟體中查看「優於原版本的概率」。如果你能抑制提前結束試驗的想法,那中途偷窺數據也無妨。這有些反人性,所以最佳建議還是不要偷窺。
既然要事先決定樣本數量,應該取多少呢?下面是經驗公式:
δ是能檢測到的最小變化,σ是樣本的標準差。樣本的標準差可能不好預知,但是如果參與計算的樣本取值是2值的(比如統計轉化率),則有:
保證樣本的規模就能避免問題。
對A/B測試軟體的建議:在試驗結束之前不要報告顯著性水平,不要用顯著性水平來決定是繼續試驗還是停止試驗。試驗進行中不報告顯著性水平而是報告目前樣本數量能檢測出多大的差別,計算公式為:
兩個t是給定顯著性水平α/2和統計功效1-β的t統計量。
聽起來痛苦,你甚至可以考慮把試驗效果的「當前估計值」去除掉,直到試驗結束再顯示。如果該信息用於提前結束試驗,則報告的顯著性水平毫無意義。
如果你真想把這事做對:事先固定樣本大小可能令人沮喪,如果改動後效果確實不錯,難道不應該立刻部署嗎?
這個問題長期困擾著醫學界,因為醫學研究人員通常希望在新的療法看起來有效時停止臨床試驗,但是他們還需要對其數據進行有效的統計推斷。下面是兩種用於醫學試驗設計的方法,有些部分應該也適用於網頁試驗:
序貫分析試驗設計:序貫分析試驗設計讓你可以預先設定檢查點,決定是否繼續試驗,給出正確的顯著性水平。貝葉斯試驗設計:貝葉斯試驗設計讓你可以隨時停止試驗並給出正確推斷。實時反映網頁試驗的狀態,貝葉斯方案看起來是未來發展方向。
六、結論
雖然數據面板看起來很強大和方便,但在進行中的A/B測試中被濫用。任何時候,當它們與手動或自動的「停止規則」結合使用時,顯著性檢驗結果會無效。除非在軟體中實現序貫分析或貝葉斯實驗設計,否則任何運行網頁試驗的試驗者都應該只在樣本量已經提前固定的情況下進行試驗,並且像虔誠的教徒一樣堅持該樣本量。
本文由 @祁永輝 原創發布於人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基於CC0協議