列聯表檢驗常用在生物統計學上,用來檢驗某種外界因素對原有實驗是否存在顯著影響。今天看到了一組實驗,描述的因素是:對網頁的優化,檢驗其是否對轉化率有顯著影響。
將數據寫成列聯表形式:
可參考進行手算結果爲4.58
https://wenku.baidu.com/view/67c044c0d0d233d4b14e6999.html
書本上的結果:檢驗統計量的值爲4.58022,p值爲0.03234,說明原版方案與測試方案有顯著區別,即改進的因素起到了提升轉化率的作用。
import numpy as np
from scipy.stats import chi2_contingency
d = np.array([[37,376], [58,367]])
chi2_contingency(d)
(4.1256718858694255,
0.04223724534272946,
1,
array([[ 46.81980907, 366.18019093],
[ 48.18019093, 376.81980907]]))
第一個值爲卡方值,第二個值爲P值,第三個值爲自由度,第四個爲與原數據數組同維度的對應理論值。這裏的統計量與手算的不一樣,需要加上correction=False才行
chi2_contingency(d,correction=False)
(4.580224257695749,
0.032342981729914094,
1,
array([[ 46.81980907, 366.18019093],
[ 48.18019093, 376.81980907]]))