python進行列聯表卡方檢驗

列聯表檢驗常用在生物統計學上,用來檢驗某種外界因素對原有實驗是否存在顯著影響。今天看到了一組實驗,描述的因素是:對網頁的優化,檢驗其是否對轉化率有顯著影響。
在這裏插入圖片描述
將數據寫成列聯表形式:
可參考進行手算結果爲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]]))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章