2014年3月19日水曜日

統計的に有意という意味がさっぱりわからないので調べてみた

表題の通り、統計的に有意とか言われても何言ってるのかさっぱりわからないので調べてみた。
いろいろ読んでいるうちにだんだんわかってきた感じ。

教えて!goo「統計でつかう「有意差」」
わかりやすい例が書かれている。例えば100回戦って45勝55敗だったときに実力差がある
(有意差がある)のか、ただの偶然なのか(有意差がない)のかを判定するのが有意水準
という概念。通常は5%に設定するらしい。

有意差があるかどうかの判定は、まず有意水準を決めて、
1.二人の間には実力差はない(勝数の差はただの偶然)ととりあえず決めて(帰無仮説の設定)
2.実力差がないとしたら45勝55敗になるのは何パーセントなのかを計算し、5%以下しか起こりえないなら1の仮説は間違い(帰無仮説の破棄)
という、背理法のやりかたで有意かどうかの判定を行っているようだ。

つまり、この判定方法には間違いが起きうるということだ。例えば45勝55敗という結果が5%しか
起こりえなかったら、統計的には有意差がある(実力差がある)と判定されることになるが、
実は5%の確率で二人の実力差はないという可能性もあるということになる(第1種の過誤)。

ヤフー知恵袋「統計的に有意であるとはなんですか? その手の本は読みましたが、いまいち理解不能...」
95%有意と99%有意の違いについての回答がわかりやすい。上記の例で例えると、45勝55敗に
実力差がないのに偶然なる確率が3%だったとしよう。すると有意水準5%で判定すると実力差が
ある(統計的に有意)と判断されるが、有意水準1%で判定すると実力差はないと判断される
ことになる。これが95%有意と99%有意に対応している。

weblio「有意水準 level of significance; significance level」
有意水準に関する用語がいろいろ記載されている。
有意水準、危険率はα、帰無仮説はH0、対立仮説はH1と表記されるようだ。

新刊「統計の基本Q&A」立ち読み「Q1 「統計学的に有意」とは何を意味しているのですか?」
専門家が統計的に有意について解説している記事。これもわかりやすいと思う。

私のための統計処理基本解説
上記よりももうちょっと突っ込んで調べたいならこれを読むと良い。もろもろの概念がまとまって
記載されている。


ところで実際問題、実力が同じ場合に45勝55敗という結果はどれくらいの確率で起こるもの
なのだろう?これはコインの表裏が出る回数の問題と同じで全パターンを数え上げて行けば
よさそうだ。試しに4回試合をした場合のケースを数え上げてみよう。

××××
○×××
×○××
○○××
××○×
○×○×
×○○×
○○○×
×××○
○××○
×○×○
○○×○
××○○
○×○○
×○○○
○○○○
の全16通りになる。実力が同じならこのパターンに関しては同じ確率で発生することになるので、
何勝何敗がどの頻度で起こるかは、このパターンを分類することで出るはずだ。
0勝4敗:1通り
1勝3敗:4通り
2勝2敗:6通り
3勝1敗:4通り
4勝0敗:1通り

ということで実力が同じ場合、2勝以上は68%の確率で起き、3勝以上は31%、4勝は6.2%で
起きることになるので、4回試合をしただけだと有意水準1%や5%で実力差があることの判定は
できないことになる。

ところでこれは組み合わせの式を使って計算ができるようだ。上記の例だと、
4C0=1
4C1=4/1=4
4C2=(4*3)/(2*1)=6
4C3=(4*3*2)/(3*2*1)=4
4C4=(4*3*2*1)/(4*3*2*1)=1
となる。また、全パターンの総数は勝ち負けの2通り×試合数なので、2*2*2*2=2^4=16となる。
これがあれば一般化できそうな感じ。

100戦した場合、試合数は2^100=1267650600228229401496703205376
勝数ごとの組み合わせの数は、
0勝100敗=100C0=1
1勝99敗=100C1=100/1=100
2勝98敗=100C2=(100*99)/(2*1)=4455
3勝97敗=100C3=(100*99*98)/(3*2*1)=161700
4勝96敗=100C4=(100*99*98*97)/(4*3*2*1)=3921225
5勝95敗=100C5=(100*99*98*97*96)/(5*4*3*2*1)=75287520
6勝94敗=100C6=(100*99*98*97*96*95)/(6*5*4*3*2*1)=1192052400
7勝93敗=100C7=(100*99*98*97*96*95*94)/(7*6*5*4*3*2*1)=16007560800
8勝92敗=100C8=(100*99*98*97*96*95*94*93)/(8*7*6*5*4*3*2*1)=186087894300
9勝91敗=100C9=(100*99*98*97*96*95*94*93*92)/(9*8*7*6*5*4*3*2*1)=1902231808400
10勝90敗=100C10=
(100*99*98*97*96*95*94*93*92*91)/(10*9*8*7*6*5*4*3*2*1)=17310309456440
...
辛くなってきた・・。ここまでの和は19415908147341。
100c11+...+100c20=141629804643600+1050421051106700+7110542499799200+44186942677323600+253338471349988640+1345860629046814650+6650134872937201800+30664510802988208300+132341572939212267400+535983370403809682970=707291277655377036860
100c21+...+100c30=2041841411062132125600+7332066885177656269200+24865270306254660391200+79776075565900368755100+242519269720337121015504+699574816500972464467800+1917353200780443050763600+4998813702034726525205100+12410847811948286545336800+29372339821610944823963760=7972276243204873978994345
100c31+...+100c40=66324638306863423796047200+143012501349174257560226775+294692427022540894366527900+580717429720889409486981450+1095067153187962886461165020+1977204582144932989443770175+3420029547493938143902737600+5670048986634686922786117600+9013924030034630492634340800+13746234145802811501267369720=36007255441698430921705284240
100c41+...+100c45=20116440213369968050635175200+28258808871162574166368460400+38116532895986727945334202400+49378235797073715747364762200+61448471214136179596720592960=197318488991729165506423193160

ということで、
100c0+...+100c45=233333717416962098373392655946
なので、45勝以下に偶然なる確率は、0.184..、つまり約18%という結果になった。
有意水準5%で仮説検定を行うと偶然の域を出ないという結論になった。
ちなみに実力差なしで偶然、
40勝以下になる確率は2.841%、
41勝以下になる確率は4.428%、
42勝以下になる確率は6.657%、
43勝以下になる確率は9.664%、
44勝以下になる確率は13.56%、
45勝以下になる確率は18.41%、
46勝以下になる確率は24.2%、
47勝以下になる確率は30.86%、
48勝以下になる確率は38.21%、
49勝以下になる確率は46.02%、
50勝以下になる確率は53.98%
になるので、有意水準5%で判断する場合は、41勝以下だったときに相手との
実力差があるということになる。

しかし・・桁が多すぎてやたら苦戦するはめになってしまった。100戦して40勝する確率と
10戦して4勝する確率が違うので、話を単純化することができず、完全にはまってしまった。
ちなみに桁の多い計算をするはめになった場合はこのサイトを使うとよいです。
http://www.wolframalpha.com/