在《假設檢驗(Hypothesis Testing)》一文中,我們羅列了關於比較均值或方差的幾種假設檢驗類型。除此之外,還有一種經常用到的檢驗類型,那就是比較比率(proportion)的假設檢驗。比如說,使用A方案的付費轉化率爲30%,使用B方案的付費轉化率爲34%,請問這兩個轉化率之間是否有顯著不同?
總體比率是指總體中具體某種相同特徵的個體所佔的比值。通常用π表示總體比率,用p表示樣本比率。比如某樣本轉化率爲p的話,那麼沒有轉化的人羣比率就是1-p。這屬於二項分佈,當樣本量足夠大的時候,二項分佈可以轉換爲正態分佈。
比率類的假設檢驗有兩種應用場景:比較樣本比率和總體比率是否相同,比較兩樣本比率是否相同。
1,比較樣本比率和總體比率是否相同,以此來檢驗樣本和總體之間的差異(單樣本比率檢驗):
當np≥5以及n(1-p)≥5時(大樣本的情況下),p的抽樣分佈近似正態分佈。因此,檢驗統計量可以選用z值:。
原假設: H0: π≥π0 H0: π≤π0 H0: π=π0 (樣本和總體比率)
備擇假設: Ha: π<π0 Ha: π>π0 Ha: π≠π0 (樣本和總體比率)
(左尾) (右尾) (雙尾)
拒絕法則(臨界值法):如果z ≤ -zα,則拒絕原假設(左尾)
如果z ≥ zα,則拒絕原假設(右尾)
如果z ≤ -zα/2 或 z ≥ zα/2,則拒絕原假設(雙尾)
拒絕法則(p值法):如果p值≤α,則拒絕原假設
2,比較兩樣本比率是否相同,以此來檢驗兩總體之間的差異(兩獨立樣本比率檢驗):
當np1≥5,np2≥5以及n(1-p1)≥5,n(1-p2)≥5時(大樣本的情況下),p1-p2差值的抽樣分佈近似正態分佈。因此,檢驗統計量可以選用z值:。
由於π1和π2未知(這不是廢話嘛,要是已知的話直接就能知道這兩個總體比率是否相同了),那麼就需要用樣本比率來對總體比率進行估計,這裏分爲兩種情況:
一種情況是原假設π1-π2=D0(D0=0)爲真,也就是兩總體比率相同,那麼就可以統一用p()來估計總體比率,檢驗統計量就可以寫成:。
另一種情況是原假設π1-π2=D0(D0≠0)爲真,也就是兩總體比率不同,分別用p1和p2來估計兩總體的比率,檢驗統計量就可以寫成:。
原假設: H0: π1≥π2 H0: π1≤π2 H0: π1=π2 (樣本和總體比率)
備擇假設: Ha: π1<π2 Ha: π1>π2 Ha: π1≠π2 (樣本和總體比率)
(左尾) (右尾) (雙尾)
拒絕法則(臨界值法):如果z ≤ -zα,則拒絕原假設(左尾)
如果z ≥ zα,則拒絕原假設(右尾)
如果z ≤ -zα/2 或 z ≥ zα/2,則拒絕原假設(雙尾)
拒絕法則(p值法):如果p值≤α,則拒絕原假設
可以用G*Power或statsmodels進行比率假設檢驗:
statsmodels:statsmodels.stats.proportion.
proportions_ztest
(count, nobs, value=None, alternative='two-sided', prop_var=False)
返回:z統計量的具體值和p值。
計算效應量:
公式:2 * (arcsin(sqrt(p1)) - arcsin(sqrt(p2))) (cohen's h)
statsmodels:statsmodels.stats.proportion.
proportion_effectsize
(prop1, prop2, method='normal') (兩總體比率)
計算樣本量&功效:
statsmodels:statsmodels.stats.power.
zt_ind_solve_power
(effect_size=None, nobs1=None, alpha=None, power=None, ratio=1.0, alternative='two-sided')
附:
比率類的假設檢驗,其最小樣本量的計算公式爲:(摘自:https://jeffshow.com/caculate-abtest-required-sample-size.html)
p1我們稱爲基礎值,是實驗關注的關鍵指標現在的數值(對照組);p2我們稱爲目標值,是希望通過實驗將其改善至的水平;通常設定α爲0.05,β爲0.2