ねこすたっと

ねこの気持ちと統計について悩む筆者の備忘録的ページ。

高校生のためのデータ分析入門 (10):サンプル同士を比較する

数学が苦手なうちのJKに、将来必要となるかもしれないデータ分析への抵抗感をなくしてもらう目的で記事を書くことにしました。

前回:高校生のためのデータ分析入門 (9):サンプルから推定する(後編) - ねこすたっと

関連を見るには比較が必要

「日照りが続いたから雨乞いをしたら、雨が降った!」なんてことを聞いて、雨乞いの効果を信じる人は現代にはいませんよね。雨乞いをしてなくても雨は降ったんです。 何かの効果や影響を示すためには、したときだけを見るのではなく、しなかったときと比べる必要があります。比較の基準となる「しなかった状態」のことを、対照(control)と呼びます。

  • 対照との差が0より大きい・小さい
  • 対照との比が1より大きい・小さい

を示して初めて、効果があったと言えるのです。

サンプルを通して母集団を比較する

例えば、「文豪は猫好きが多そうだから、猫好きの人は犬好きの人よりも国語が得意なんじゃない?」という疑問を解決したいとします。

世界中から猫好きと犬好きを集めて、国語のテストを受けてもらえば答えが出そうですが、現実的じゃないですね。そこで、自分のクラスの人を猫好きと犬好きに分けて、国語の点数を比べることにしました。

仮に下のような結果だったとしましょう。

  • 猫好き20人:平均80点
  • 犬好き20人:平均75点

確かにこのサンプルにおいては、猫好きの方が国語の点数が高い結果でした。でも、比較したいのはサンプル同士ではありません。これを見て、世界中の猫好きの方が国語が得意と言えるでしょうか?

まずは言いたいことを否定する

猫好きを贔屓することなく、統計学的観点から比べることにしましょう。統計的仮説検定(statistical hypothesis testing)という、背理法を使った手法を使います。流れは次のとおりです。

まず、証明したい仮説とそれを否定した仮説を立てます。

証明したい仮説:
「猫好きは犬好きよりも国語の点数が高い(猫派 ≧ 犬派)」

上を否定する仮説:
「猫好きは犬好きよりも国語の点数が低い(猫派 < 犬派)」

このあとデータを分析して、「データを見る限り、否定したい仮説が正しい可能性は非常に低い」ということができれば、否定した仮説を否定して、元の証明したい仮説が正しい、と主張できるという流れです。

否定する仮説(否定されることを期待している仮説」を帰無仮説(null hypothesis)と言います。無に帰ることを期待している仮説、という意味です。

これに対して、「元々の証明したい仮説」を対立仮説(alternative hypothesis)と言います。証明したいことなのに「対立」というのが変な感じですが、帰無仮説に対立しているからこう呼ばれます。

どうやって帰無仮説の正しさを測るの?

直接、帰無仮説が正しい確率を測定することはできませんが、仮説と手元のデータの矛盾の強さは測ることができます。

例えば、「猫好きは犬好きよりも国語の点数が低い」という仮説が正しいならば、20人ずつのサンプルの平均点は、次のようになるはずです。

  • 猫好き20人:平均70点
  • 犬好き20人:平均80点

母集団の差が僅差であれば、たまたま次のような結果になったとしても、そんなにおかしくはないですよね。

  • 猫好き20人:平均78点
  • 犬好き20人:平均76点

でも、

  • 猫好き20人:平均100点
  • 犬好き20人:平均50点

だったらどうですか? 「猫派 < 犬派」という仮定と、大きく矛盾した結果が得られてしまったと言えるでしょう。 矛盾の程度が大きい場合、データは事実なので、間違っているのは仮説の方です。そもそも「猫好きは犬好きよりも国語の点数が低い」という仮説に無理があった、と考えるのです。

統計的検定の流れをまとめます。

まず、帰無仮説が正しいという仮定のもとで、手元のデータ、あるいはそれよりも極端なデータが発生する確率(P値, P-value)を計算します。計算する方法は、データの種類や構造によって様々であり、〇〇検定と名前がついていますが、今は詳細は覚えなくてもいいです。

P値が前もって決めた基準(例えばP<0.05)よりも小さい場合、帰無仮説は正しくないと判断します(「帰無仮説を棄却する」と言います)。

P値が前もって決めた基準よりも大きい場合は、「帰無仮説は正しくないと判断する根拠に乏しい」として結論を保留します。P値が小さい場合と非対称的ですが、「証拠がないからといって、無実というわけではない」みたいなものです。

P値の大小の基準

P値の大小を判断する基準を、有意水準(significant level)と言います。絶対的な決まりはありませんが、医学界では慣習的に0.05(5%)が用いられることが多いです。

有意水準を小さく(帰無仮説が棄却されにくく)設定すれば、本当は差がないときに間違って差があると判断してしまう可能性は減りますが、本当に差があるのに見逃してしまう可能性は高くなります。ストライクゾーンを厳しく待ちすぎて、見逃し三振しちゃうみたいなものです。

反対に、有意水準を大きく設定すれば、本当は差がないのに間違って差があると判断しやすくなってしまいます。今度は多少ボール気味でも振りにいって空振り三振しちゃうみたいなものですね。 どちらにしろ判断間違いをゼロにはできないので、バランスをみて決めるしかないんです。

有意水準を決めるときは、大小関係の方向を気にするかどうかも考えておく必要があります。 つまり、(猫好きの点数)-(犬好きの点数)=15というデータが観察されたとき、これよりも極端な状況として、

  • 差が15点より大きくなる状況だけを考える
  • 差の絶対値が15より大きい状況も考える(つまり、さっきの差が<-15も含める)

の2つでは求めるP値が異なります。前者を片側検定(one-sided test, one-tailed test)、後者を両側検定(two-sided test, two-tailed test)と呼びます。

もちろん、両側検定の方がP値が大きくなります。 「猫好きの人の点数が犬好きの人の点数を下回ることなんか、科学的に考えて絶対ありえない!」というなら、片側検定でも良いですが、普通は両側検定を用います。

大事なこととして、両側か片側かも含めて、有意水準は事前に決めておかなくてはいけません。例えば、P=0.06という結果が得られたとき、「基準はP=0.1にしようと思ってたんだよね〜」はズルっこです!

おわりに