1. ホーム
  2. matlab

[解決済み] matlabでchi2gof関数を理解する

2022-02-15 05:25:54

質問

matlabのchi2gof関数の使い方を、非常に簡単なテストを使って理解しようとしています。190回コインを投げて、表が94回、裏が96回出たとします。帰無仮説は「95h, 95t」であるべきです。ドキュメントを読む限り、この仮説を検証するために

[h,p,stats] = chi2gof([94,96], 'expected', [95,95])

しかし、これはh = 1を返し、帰無仮説が棄却されたことを意味すると思われるが、これは意味がない。もう一つ奇妙なのは O のパラメータは stats として返します。 O: [0 2] - が、これは私の入力であるべきではないか ( [94,96] )? 何が間違っているのでしょうか?

私は何を間違えているのでしょうか?

どうすればいいですか?

問題は、コイントスの累積結果を chi2gof . 適合度テストは全サンプルに対して行う必要があります。公式ドキュメントより(参考 こちら ):

  • x = 仮説検定のためのサンプルデータで,ベクトルとして指定される ( あなたのコードの間違った部分 )
  • Expected = 各ビンの期待カウント数 ( あなたのコードの正しい部分 )

正しい変数を使った例を作ってみましょう。

ct = randsample([0 1],190,true,[0.49 0.51]);
[h,p,stats] = chi2gof(ct,'Expected',[95 95]);

の返り値は h0 というのは、まったくもって正しい。

では、失敗することを前提にした例を作ってみましょう。

ct = randsample([0 1],190,true,[0.05 0.95]);
[h,p,stats] = chi2gof(ct,'Expected',[95 95]);

ご覧の通りです。 h この2つ目のテストから返されるのは、以下のものと同じです。 1 .

最後に、2つ目の出力引数である p-value のテストであり、結果の有意性を評価するための重要な要素である。