A/B測試算法大揭秘第三篇:如何分析試驗數據(下)
希望通過我們的幾篇文章,能夠幫助你更好的了解A/B測試和置信區間,一起實現用A/B測試驅動產品優化。
P-value定義
P-value(以下簡稱P值),又稱“顯著性水平”,它是指在原假設為真的條件下,樣本數據拒絕原假設事件發生的概率,可以用來評估假設檢驗中最關鍵的第一類錯誤的概率。
今年3月,美國統計協會(ASA)在其官網上發布了《關于統計顯著性和P值的聲明》,進一步闡釋了P值的概念和用處:
- P值可以表達的是數據與一個給定模型(也就是原假設下的模型)不匹配的程度;
- P值并不能衡量某條假設為真的概率,或是數據僅由隨機因素產生的概率;
- 科學結論、商業決策或政策制定不應該僅依賴于P值是否超過一個給定的閾值;
- 合理的推斷過程需要完整的報告和透明度;
- P值或統計顯著性并不衡量影響的大小或結果的重要性;
- P值就其本身而言,并不是一個非常好的對模型或假設所含證據大小的衡量。
P-value的計算——T檢驗
P值的計算公式取決于假設檢驗的具體方式,常用的假設檢驗方法有Z檢驗、T檢驗和卡方檢驗等,不同的方法有不同的適用條件和檢驗目標。
A/B測試中是用對照版本和試驗版本兩個樣本的數據來對這兩個總體是否存在差異進行檢驗,所以適合使用T檢驗方法中的獨立雙樣本檢驗 (independent two-samples ttest)。通過T分布理論來計算相關的概率水平,也就是P-value的值。
T檢驗的計算公式,首先通過來公式計算出統計檢驗量Z值,公式中的相關組成因素就是:兩個版本的各自均值、方差(標準差),以及樣本的大小,從而推算出統計量的Z值是多少。
然后通過t分布(大樣本情況下近似正態分布)的公式計算得出和Z值對應的P值,陰影部分的面積就是P-value的值。
P值算出來之后,我們就可以根據P值按照前面介紹的假設檢驗決策規則來判斷這兩個樣本均值的差異是否顯著了。
P-value中的常見錯誤
A.統計顯著=效果顯著=效果的商業價值?
這個式子的意思是:P值只代表了樣本數據與原假設之間有多不一致,并不能代表你所發現的效應(或差異)的大小。
盡管研究者們在很多情況下都希望計算出零假設為真的概率或是數據由隨機因素產生的概率,很可惜這兩者都不是P值的事。P值只解釋數據與假設之間的關系,它并不解釋假設本身。即,不論P-value的值有多小,也只能告訴你兩個版本間是否存在差異效果,并不能得知差異效果究竟有多大,更不能告訴我們這效果是否具有實際價值。
例如,我們通過A/B測試對一個資源耗費10倍以上的推薦算法進行優化,得到p值=0.001,說明這次的試驗結果是顯著的。而試驗的效果,只對收入提升了萬分之一。
當資源耗費增大了10倍或更多時,收入只得到了非常微小的提升,那么從整體看來這個優化帶來的商業效果其實是非常不顯著的。因此不能從P值來判定改動所帶來的商業效果。
B.一旦P≤α,就立刻得出結論?
這是P值一種比較經典的錯誤使用方式:持續觀察和檢驗p值(multiple testing) ,一旦p值小于α判定標準(即統計顯著),就停止試驗得出結論。事實上,這樣的會導致很高的第一類錯誤發生率。
以Airbnb的某一個A/B測試為例,當試驗開始運行后,持續每天都觀察試驗數據的情況和p值,并繪制出以下圖表。可以發現,當試驗運行到第7天時,p-value的值第一次小于α判定標準,實驗結果顯示顯著。但是過了一段時間之后,p值并沒有穩定下來,甚至一度增大到實驗結果顯示不顯著。也就是說,單純憑借p-value值來判定實驗結果的顯著與否,是不太可靠的。尤其是在試驗剛開始的前7-10天之內,單純依靠p-value值來得出版本差異的判定,出錯的概率是非常大的。
以上就是關于P-value的介紹。如果在閱讀的過程中,你對P值有了更加深入的了解,那就是我們在這篇文章上的最大成功。最后想說的是,P值并不是數據分析的終點,所有決策的過程都應該多個因素綜合考量,而不是“一錘子買賣”。在A/B測試中,同時應用了許多其他合適可行的方法,是它們的共同作用幫助我們判斷出了最優的試驗版本。下一篇,我們就來講講A/B測試中用戶最關注的部分——置信區間。
作者:吆喝科技,微信公眾號(appadhoc)。
本文由 @吆喝科技 原創發布于人人都是產品經理。未經許可,禁止轉載。
測試用例