scipy.stats.
chi2_contingency
(observed,correction=True,lambda_=None)cont
分割表内の変数の独立性のカイ二乗検定。
この関数は、観測されたcontingencyテーブル内の観測された周波数の独立性のhypothesis検定のカイ二乗統計量とp値を計算します。 期待される頻度は、独立性の仮定の下での限界和に基づいて計算されます。scipy.stats.contingency.expected_freq
を参照してください。 度offreedomの数は(numpy関数と属性を使用して表現されます):
dof = observed.size - sum(observed.shape) + observed.ndim - 1
パラメータobservedarray_like
分割テーブル。 この表には、各カテゴリで観測された頻度(つまり発生回数)が含まれています。 二次元のケースでは、テーブルはしばしば”R x Cテーブル”として記述されます。
correctionbool,optional
trueの場合、自由度が1の場合、Yatesのcorrectionfor continuityを適用します。 補正の効果は、それぞれを調整することです観測された値を対応する期待値に向かって0.5ずつ調整します。
lambda_floatまたはstr、オプション。
デフォルトでは、この検定で計算される統計量はピアソンの二乗統計量である。 lambda_を使用すると、代わりにressie-Read power divergenceファミリの統計を使用できます。 詳細はpower_divergence
を参照してください。
は、検定統計量chi2float
を返します。
pfloat
テストのp値
dofint
自由度
expectedndarray、観測されたものと同じ形状
テーブルの限界合計に基づいて、期待される周波数。
ノート
この計算の妥当性のための頻繁に引用されたガイドラインは、各セルの観測頻度と期待頻度が少なくとも5である場合にのみテストを使
これは、アポ形成の異なるカテゴリの独立性のためのテストです。 この検定は、observedの次元が2つ以上の場合にのみ意味があります。 この検定を1次元テーブルに適用すると、常にexpected equal to observedとなり、achi-square statisticは0になります。
この関数は、欠損値では計算が意味をなさないため、マスクされた配列を処理しません。
統計のように。この関数が提供する便利なのは、指定された分割表からexpectedfrequenciesと自由度を把握することです。これらが既に知られていて、イェーツの修正が必要でなかった場合は、統計を使用することができます。チスクァレ つまり、
chi2, p, dof, ex = chi2_contingency(obs, correction=False)
次のようになります。
(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)
lambda_引数はscipyのバージョン0.13.0で追加されました。1
“分割表”,https://en.wikipedia.org/wiki/Contingency_table
2
“ピアソンのカイ二乗検定”,https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test
3
Cressie,N.and Read,T.R.C.,”多項適合性”,J.Royal Stat. Soc. シリーズB、Vol. 46,No.3(1984),pp.440-464.P>
>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))
ピアソンのカイ二乗統計量の代わりに対数尤度比(すなわち”G検定”)を使用して検定を実行します。/p>
>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)
四方の例(2x2x2x2):