No.09441 玉をランダムに抜き取ったかどうかの検定  【大北】 2009/03/05(Thu) 10:16

当方,統計学の知識がかなり抜け落ちた生命科学研究者です。下記のような検定を行いたいと考えているのですが,方法,名称,参考資料などどのようなヒントでもいただければ幸いに存じます。どうぞよろしくお願いします。

1 から100までの番号のついた玉(合計100個)が袋の中に入っています。ここから玉を抜き取っては返すということを20回繰り返したところ,一度だけ抜 き取った玉が15個,二度抜き取った玉が4個,三度抜き取った玉が1個でした。このとき施行者が本当にランダムに玉を抜き取ったのかどうかを p<0.05で検定する。

No.09442 Re: 玉をランダムに抜き取ったかどうかの検定  【青木繁伸】 2009/03/05(Thu) 10:43

念のため,この少し下にある,No. 9440 の前半をご確認ください。
サイコロを4回振ったら,1の 目が2回,2,3の目はそれぞれ1回,4〜6は出なかった。このサイコロは正常なサイコロといえるか。という問題と同じと考えてよいのでしょうか?1〜 100の番号のついた玉 vs. 1〜6の印のついたサイコロの面。20回選んだ vs. 4回振った。それぞれの玉の番号による集計 vs. 出た目の集計。

No.09443 Re: 玉をランダムに抜き取ったかどうかの検定  【大北】 2009/03/05(Thu) 11:12

ご指摘ありがとうございました。ただ,未発表のデータをここに添付して質問するのも躊躇されたため,やむをえず「たとえ話」をさせていただきました。
おっしゃるサイコロの問題とほぼいっしょなのですが,specificに1の目,2の目,3の目という指定がない状況と考えられます。つまりサイコロを4回振って2回出た目がひとつ,1回出た目がふたつあったときに,このサイコロが正確かどうか,という検定になります。

No.09444 Re: 玉をランダムに抜き取ったかどうかの検定  【青木繁伸】 2009/03/05(Thu) 12:44

わざとサイコロを4回振ると言ったのは,出目の回数より少ない試行回数を意図していたのですが。つまり,100種類の可能性から20回選択したときの度数分布が一様分布かというのと同じかと言うことを質問したかったのです。
サイコロ
1の目 2の目 3の目 4の目 5の目 6の目 6種類あるのが分かっている
0   1 2 0 1 0
質問の場合
1番 2番 3番 4番 5番 6番 7番 … i番 … 100番   100種類あるのが分かっている
0 0 2 0 0 0 0 1 0

No.09445 Re: 玉をランダムに抜き取ったかどうかの検定  【ひの】 2009/03/05(Thu) 12:48


 ランダムだとすれば二項分布になりますから,それとの適合性を検定すれば良いでしょう。20回では有意差は出にくいでしょうね。

No.09446 Re: 玉をランダムに抜き取ったかどうかの検定  【青木繁伸】 2009/03/05(Thu) 13:00

二項分布ではなく多項分布ではないでしょうか?
まだ,問題の背景を確認中なのではありますが,サイコロの問題に限れば,分布の一様性の検定(一様分布との適合度検定)ということで,漸近検定としては一標本カイ二乗検定,その正確バージョンとしては多項検定。

なお,

> specificに1の目,2の目,3の目という指定がない状況

というのは,サイコロと特に異なるものではありません。カテゴリー名・順序は便宜的なもので,サイコロの面に,鼠,牛,虎,兎,龍,蛇が書かれていても同じでしょう。

No.09447 Re: 玉をランダムに抜き取ったかどうかの検定  【青木繁伸】 2009/03/05(Thu) 13:29

今更ですが,

> 玉を抜き取っては返すということを20回繰り返した

取り出された玉は20個ですよね。ところが,

> 一度だけ抜き取った玉が15個,二度抜き取った玉が4個,三度抜き取った玉が1個でした

って,抜き取った玉は何個? 1*15+2*4+3*1 = 26個?
「一度だけ抜き取られた玉が15種,二度抜き取られた玉が4種,三度抜き取られた玉が1種でした」ならそういうことですよね。
でも,質問文はそういうことではない??単なる書き間違い?

No.09448 Re: 玉をランダムに抜き取ったかどうかの検定  【青木繁伸】 2009/03/05(Thu) 13:36

回答待ちの状態ではあるものの,サイコロと同じ問題であるとすれば,
> x <- c(rep(1,15), 2,2,2,2,3,rep(0, 80))
> chisq.test(x)

Chi-squared test for given probabilities

data: x
X-squared = 127.8462, df = 99, p-value = 0.02709

Warning message:
In chisq.test(x) : カイ自乗近似は不正確かもしれません
出なかった目を無視してよいなら(無視してよいものかどうかはわかりません)
> y <- c(rep(1,15), 2,2,2,2,3)
> chisq.test(y)

Chi-squared test for given probabilities

data: y
X-squared = 4.7692, df = 19, p-value = 0.9996

Warning message:
In chisq.test(y) : カイ自乗近似は不正確かもしれません
正確検定は,膨大な時間がかかりそうなので,パス。

No.09449 Re: 玉をランダムに抜き取ったかどうかの検定  【大北】 2009/03/05(Thu) 13:44

>100種類の可能性から20回選択したときの度数分布が一様分布かというのと同じか,

その通りです。統計学に無知なため,わかりにくい質問をしてしまい申し訳ありません。さらに,何ともお恥ずかしい質問設定ミスをしてしまいました。「20回繰り返した」を「26回繰り返した」と読み替えると私が意図した質問になります。
ご丁寧にご回答いただきましてありがとうございました。いただいたお答えを十分に理解すべく今後勉強してまいります。

No.09450 Re: 玉をランダムに抜き取ったかどうかの検定  【ひの】 2009/03/05(Thu) 14:05


 個々の玉にとっては,確率1/100の試行を20回繰り返したとき何回生じると期待できるかは二項分布になります。これに玉の個数をかければ,n回選ばれる個数の期待値の分布(ランダムに選ばれると仮定したときの理論分布)が得られます。

 適合度の検定はカイ二乗検定よりもコルモゴロフスミルノフ検定の方が適していると思います。

No.09451 Re: 玉をランダムに抜き取ったかどうかの検定  【青木繁伸】 2009/03/05(Thu) 16:02

試行は20回ではなく26回と訂正されたので,それにそって。

ある一つの玉に注目したときは,選 択確率 1/100 の試行を26回繰り返すと確かに二項分布になります。選択されるのは,0回すなわち選択されないのは20.021試行において,1回選択されるのは 5.258試行において,2回選択されるのは0.664試行において,などとなります。これが,他の99個の玉についても同じことが起きるのです。
       x   回数
[1,] 0 20.021
[2,] 1 5.258
[3,] 2 0.664
[4,] 3 0.054
[5,] 4 0.003
[6,] 5 0.000
:
[26,] 25 0.000
[27,] 26 0.000
度数1の玉が15個,度数2の玉が4個,度数3の玉が1個,度数0の玉は80個,この順で玉の度数を x1〜x100 とする(添え字1〜100は玉の仮の識別番号)。全ての玉は1/100の確率で選ばれる。p1〜p100=1/100。n=Σxi
1〜100の玉が選ばれる度数は多項分布に従う。
http://aoki2.si.gunma-u.ac.jp/lecture/Bunpu/takou.html
f(xi; pi=1/100) = n!/x1!/x2!/.../x100! * p1^x1 * p2^x2 * ... * p100^x100
x1〜x15=1, x16〜x19=2, x20=3, x21〜x100=0 である確率は,
26!/2!/2!/2!/2!/3! * (1/100)^15 * ((1/100)^2)^4 * (1/100)^3 = 4.200953e-28
となる,等だと思います。

また,事象に順序がついていない場合には,累積度数を取る段階で困るので,コルモゴロフ・スミルノフ検定は不適切かと思います。

No.09453 Re: 玉をランダムに抜き取ったかどうかの検定  【ひの】 2009/03/05(Thu) 16:53


>また,事象に順序がついていない場合には,累積度数を取る段階で困るので,コルモゴロフ・スミルノフ検定は不適切かと思います。

 単に理論分布と観測された度数分布の比較ですから選ばれた回数の少ないほうから順(0〜26)に累積度数をとればよいでしょう。

No.09454 Re: 玉をランダムに抜き取ったかどうかの検定  【青木繁伸】 2009/03/05(Thu) 17:06

> 選ばれた回数の少ないほうから順(0〜26)に累積度数をとればよいでしょう

そうも行かないのではないかと思うんです。
http://aoki2.si.gunma-u.ac.jp/lecture/GoodnessOfFitness/ordinalscale.html
に従って組んだプログラムで検定する例
R プログラムは,http://aoki2.si.gunma-u.ac.jp/R/ks1.html のもの
> x
[1] 10 13 8 6 7 13 16 7 # 注:このデータは観察値ではなく,度数です。
> ks1(x)
$x
[1] 10 13 8 6 7 13 16 7

$p
[1] 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125

$n
[1] 80

$D
[1] 0.075

$P
[1] 0.7745402

> y
[1] 16 13 13 7 7 8 6 10 # 適当に並べ替えると,
> ks1(y)
$x
[1] 16 13 13 7 7 8 6 10

$p
[1] 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125

$n
[1] 80

$D
[1] 0.15

$P
[1] 0.04902089 # 違う答えが出てくる(ことがある)

No.09456 Re: 玉をランダムに抜き取ったかどうかの検定  【ひの】 2009/03/05(Thu) 22:39


比較する対象が二項分布なのだから回数の順位並べるのが当たり前で,適当に並べ替えるほうがおかしいのです。確かに離散分布関数ではありますがだからといって離散値をでたらめにならべてよいはずがありません。

No.09458 Re: 玉をランダムに抜き取ったかどうかの検定  【青木繁伸】 2009/03/05(Thu) 23:13

> 比較する対象が二項分布なのだから回数の順位並べるのが当たり前で,適当に並べ替えるほうがおかしいのです。

いや,そういうことではありません。
No. 9444 に書きましたが,元の質問は,本質的にサイコロの出た目の分布がある分布に従うかどうかと言うのと同じ,適合度検定です(少なくとも,質問者はそうだと言 うことに同意しました)。そして,この分布は多項分布です(二項分布の拡張です)。多項分布の適合度検定は正確検定を定義できる(分割表のフィッシャーの 正確検定と同様)のですが,漸近検定としてカイ二乗分布を使う適合度検定があるということです。
1標本コルモゴロフ・スミルノフ検定は,本来は連 続変数についてのものです。例えばABO血液型の度数分布表には累積度数は付けられませんよね。サイコロの出た目の分布表にも累積度数は付けられません。 カテゴリーを何らかの規則で並べれば累積度数は計算できますけど。「離散分布関数ではありますがだからといって離散値をでたらめにならべてよいはずがあり ません」と書かれましたが,度数の小さい順に並べるのだという規則もないでしょう。

No.09461 Re: 玉をランダムに抜き取ったかどうかの検定  【ひの】 2009/03/06(Fri) 00:41


選ばれる確率が玉ごとに違うなら多項分布ですが,検討している仮説はランダムつまり選ばれる確率はどの玉も同じということですから,多項分布を適用する必要はありません。二項分布で十分です。

  そしてデータは度数分布の形で与えられている(グラフのイメージで言えば横軸が選ばれた回数,縦軸が玉の個数)。「選ばれた回数」は比例尺度であって名義 尺度ではありませんからカイ二乗検定は不適当(情報を十分に使っていない)で,分布の形を検定するコルモゴロフスミルノフ検定のほうが適当です。

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