2
私は、コンティンジェンシーテーブルを使用して、PythonでChiの二乗値を計算しようとしています。ここに例があります。Python:Chi 2テストで間違った結果が生成される(chi2_contingency)
+--------+------+------+
| | Cat1 | Cat2 |
+--------+------+------+
| Group1 | 80 | 120 |
| Group2 | 420 | 380 |
+--------+------+------+
期待値は次のとおりです。私は手でカイ二乗値を計算する場合
+--------+------+------+
| | Cat1 | Cat2 |
+--------+------+------+
| Group1 | 100 | 100 |
| Group2 | 400 | 400 |
+--------+------+------+
は、私は、Pythonで10を得るが、私は9.506を取得します。
import numpy as np
import pandas as pd
from scipy.stats import chi2_contingency
import scipy
# Some fake data.
n = 5 # Number of samples.
d = 3 # Dimensionality.
c = 2 # Number of categories.
data = np.random.randint(c, size=(n, d))
data = pd.DataFrame(data, columns=['CAT1', 'CAT2', 'CAT3'])
# Contingency table.
contingency = pd.crosstab(data['CAT1'], data['CAT2'])
contingency.iloc[0][0]=80
contingency.iloc[0][1]=120
contingency.iloc[1][0]=420
contingency.iloc[1][1]=380
# Chi-square test of independence.
chi, p, dof, expected = chi2_contingency(contingency)
機能は私に正しい期待値を与えること奇妙であるが、しかし、カイ二乗とp値はオフになっている: 私は、次のコードを使用します。私はここで間違って何をしていますか?
ありがとう
p.s.
パンダで初期のテーブルを作成するのはかなり難解ですが、私はパンダでこれらのネストしたテーブルを作成する方法についての専門家ではありません。ドキュメントから
を得るだろうクイックヘルプをありがとうございました。 6分で正確にマークされます! – valenzio