深入解讀A/B 測試的統計學原理

了解一些統計學知識對正確地進行 A/B 測試和研判試驗結果是很有幫助的,本篇文章深入介紹了A/B 測試的原理和背后的統計學依據。完全理解本文中提到的數學計算需要你掌握概率方面的一點基礎知識。

統計學在 A/B 測試中的作用

A/B 測試是一種對比試驗(下文中對比試驗特指 AppAdhoc 平臺上的 A/B 測試),而試驗就是從總體中抽取一些樣本進行數據統計,進而得出對總體參數的一個評估。可以看出,做試驗并從試驗數據中得出有效結論的科學基礎是統計學。

統計學的基本概念

總體:是客觀存在的、具有某一共同性質的許多個體組成的整體; 總體是我們的研究對象,在對比試驗中,總體就是網站/App的所有用戶。

樣本:所謂樣本就是按照一定的概率從總體中抽取并作為總體代表的一部分總體單位的集合體; 樣本是我們的試驗對象,在對比試驗中缺省的對照版本和測試版本的用戶都是樣本。

參數:用來描述總體特征的概括性數字度量,稱為參數,如總體平均數(μ);在對比試驗中總體參數就是所有用戶的某個優化指標的平均值。

統計量:用來描述樣本特征的概括性數字度量,稱為統計量,如樣本平均數(x);在對比試驗中統計量就是測試版本用戶的某個優化指標的統計平均值。

均值:變量值的算數平均數。

方差:各變量值與其算術平均數離差平方的算術平均數。標準差是方差的平方根。

正態分布:是一種應用非常廣泛的概率分布,它是下面介紹的假設檢驗等統計推斷方法的數學理論基礎。

統計學的基本概念

所以,對比試驗的工作原理就是統計對照版本和測試版本兩個樣本的數據(樣本數量,樣本平均數和方差等),通過以正態分布為基礎的統計學公式進行計算,衡量測試版本的總體參數(均值)是否比對照版本的總體參數有確定性的提升。

抽樣

抽樣是指按照隨機原則,以一定概率從總體中抽取一定容量的單位作為樣本進行調查,根據樣本統計量對總體參數作出具有一定可靠程度的估計與推斷。

抽樣最重要的問題是抽取的樣本是否能夠代表總體。如果樣本沒有代表性,那么以樣本的統計量數據來對總體參數進行估計就沒有邏輯基礎。

AppAdhoc 試驗引擎的用戶流量分割算法根據用戶特征對用戶進行聚類,把用戶分為具有相同代表性的多個小組,然后通過隨機抽樣的方式得到測試版本的用戶群(樣本),保證了樣本的代表性。

參數估計

參數估計是一種統計推斷方法,用樣本統計量去估計總體參數。 總體的統計指標在一定范圍內以一定的概率取各種數值,從而形成一個概率分布,但是這個概率分布可能是未知的。 當總體分布類型已知(通常是正態分布),僅需對分布的未知參數進行估計的問題稱為參數估計。

用來估計總體參數的統計量的名稱稱為估計量,如樣本均值;估計量的具體數值稱為估計值。參數估計方法有點估計與區間估計兩種方法。

用樣本估計量的值直接作為總體參數的估計值稱為點估計。例如在對比試驗中,缺省對照版本的優化指標均值就是對缺省版本總體的優化指標均值的一個點估計。

我們必須認識到,點估計是有誤差的,樣本均值不能完全代表總體均值。 在一些比較粗糙的 A/B 測試方式中,試驗者得到對照版本和測試版本的均值之后,直接比較它們的大小,由此得出哪個版本更優的結論,這樣的做法誤差是非常大的,結論的可靠性沒有保障。

點估計只能給出總體參數的一個大概值,但不能給出估計的精度。區間估計就是在點估計的基礎上,給出總體參數的一個概率范圍。區間估計的幾個要素是點估計值、方差、樣本大小以及估計的置信水平。 專業的 A/B 調試工具會通過結合這些要素的統計學公式來對結果進行科學地評估,而不是簡單粗糙地比較點估計值的大小。

假設檢驗

從 A/B 測試的試驗原理來看,它是統計學上假設檢驗(顯著性檢驗)的一種形式。

假設檢驗(中的參數檢驗)是先對總體的參數提出某種假設,然后利用樣本數據判斷假設是否成立的過程。邏輯上運用反證法,統計上依據小概率思想。

小概率思想是指小概率事件(顯著性水平 p < 0.05)在一次試驗中基本上不會發生。反證法是指先提出假設,再用適當的統計方法確定假設成立的可能性大小;如可能性小,則認為假設不成立。

具體到對比試驗,就是假設測試版本的總體參數(優化指標均值)等于對照版本的總體參數,然后利用這兩個版本的樣本數據來判斷這個假設是否成立。

假設檢驗的基本概念

統計假設:是對總體參數(包括總體均值μ等)的具體數值所作的陳述。

原假設:是試驗者想收集證據予以反對的假設 ,又稱“零假設”,記為 H0; 對比試驗中的原假設就是測試版本的總體均值等于對照版本的總體均值。

備擇假設:也稱“研究假設”,是試驗者想收集證據予以支持的假設,記為 H1; 對比試驗中的備擇假設就是測試版本的總體均值不等于對照版本的總體均值。

雙側檢驗與單側檢驗:如果備擇假設沒有特定的方向性,并含有符號“=?”,這樣的稱為雙側檢驗。如果備擇假設具有特定的方向性,并含有符號 “>” 或 “<” 的假設檢驗,稱為單側檢驗。

提出假設

原假設和備擇假設是一個完備事件組,而且相互對立。在一項假設檢驗中,原假設和備擇假設必有一個成立,而且只有一個成立。 在對比試驗中,因為我們試驗的目的是通過反證法證明測試版本和對照版本有明顯的不同(提升),所以我們的原假設是測試版本的總體均值等于對照版本的總體均值。

假設檢驗的兩類錯誤

第 I 類錯誤(棄真錯誤):原假設為真時拒絕原假設;第 I 類錯誤的概率記為 α(alpha)。

第 II 類錯誤(取偽錯誤):原假設為假時未拒絕原假設。第 II 類錯誤的概率記為 β(Beta)。

α 是一個概率值,表示原假設為真時, 拒絕原假設的概率,也稱為抽樣分布的拒絕域。在這兩類錯誤中,相對更加嚴重的是第 I 類錯誤,所以 α 的取值應盡可能小。常用的 α 值有 0.01,0.05,0.10, 由試驗者事先確定。對比試驗中使用的 α 值是 0.05(5%),這是顯著性檢驗中最常用的小概率標準值。

顯著性水平 p(p-value)

顯著性水平 p是指在原假設為真的條件下,樣本數據拒絕原假設這樣一個事件發生的概率。例如,我們根據某次假設檢驗的樣本數據計算得出顯著性水平 p = 0.04;這個值意味著如果原假設為真,我們通過抽樣得到這樣一個樣本數據的可能性只有 4%。

那么,0.04 這個概率或者說顯著性水平到底是大還是小,夠還是不夠用來拒絕原假設呢?這就需要把 p 和我們采用的第 I 類錯誤的小概率標準 α 來比較確定。假設檢驗的決策規則:

若 p ≤ α,那么拒絕原假設;

若 p > α,那么不能拒絕原假設。

顯著性水平

如果 α 取 0.05 而 p = 0.04,說明如果原假設為真,則此次試驗發生了小概率事件。根據小概率事件不會發生的判斷依據,我們可以反證認為原假設不成立。

顯著性水平 p 的計算公式取決于假設檢驗的具體方式,將在下文的 t 檢驗部分介紹。

統計顯著性 (Significance)

在假設檢驗中,如果樣本數據拒絕原假設,我們說檢驗的結果是顯著的;反之,我們則說結果是不顯著的。一項檢驗在統計上是“顯著的”,意思是指這樣的樣本數據不是偶然得到的,即不是抽樣的隨機波動造成的,而是由內在的影響因素導致。

t 檢驗

常用的假設檢驗方法有 z 檢驗、t 檢驗和卡方檢驗等,不同的方法有不同的適用條件和檢驗目標。t 檢驗(Student’s t test)是用 t 分布理論來推斷兩個平均數差異的顯著性水平。

我們的對比試驗是用對照版本和測試版本兩個樣本的數據來對這兩個總體是否存在差異進行檢驗,所以適合使用 t 檢驗方法中的獨立雙樣本檢驗。

為了簡化,對比試驗忽略了樣本大小在 30 以下的小樣本情況(視為結果不顯著),按大樣本檢驗公式進行 p-value 的計算。

首先通過 t 檢驗公式計算出檢驗統計量 Z 的值:

t 檢驗

x1:樣本 1 均值;x2:樣本 2 均值;

S1:樣本 1 標準差;S2:樣本 2 標準差;

n1:樣本 1 大小;n2:樣本 2 大小;

然后通過 t 分布(大樣本情況下近似正態分布)的公式計算得出和 Z 值對應的 p 值。

t 分布

p 值算出來之后,我們就可以根據 p 值按照前面介紹的假設檢驗決策規則來判斷這兩個樣本均值的差異是否顯著了。

小結

下面我們以 AppAdhoc 后臺 Demo App 的試驗 page_order02 為例來走一遍對比試驗的整個過程,從統計假設檢驗的角度來看看 AppAdhoc 是怎么處理試驗數據并得出結論的。

page_order02 這個試驗的目的是測試不同頁面順序對購買點擊的影響,它設計了一個具有不同頁面順序的測試版本 experiment_1_page_order02 和對照版本 CONTROL-page_order02 進行對比, 每個版本的用戶流量分配都是 7% 的用戶,通過 buy_success 優化指標來衡量試驗的結果。

測試版本

試驗開始之后,AppAdhoc 試驗引擎通過抽樣把兩個具有相同代表性的用戶群體(樣本)分配到這兩個版本。試驗運行一段時間之后 buy_success 指標有如下數據(方差數據未在表格中顯示):

測試版本數據

總體和樣本

此試驗中,總體就是應用的所有用戶,涉及到兩個樣本:CONTROL-page_order02 的 33771 個用戶和 experiment_1_page_order02 的 34190 個用戶。

原假設

在此試驗條件下,假設檢驗的原假設就是:experiment_1_page_order02 版本的 buy_success 指標的總體均值等于 CONTROL-page_order02 版本的 buy_success 指標的總體均值。也就是說,如果應用采用新的頁面順序,所有用戶的 buy_success 指標的均值相比原頁面順序下的均值沒有差異。

如果原假設不成立,說明 experiment_1_page_order02 和 CONTROL-page_order02 這兩個樣本不是來自同一個總體;換句話說,采用新頁面順序的所有用戶的表現和采用原頁面順序的所有用戶的表現是有本質區別的。因為這兩個樣本的代表性是相同的,唯一的區別在于頁面順序, 所以我們可以推斷得出頁面順序的改變是有效果的,試驗的目的就達到了。

p-value 的計算

接著要做的就是根據這兩個樣本的數據按照前面介紹的 t 檢驗的公式來計算原假設的顯著性水平 p 值。

x1:CONTROL-page_order02 版本的 buy_success 均值 (23.01);

x2:experiment_1_page_order02 版本的 buy_success 均值 (22.11);

S1:CONTROL-page_order02 版本的 buy_success 標準差 (53.21);

S2:experiment_1_page_order02 版本的 buy_success 標準差 (50.21);

n1:CONTROL-page_order02 版本的樣本大小/用戶數 (33771);

n2:experiment_1_page_order02 版本的樣本大小/用戶數 (34190);

通過上面介紹的t檢驗大樣本檢驗公式計算得出 Z = 2.28,然后根據正態分布公式由 Z 值計算得出 p-value = 0.01。

0.01 < 0.05,根據決策規則我們可以下結論此次檢驗的統計顯著性是“顯著”,即原假設不成立,改變頁面順序顯著地影響了購買點擊。

測試結果的好壞

現在我們知道初步的試驗結果了,這次試驗是具有統計顯著性的,我們可以繼續研讀試驗的數據,得出進一步的結論。 如果結果不顯著,說明樣本數量可能還不夠,應該等待試驗繼續運行;如果試驗已經充分運行,說明結論是原假設不能被拒絕,我們不能確定改變頁面順序會顯著地影響購買點擊。

我們接著看兩個版本(樣本)的均值,experiment_1_page_order02 的均值 22.11 比 CONTROL-page_order02 的均值 23.01 小,變化(提升)是 -3.90%。 我們現在更清楚了,測試版本的 buy_success 指標均值下降了,頁面順序的改動對購買點擊有負面的影響,我們不應該發布這個版本。

OK,至此我們可以得出明確的結論了:檢驗結果顯著,測試版本和對照版本有明顯不同,但是提升效果是負面的。

置信區間

好吧,事還沒完。我們知道測試結果好壞之后,還可以更深入地查看它大概好了多少,或者差了多少。

experiment_1_page_order02 的均值 22.11 和 CONTROL-page_order02 的均值 23.01 都是點估計,所以來自這兩個均值比較得到的變化百分值 -3.90% 也是點估計,它是有誤差的。 前面的參數估計部分已經提到了,我們需要區間估計的方法來得到一個概率范圍,這才是比較準確的描述。

置信區間(Confidence interval)就是用來對一個概率樣本的總體參數的進行區間估計的樣本均值范圍。置信區間展現了這個均值范圍包含總體參數的概率,這個概率稱為置信水平。

置信水平代表了估計的可靠度,一般來說,我們使用 95% 的置信水平來進行區間估計。簡單地講,置信區間就是我們想要找到的這么一個均值區間范圍,此區間有 95% 的可能性包含真實的總體均值。

根據統計學的中心極限定理,樣本均值的抽樣分布呈正態分布。因此,通過相關的公式我們可以計算出兩個總體均值差的95%置信區間。

置信區間

結果為:[-0.9 – 0.778, -0.9 + 0.778]

即區間 [-1.678, -0.122] 有 95% 的可能性包含兩個總體均值之差。

為了更直觀,我們把這個總體均值差的置信區間轉換為相比對照版本均值的變化的百分比置信區間:

[變化1,變化2]

變化1 = -1.678 / 23.01 = -0.073 (-7.3%)

變化2 = -0.122 / 23.01 = -0.005 (-0.5%)

變化百分比形式的置信區間為:[-7.3%, -0.5%]

最后,我們可以這么評價試驗的結果:測試版本不如對照版本,有 95% 的可能性差了 0.5% 到 7.3% 之間。

參考資料

《應用統計學》

《生物統計學基礎》

 

吆喝科技:國內唯一同時支持前端(Web/H5、iOS、Android)及后端(Node.js、PHP、Java 等) A/B 測試服務的專業 SaaS 平臺。支持線上灰度發布、多維度數據統計分析、科學的流量分配系統、一鍵發布新版本無需應用市場審核、定向測試。

 

用數據幫助用戶優化產品,提升轉化、留存和你想要的一切。 AppAdhoc 用數據驗證最佳方案,提高產品設計、研發、運營和營銷效率,降低產品決策風險。

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

訂閱我們

對于每位訂閱讀者,每兩周,吆喝科技會為您發送4篇精選文章,可能是最新的A/B測試實踐,也會是你所期待的增長干貨。
qq宠物捕鱼大师 3d500期和试机号 白姐统一图库彩色 时时计划真的有用吗 山东时时视频直播 七星彩最近100期 福建体彩一定牛 刮刮乐7中奖图片 时时彩大豹子规律 老版刘伯温 篮彩让分胜负推荐