sonoshouのまじめなブログ

情報系大学生からのウェブ見習い人生の記録

検定のお話 A君 VS B君

後輩の卒業論文を見ていて、検定の大事さを思い出した。
ちょうど1年前検定について学んでいたのだが、
すっかり忘れてきたので、少し復習しようと思い立った。

今回は復習した中で、自分が興味深かった話を紹介する。

A君とB君、どちらが強い?

A君とB君は共にライバル同士。
ある日、A君とB君はゲームの3本勝負をすることにした。
結果は、A君の2勝1敗、B君の1勝2敗だった。
以下はその時のA君とB君の会話である。

A君「へっへー、俺の方が強いだろー!」
B君「くそー、あとちょっとだったな……。でもなぁ……。」
A君「どうしたー?何か言い訳あるのかー?」
B君「まぁ、今回はたまたまだ。100本勝負したら俺の方が勝ってたなー。」
A君「何がたまたまだよ。」
B君「だって、3本勝負は少なすぎて実力差が出る前に終わっちまうもん。」
A君「お前そういう言い訳ばっかりじゃん。」
B君「いやいや。100本勝負で例えば、10回ぐらいしか勝てなかったら俺も素直に負けを認めるよ?
   でも、今回は2勝1敗じゃん。たまたま勝っただけなのに、そんな嬉しいのか?」
A君「はー!?お前負けたからって変な言い訳するなよ!じゃあどういう結果だったら満足すんだよ!」
B君「それは知らねーけど、何かたまたま勝っただけのお前が偉そうなのがムカつくんだよ!」
A君「キーッ!!かかってこいよ、オラァァァ!!!」
B君「うおおおお!!!!」

有意差とは

統計ではデータに差があることを有意差があると呼ぶ。
今回の場合は、A君とB君の実力に有意差があるかどうかを検定し、
A君とB君の間に統計的な有意差がある時だけ、実力差があると言って良い。

論文では、この検定を行うことが重要である。
複数のデータを取った時、
「平均が○○異なるので、こちらの方が優れている。」
なんて無根拠な主張は許されないのだ。
検定を行わないと教授に指摘される。

A君とB君はどちらが強いのか。

A君とB君に必要なのは、統計の知識である。
よくありそうな問題なのに、必要な数学の知識は大学数学というなんともまぁ滑稽である。

このような、2項分布の問題に対する検定と信頼区間を求めるには、
Rbinom.test()関数を使えば良い。

B君はA君が勝ったのは実力差ではなく、たまたまであると主張していたので、 A君とB君の勝つ確率は0.5であると仮定して検定してみましょう。

binom.test(c(1,2))

        Exact binomial test

data:  c(1, 2) 
number of successes = 1, number of trials = 3, p-value = 1
alternative hypothesis: true probability of success is not equal to 0.5 
95 percent confidence interval:
 0.008403759 0.905700676 
sample estimates:
probability of success 
             0.3333333 

p値は1。 p値とは、帰無仮説の下で実際にデータから計算された統計量よりも極端な統計量が観測される確率である。Wikipedia:有意

95%信頼区間は0.008403759~0.905700676 つまり、95%の確率で0.008403759~0.905700676が勝つ(もしくは負ける)確率であるという 意味である。
信頼区間が幅広いですね。
B君はA君が勝ったのはたまたまだと言っていましたが、
統計的にもたまたまであることが証明されました。

じゃあどうすればいいのか?

A 君「へっへー、俺の5連勝だぜ!」
B'君「くそー……。次こそは勝つぞー!」
A 君「いやいや、俺の5勝0敗だぜ?いい加減諦めろよ。」
B'君「ちょっと待って。検定するから。
   僕達の勝つ確率は0.5と仮定しよう。信頼区間は95%で異論はない?」
A 君「……。」

binom.test(c(0,5))

        Exact binomial test

data:  c(0, 5) 
number of successes = 0, number of trials = 5, p-value = 0.0625
alternative hypothesis: true probability of success is not equal to 0.5 
95 percent confidence interval:
 0.0000000 0.5218238 
sample estimates:
probability of success 
                     0 

B'君「あ、p値は0.0625ですね。有意水準0.05よりも大きいのでまだ実力差があるとは言えません。」
A 君「あ……、そう……。」

~次のゲーム&終了~

A 君「よ、よし。勝ったぞ……。」
B'君「ふむ、ちょっと待って下さい。」

> binom.test(c(0,6))

        Exact binomial test

data:  c(0, 6) 
number of successes = 0, number of trials = 6, p-value = 0.03125
alternative hypothesis: true probability of success is not equal to 0.5 
95 percent confidence interval:
 0.0000000 0.4592581 
sample estimates:
probability of success 
                     0 

B'君「p値は0.03125。有意水準0.05よりも小さいので実力差があると言えますね。」
A 君「……。」
B'君「どうしました?あなたの勝ちは統計的に証明されましたよ?」

A 君「しゃらくせえええ!!!!!」