簡體   English   中英

大小不等組的卡方檢驗

[英]Chi-Square test for groups of unequal size

我想應用卡方測試scipy.stats.chisquare 並且我的組中的觀察總數不同。

import pandas as pd

data={'expected':[20,13,18,21,21,29,45,37,35,32,53,38,25,21,50,62],
      'observed':[19,10,15,14,15,25,25,20,26,38,50,36,30,28,59,49]}

data=pd.DataFrame(data)
print(data.expected.sum())
print(data.observed.sum())

忽略這一點是不正確的 - 對吧?

scipy.stats.chisquare的默認行為是否考慮了這一點? 我用筆和紙檢查過,看起來沒有。 有這個參數嗎?

from scipy.stats import chisquare
# incorrect since the number of observations is unequal 
chisquare(f_obs=data.observed, f_exp=data.expected)

當我進行手動調整時,我得到的結果略有不同。

# adjust actual number of observations
data['obs_prop']=data['observed'].apply(lambda x: x/data['observed'].sum())
data['observed_new']=data['obs_prop']*data['expected'].sum()

# proper way
chisquare(f_obs=data.observed_new, f_exp=data.expected)

如果我在某個時候錯了,請糾正我。 謝謝。

ps:我標記了 R 以獲得額外的統計專業知識

基本上這是一個不同的統計問題 - 列聯表中變量獨立性的卡方檢驗。

from scipy.stats import contingency as cont
chi2, p, dof, exp=cont.chi2_contingency(data)
p

我沒有很好地理解這個問題。 但是,我認為如果您想計算兩個分類變量之間的獨立性測試,您可以使用scipy.stats.chi2_contingency 此外scipy.stats.chi2_sqaure可用於比較觀察到的與預期的。 這里類別的數量應該相同。 邏輯上,如果存在觀察到的頻率但預期頻率不存在,則類別將獲得 0 頻率,反之亦然。

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM