数据分析36计(15):这个序贯检验方法让 A/B 实验节约一半样本量
往期系列原創(chuàng)文章集錦:
數(shù)據(jù)分析36計(14):A/B測試中的10個陷阱,一不注意就白做
數(shù)據(jù)分析36計(13):中介模型利用問卷數(shù)據(jù)探究用戶心理過程,產(chǎn)品優(yōu)化思路來源
數(shù)據(jù)分析36計(12):做不了AB測試,如何量化評估營銷、產(chǎn)品改版等對業(yè)務(wù)的效果
數(shù)據(jù)分析36計(11):如何用貝葉斯概率準(zhǔn)確提供業(yè)務(wù)方營銷轉(zhuǎn)化率
數(shù)據(jù)分析36計(十):Facebook開源時間序列預(yù)測算法 Prophet
數(shù)據(jù)分析36計(九):傾向得分匹配法(PSM)量化評估效果分析
數(shù)據(jù)運(yùn)營36計(八):斷點(diǎn)回歸(RDD)評估產(chǎn)品設(shè)計效果
數(shù)據(jù)分析36計(七):營銷增益模型(uplift model)如何識別營銷敏感用戶群-Python
數(shù)據(jù)運(yùn)營36計(六):BG/NBD概率模型預(yù)測用戶生命周期LTV-Python
數(shù)據(jù)運(yùn)營36計(五):馬爾可夫鏈對營銷渠道歸因建模,R語言實(shí)現(xiàn)
數(shù)據(jù)運(yùn)營36計(四):互聯(lián)網(wǎng)廣告渠道歸因分析之Sharply Value
數(shù)據(jù)運(yùn)營36計(三):熵權(quán)法如何確定指標(biāo)權(quán)重構(gòu)建評價體系
數(shù)據(jù)運(yùn)營36計(二):如何用合成控制法判斷策略實(shí)施效果
數(shù)據(jù)運(yùn)營36計(一):生存分析與用戶行為如何聯(lián)系起來
1. Netflix如何合理地縮短實(shí)驗(yàn)時間
提高實(shí)驗(yàn)效率能帶來很多好處:
在相同的時間內(nèi)可以運(yùn)行更多的測試了,從而增加為用戶找到更好的體驗(yàn)的機(jī)會。
可以快速測試各個領(lǐng)域,以找出最佳的投資領(lǐng)域,為未來的創(chuàng)新作準(zhǔn)備。
更早地結(jié)束實(shí)驗(yàn),就可以更快地為用戶帶來更多的樂趣。
當(dāng)然,不可否認(rèn)的是,進(jìn)行一個短期的實(shí)驗(yàn)也有風(fēng)險:
通常,真正的測試時間要比根據(jù)功效分析(power analysis)所確定的最短時間長得多,這是為了緩解潛在的季節(jié)性波動(例如,一天中的時間,一周中的某天,不同周之間等等)、識別到新奇效應(yīng)的影響,或考慮到某些實(shí)驗(yàn)效果可能需要更長時間才能夠顯現(xiàn)出來。
假期和某些特殊事件的發(fā)生,例如新標(biāo)題的發(fā)布,可能會吸引一些不具有代表性的觀眾。使得測試結(jié)果難以推廣。
過早地將實(shí)驗(yàn)運(yùn)用到實(shí)戰(zhàn)中(例如發(fā)生HARKing或p-hacking)可能會增加誤報率,導(dǎo)致努力白費(fèi)。
2. 實(shí)驗(yàn)設(shè)計確定最佳實(shí)驗(yàn)結(jié)束時間
假設(shè)說某個實(shí)驗(yàn)處理,既跟時間沒有關(guān)系(通過使用元分析評估出此結(jié)論)而且樣本也足夠大,那我們就可以應(yīng)用多種不同的策略來盡早且合理的結(jié)束實(shí)驗(yàn)。簡單地說,我們可以不斷地偷看實(shí)驗(yàn)結(jié)果,但是有時這樣的做法會造成假陽性,這時即使實(shí)驗(yàn)并沒有效果,我們可能會誤以為它有效果。此時則可以使用一些方法來防止這種偷窺中(或者用更正式的說法是:中期分析)假陽性的發(fā)生(I類錯誤)。
我們用回顧性研究評估了幾種方法,例如序貫概率比檢驗(yàn)(SPRT),序貫三角檢驗(yàn),以及成組序貫實(shí)驗(yàn)(GST)。在我們的研究中,GST表現(xiàn)最好且最具實(shí)用價值。它通常被廣泛的應(yīng)用到臨床實(shí)驗(yàn)中,樣本隨著時間逐漸積累增多,這非常適用于我們的案例。
它的思路大致是這樣的:
在測試開始之前,我們先確定所需的最短運(yùn)行時間和中期分析的次數(shù)。
然后,GST將所有可容許的I類錯誤總數(shù)(例如0.05)分配到所有中期分析中,以使I類錯誤加和起來為I類錯誤總數(shù)。這樣,每個中期測試都比定期的peeking更為保守。
一旦統(tǒng)計學(xué)上足夠顯著,我們就可以立即停止實(shí)驗(yàn)。當(dāng)觀察到效果明顯大于預(yù)期時,通常就是這種情況。
下圖展示了五次中期分析下,GST的臨界值以及單獨(dú)和累積的Alpha-spending。通過這樣的策略,我們可以節(jié)省大量的實(shí)驗(yàn)時間,同時能夠更早且更準(zhǔn)確的估計出效果的臨界點(diǎn)。盡管說,獲得的置信區(qū)間略寬,而且效果有些許的夸大。當(dāng)我們想要快速測試某個想法,而且對效果的準(zhǔn)確性要求不高,或者當(dāng)我們發(fā)現(xiàn)一個很嚴(yán)重的負(fù)面影響而需要提前結(jié)束測試時,這種方法最有效。
下圖展示了功效分析固定樣本大小情況下,一個成功的GST提前停止案例(FSS完全停止)。由于觀察到的效果足夠大,我們可以使用相似點(diǎn)估計更早地停止測試。整合決策支持的實(shí)驗(yàn)平臺,現(xiàn)在,我們的初步研究已經(jīng)完成,我們正在積極地拓展元分析,優(yōu)化最佳停止時間,異質(zhì)性效果檢測,以及將更多內(nèi)容擴(kuò)展到更大的Netflix實(shí)驗(yàn)和因果推理平臺中。
3. 成組序貫實(shí)驗(yàn)原理 Group?Sequential?Test
序貫檢驗(yàn)是在 A/B 測試過程中通過時間順序監(jiān)視累積的數(shù)據(jù),用停止規(guī)則來作出是否繼續(xù)實(shí)驗(yàn)的決定,以確保過程中的總體 I 類錯誤率不超過閥值。序貫檢驗(yàn)通常使用成組序貫檢驗(yàn),使用序貫檢驗(yàn)方法可以提高大約20%-80%的樣本量/實(shí)驗(yàn)時間,同時控制總體?I 類錯誤率。但是該方法本身增加了計算復(fù)雜度,因?yàn)橥V箷r間本身現(xiàn)在是一個隨機(jī)變量,需要在適當(dāng)?shù)慕y(tǒng)計模型中加以考慮才能得出有效結(jié)論。總體?I 類錯誤率的控制是通過 alpha-spending 函數(shù)實(shí)現(xiàn)的,而?II?類錯誤率的控制則是通過 beta-spending?函數(shù)實(shí)現(xiàn)的,這兩個函數(shù)產(chǎn)生兩個決策邊界,有效性邊界?(efficacy boundary)從上方限制測試統(tǒng)計量(z得分),無效邊界從下方限制測試統(tǒng)計量。即使在期中分析的數(shù)量和時間偏離了原始設(shè)計,也可以保持邊界。越過邊界之一將導(dǎo)致試驗(yàn)終止,并決定拒絕或接受原假設(shè)。目前Netflix采用的成組序貫檢驗(yàn)方法實(shí)現(xiàn)實(shí)驗(yàn)早停。
因此這里重點(diǎn)關(guān)注 4 個方面:
alpha消耗函數(shù)和beta消耗函數(shù)?alpha-spending function&beta-spending function
有效性邊界和無效性邊界 efficacy and futility boundary
停止規(guī)則 early stopping rule
平均樣本量?average sample size
Alpha-spending function
目的:盡早停止本身效果提升的方案測試,提前上線方案。
原理:決定每次期中分析的一類錯誤率 alpha。
從推廣性和樣本代表性的角度來看,alpha-spending function應(yīng)該是凸函數(shù)的:在測試的早期階段開始緩慢消耗,然后在整個過程中更快地消耗,最后降低消耗。這樣,只有非常極端的結(jié)果才會導(dǎo)致測試在很短的時間內(nèi)就被終止,而樣本量較小,可能會帶來一些外部有效性問題。alpha消耗函數(shù)為以下四種:
Pocock-like
O’Brien-Fleming-like
Hwang-Shih-DeCani Gamma family
Kim-DeMets power family
beta-spending function
目標(biāo):盡早停止無用方案測試,對于本身效果不好的方案,繼續(xù)測試時,不太可能產(chǎn)生具有統(tǒng)計意義的結(jié)果。
原理:決定每次期中分析的二類錯誤率 beta。
efficacy and futility boundary &?early stopping rule
efficacy boundary:使其將 I 類錯誤率 alpha 維持在指定水平之下。通常使用alpha-spending函數(shù)計算。越過邊界意味著已經(jīng)越過統(tǒng)計顯著性閾值,因此拒絕H0。
futility boundary:使 II 類錯誤概率 β 保持在指定水平之上。通常使用Beta-spending函數(shù)計算。越過邊界意味著檢測到具有統(tǒng)計學(xué)意義的結(jié)果的可能性已經(jīng)低于期望值,因此接受H1。
比如下圖中的綠線是由alpha-spending構(gòu)成的邊界,紅線是由Beta-spending構(gòu)成的邊界:
實(shí)驗(yàn)Z值越過efficacy boundary:拒絕H0
實(shí)驗(yàn)Z值越過futility?boundary:接受H1
Average sample size
平均樣本量是對序貫檢驗(yàn)中預(yù)期樣本量的估計,在該測試中,可以執(zhí)行可選的停止操作并保證錯誤率水平。alpha: 5%
power: 90%
relative lift: 10%
baseline: 1.5%
analyses: 12
注意:期中分析越多,maximum sample size就越大,但盡早停止的機(jī)會就越大,因此平均樣本量越小。
圖表的x軸為不同的真實(shí)效果大小(提升百分比),而y軸將為固定樣本大小的百分比。百分比越高,說明為了獲得與固定樣本量實(shí)驗(yàn)相同的結(jié)論并具有相同的錯誤保證,需要一起運(yùn)行測試的用戶越多,這意味著較高的百分比等同于效率較低的測試。對于提升比例越小,所需樣本量越多,efficacy boundary保證了相對提升較為明顯的測試節(jié)約樣本量,但是對于提升0%的測試,仍然需要比固定樣本多3%的樣本量。因此引入futility boundary,對于沒有明顯提升的測試也能節(jié)約樣本量。
4. 參考資料
1、成組序貫檢驗(yàn)原理視頻資料:https://www.bilibili.com/video/BV1jy4y1k7eW?from=search&seid=678793497631760876
2、analytics-toolkit采用成組序貫實(shí)現(xiàn)早停的原理和案例?https://www.analytics-toolkit.com/glossary/sequential-testing/
3、成組序貫檢驗(yàn)原理書籍:clincal trial design:bayesian and frequentist?adaptive?methods
4、序貫概率比檢驗(yàn)方法原理 https://online.stat.psu.edu/stat509/node/77/
總結(jié)
以上是生活随笔為你收集整理的数据分析36计(15):这个序贯检验方法让 A/B 实验节约一半样本量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的文件 IO
- 下一篇: 变频器的常用参数设置(古月金真著)