★ フィッシャーの正確確率検定の上側確率 ★

8892. フィッシャーの正確確率検定の上側確率 雪 2005/12/27 (火) 15:08
└8894. Re: フィッシャーの正確確率検定の上側確率 青木繁伸 2005/12/27 (火) 16:36
 └8900. Re^2: フィッシャーの正確確率検定の上側確率 雪 2005/12/27 (火) 20:12


8892. フィッシャーの正確確率検定の上側確率 雪  2005/12/27 (火) 15:08
仕事上,統計が必要になることが多く,統計学自習ノートの解説とプログラムにはいつもお世話になっています。

フィッシャーの正確確率検定のページにあった,先生のExcelのVBAの関数について,質問があるのですがよろしくお願いします。

先生の関数fisher2の片側検定では,ある度数以下では下側確率,それ以上では上側確率が返ってきます。私は今回,常に上側確率だけが欲しいのですが,どのようにマクロを書き換えたら良いのでしょうか?

なぜそのようなことがしたいかを,http://aoki2.si.gunma-u.ac.jp/lecture/Cross/Fisher.html
にある「“甘いものが好きか嫌いか”と“虫歯の有無”の関連の有無」を例にとって説明しますと,”甘いものが好き”と”虫歯あり”が関連があるかどうかについてのp値だけが欲しいのです。(”甘いものが好き”と”虫歯なし”の関連がある可能性についてのp値はいらない)
だから,全ての度数において上記ページにある累積確率2の値だけを返してくれるような関数が欲しいのです。

     [このページのトップへ]


8894. Re: フィッシャーの正確確率検定の上側確率 青木繁伸  2005/12/27 (火) 16:36
最後の方の for 文以下を次のように変更します。
For i = mina To a
b = ab - i
c = ac - i
d = bd - b
adbc1 = i * d - b * c
p = Exp(x - q(i) - q(b) - q(c) - q(d))
f3 = f3 + p
Next i
fisher2 = "片側 P 値 = " + Format(f3, "0.00000")
ただ,ユーザがどの方向の生起確率の累積をほしがっているのかはプログラムは自動的に感知できませんので,2×2分割表を入力するあなたが注意してやってください。
プログラムは左上の桝目の数値が0から観察された値までの分割表の生起確率を計算するように変更しました。
つまり,
13 4
3 14 の分割表では0.99996
同じ分割表でも
4 13
14 3 の分割表では0.00078を返します
よくお確かめの上お使いください。

     [このページのトップへ]


8900. Re^2: フィッシャーの正確確率検定の上側確率 雪  2005/12/27 (火) 20:12
早速プログラムを書いて頂きありがとうございます。

反対に,左上の桝目の数値が観察された値から最大値までの分割表の生起確率を計算するには

For i = a To maxa

とすれば良いのですね。
おかげさまで解決しました。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 036 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る