MATLABによるカイ二乗検定
- Chi-square goodness-of-fit test.
- chi2gof()関数を使用する。詳細は、ヘルプ参照。
主な引数
x : データ値のベクトル 多次元にする方法が不明。とりあえず、一次元で計算する。 N = (行の数 * 列の数) 'ctrs' : ビンの中央値ベクトル 'frequency': 観測値ベクトル 'expected' : 期待値ベクトル 'nparams' : (N-1-正しい自由度)を指定すること 正しい自由度は以下の式で求められる。 正しい自由度 = (行の数-1) * (列の数-1) nparamsを設定しないとき、デフォルトの自由度は(N-1)となる。 このギャップをnparamsで調整するとよい。 'alpha' : 有意水準。デフォルトの有意水準は 0.05である。
返り値
h : 0 帰無仮説は採択される → 差はない 1 帰無仮説は棄却される → 差はないとは言えない p : 生起確率 st : STATS構造体 chi2stat カイ二乗値 df 自由度 edges ビンの境界ベクトル O 観測値(ビンごとのカウント) E 期待値(ビンごとのカウント)
プログラム例
- chi2_test.m
- 参考URL
% --------------------------------------------------------------- % カイ二乗検定 % Chi-square goodness-of-fit test. % % Web独習教材「ハンバーガーショップで学ぶ楽しい統計学」より、 % カイ二乗検定の計算。 % http://kogolab.jp/elearn/hamburger/chap3/sec0.html % --------------------------------------------------------------- function chi2_test() x = [0 1 2 3]; f = [435 165 265 135]; e = [420 180 280 120]; [h,p,st] = chi2gof(x,'ctrs',x,'frequency',f,'expected',e,... 'nparams',2,'alpha',0.05) end
プログラム例−実行結果
>> chi2_test h = 1 p = 0.0346 st = chi2stat: 4.4643 df: 1 edges: [-0.5000 0.5000 1.5000 2.5000 3.5000] O: [435 165 265 135] E: [420 180 280 120]