仮説検定の誤解と様相論理
統計学の仮説検定は理屈が少し込み入っていて誤解されやすい。あのわかりにくさはどこから来るんだろうと考えていたが、様相論理による説明を思いついた。すると腑に落ちるところがあったので、記事にまとめておく。
まずは仮説検定について簡単に説明しておきたい。たとえばここにコインがあって、100回投げたら60回表が出たとする。試行結果によるとこのコインは通常よりも表が出やすい気がする。もしかするとコインに何か細工がしてあって表が出る確率が 1/2 より大きいかもしれない。しかし通常のコインでも偶然こういうことが起きる可能性もある。このコインの表が出る確率は実際、 1/2 よりも大きいと言えるだろうか。
仮説検定
今調べたいのは、コインを投げて表が出る確率が 1/2 より大きいかどうかを、100回中60回表が出たというデータをもとに統計的に判断することだ。念のため、コイン投げは水平で平らなテーブル上で行われ、コインは高いところから回転させながら投げたとする。得られたデータは十分にランダムだと仮定して良い。
仮説検定の出番である。仮説検定では、検証したい仮説に対してそれとは反対の主張をする帰無仮説を立てて、それを棄却するという手続きをとる。今検証したい仮説は「コインの表が出る確率は 1/2 よりも大きい」である。帰無仮説は反対に「コインの表が出る確率は 1/2 以下である」となる。もし得られたデータから帰無仮説が間違っていると判断できれば、それは棄却でき、元の仮説が正しいとみなせる。
ではどうやって帰無仮説を棄却するのかというと、帰無仮説が正しいと仮定したときに、得られたデータが確率的に起きそうなものかどうかを検討する。もし得られたデータが確率的にめったに起きないものであれば、帰無仮説は棄却される。
今考えているのは100回中60回表が出たケースだが、たとえばもっと極端なデータを考えるとわかりやすい。100回中100回表が出たとしよう。表が出る確率 1/2 のコインではそれが起きる確率は 1/2 の100乗、計算すると小数点以下に 0 が 30 個もつくような極めて小さな確率になる。帰無仮説が正しいとすると偶然では起こり得ないようなデータが得られたことになる。コイン投げで滅多に起きない結果を引き当てたと考えるよりも、帰無仮説が間違っていると考えるほうが自然だろう。このようにして帰無仮説は棄却される。これが検定の基本的な考え方だ。
帰無仮説についてもう少し正確に言うなら、検討中の統計モデルについて、他のすべての仮定が正しいとき、統計モデルとデータが矛盾する程度が大きいならば帰無仮説は棄却される。抽象度を上げて言えば、現実を説明するための理論と実際のデータが矛盾するなら、理論の少なくとも一部が間違っていると判断できるということだ。仮説検定に関しては統計モデルが現実を説明するための理論に当たる。そして統計モデルには「コインの表が出る確率が 1/2 以下である」のような帰無仮説だけでなく、データが無作為に抽出されているという仮定も含まれる。
統計モデルとデータが矛盾する程度が大きければ帰無仮説が棄却されると書いたが、ではどのような線引きをすればいいだろうか。どのようなデータが与えられたら、確率的に起こりそうもないことが起きたと言えるのだろうか。これを判定するのがP値と有意水準である。
言葉の定義の前に先の検定の結果を述べると、100回中60回表が出たときのP値は 0.0228 と計算できる。これは帰無仮説が正しいとしたときコイン投げで100回中60回以上表が出る確率として計算される。計算過程では、コインの表が出る回数は二項分布に従うが試行回数が大きければ正規分布に近似できるという事実を用いた。この結果によると有意水準 5% (0.05) としたときに、P値がそれを下回っているため帰無仮説は棄却される。すなわち表が出る確率は 1/2 よりも大きいと判断できる。
P値とは、帰無仮説が正しいと仮定したとき、得られたデータかそれよりも極端な値を取る確率である。これは統計モデルとデータが矛盾している程度を表す指標で、P値が大きければ矛盾の程度は小さく、逆にP値が小さければ矛盾の程度は大きい。P値がある値以下なら矛盾の程度が大きいと判断して帰無仮説を棄却したいが、その閾値となるのが有意水準である。上では有意水準 5 %としたが、これは実験ごとに人間が決めるもので、どんな実験でもこの値にすべしといった客観的な基準があるわけではない点に留意されたい。
帰無仮説が棄却されないとき
今回は無事に帰無仮説が棄却されたからいいが、もし得られたデータがもっと微妙で帰無仮説が棄却されなかったとしたらどうなるだろうか。
たとえば100回中55回表が出たとする。このときP値、すなわち帰無仮説のもとで100回中55回以上表が出る確率は 0.1587 となる。この値は有意水準5%を上回るため棄却されない。この結果をどう捉えることができるだろうか。
よくある誤解はこの結果により「帰無仮説は正しい」と判断してしまうことである。これは誤りである。帰無仮説が棄却されないというのは、いわば嫌疑不十分で不起訴になっただけであって、帰無仮説が間違っていると認定すべき証拠が不十分な状態である。言い換えれば、モデルとデータが矛盾する程度が小さいため、モデルが間違っているとは断定できないということである。
帰無仮説が棄却できないことは帰無仮説が正しいことを意味しない。もっとデータを集めたり別の方法で検討したらやはりコインの表の出る確率は 1/2 よりも大きいとわかるかもしれない。ただ現状で得られたデータは、帰無仮説と矛盾するほど極端なものではないというだけなのだ。
仮説検定の誤解されやすい点だと言われている。
様相論理で理解する
やっと本題に入る。仮説検定の誤解されやすさは次の二つの主張を混同することにあると思う。
- 「仮説Xが正しくないとは判断できない」
- 「仮説Xが正しいと判断できる」
前者は二重否定であり、命題論理のように安易に二重否定を除去してしまうと、前者から後者が導けると錯覚する。実際、命題論理では二重否定を除去できる。次の論理式は恒真式である。
ところが、上記の主張は手持ちのデータから仮説Xが正しいと判断できるかどうかを問題にしており、この種の主張を命題論理で表現することはできない。前者は手持ちのデータからは仮説Xが間違っているとは判断できない、すなわちデータと仮説Xは矛盾しないということを意味しており、これは後者と別の意味である。
この区別は様相論理(より狭くは認識論理)で明確になる。様相論理を最速で導入する。
簡単に言えば、様相論理は命題論理に特別な記号 を追加したものである。 は、「手持ちのデータから は正しいと判断できる」と読むことにする。なお認識論理では「 を知っている」と読む。いくつか論理式の例を挙げる。
- ... 「 は真である」
- ... 「手持ちのデータから は正しいと判断できる」
- ... 「手持ちのデータから は正しくないと判断できる」
- ... 「手持ちのデータから は正しいと判断できない」
- ... 「手持ちのデータから は正しくないと判断できない」
上記の論理式はどの二つを取っても同値ではない。たとえば以下の論理式は恒真ではない。
直感的にはそうだろう。合理的な世界では、ある仮説が正しいと判断できるならばその仮説は真であると言えるだろう( )が、仮説が真であるからといってそれを手持ちのデータから正しいと判断できる()とは限らない。このように様相論理では と を別の意味を持つ主張として記述できる。
恒真な論理式の例は、先の論理式の左から右に向かうものである。
このことから論理式の先頭にある はいつでも除去してよい。次の論理式は恒真である。
ただし、 は除去できない。次の論理式は恒真ではない。
では、仮説検定で誤解されやすい主張はどのように書けるだろうか。
- ... 「手持ちのデータから が正しくないとは判断できない」
- ... 「手持ちのデータから が正しいと判断できる」
であるから、前者から後者が導けるとする主張は、次の論理式で表せる。
そしてこれは恒真ではない。このような形の二重否定は除去できないのである。いまだ様相論理の意味論も証明体系も導入していないので、この論理式が恒真でないことの証明は書けないが、様相論理では をいつでも除去できるとは限らないという点を受け入れてもらえば、少しは納得してもらえると思う。
実際、クリプキの意味論によれば上記論理式は「手持ちのデータと矛盾しないある可能世界で が真ならば、手持ちのデータと矛盾しない任意の可能世界で が真である」と主張しており、これは明らかに反例を作れる。
参照 - 統計的有意性とP値に関するASA声明(日本計量生物学会による翻訳) - 仮説検定とP値の誤解 - コンピュータサイエンスにおける様相論理(鹿島亮)