一、引言
卡方檢驗是用於檢驗兩種變數之間是否存在關聯的一種統計方法。它可以判斷兩個變數之間的關係是否是隨機的。卡方檢驗在很多領域都有著廣泛的應用,如醫學、社會科學、經濟學和生物學等領域。在Python中,使用scipy庫中的stats模塊就可以很方便地實現卡方檢驗。
二、原理
卡方檢驗用於檢驗兩個分類變數之間是否存在關聯。其原理在於,假設兩個變數之間沒有關聯,則預期的頻數可以通過行總計與列總計的比例來計算。如果觀測值與預期值有較大的偏差,則可以認為兩個變數之間存在關聯。卡方檢驗的計算公式如下:
def chi_square(observed, expected): return np.sum(np.power(observed - expected, 2) / expected)
其中,observed為實際觀測頻數,expected為預期頻數。
三、實現
1. 導入依賴庫
import numpy as np from scipy.stats import chi2_contingency
導入一個numpy庫作為計算的基礎,以及調用scipy.stats庫下的卡方檢驗函數。
2. 使用numpy生成模擬數據
data = np.array([[10, 20, 30], [20, 30, 40], [30, 40, 50]])
這裡使用numpy生成了一個3 x 3的矩陣,每個元素代表兩個分類變數之間的觀測頻數。
3. 計算卡方檢驗結果
stat, p, dof, expected = chi2_contingency(data) print('stat=%.3f, p=%.3f, dof=%d' % (stat, p, dof)) print(expected)
chi2_contingency函數將生成的數據傳遞到API中進行計算。計算結果中,在截尾的情況下,p值越小,說明兩個變數之間越有可能存在關聯。在這裡也列印輸出了期望頻數。
4. 結語
上述就是Python中通過scipy庫實現卡方檢驗的方法。卡方檢驗是一種非常重要的統計方法,在分析數據時經常用到,也非常基礎。了解和掌握此方法對數據分析師和數據科學家都是非常有幫助的。
原創文章,作者:AMKUJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/316179.html