仮説検定はなぜ遠回りするのか

| 3 min read
Author: shuichi-takatsu shuichi-takatsuの画像

今回は統計解析の原点に立ち戻って「仮説検定」について私が理解した範囲でご説明したいと思います。

Contents

仮説検定とは

#

統計解析の勉強を始めて一番最初に引っかかる概念に「仮説検定」があります。
私は最初に仮説検定の話を聞いたときに「なんて回りくどい解法なんだろう」と思いました。
仮説検定とは、簡単にいうと「ある仮説を立てて、その仮説が正しいか正しくないかを統計学を用いて検証する」手法です。
仮説検定には「帰無仮説」「対立仮説」というものが出てきます。
帰無仮説とは「”無”に帰す」仮説なので「ある事象が無い」と仮定する仮説です。
それに対立する仮説は「対立仮説」と言われ、本来はこの対立仮説の方を証明したい訳です。

仮説検定では「採択したい仮説(対立仮説)」と”対立する”(相容れない)仮説として「帰無仮説」を仮定して、その帰無仮説が”棄却”つまりは却下されることで、相対的に”対立仮説”が成り立ったと考える検定手法です。

帰無仮説を棄却する方法としては、統計的手法を用いて”(帰無仮説のもとでは)確率的に(ほぼ)ありえない現象を観測した”として帰無仮説を否定することになります。

つまり証明したい方の仮説を「対立仮説」、そうではない方を仮説を「帰無仮説」とします。逆には置きません。

帰無仮説を棄却する棄却域として5%とか1%とかいう確率がよく用いられますが、
5%は「20回試行して1回出る」
1%は「100回試行して1回出る」
という程度の確率なので、体感的には”それほど珍しい確率なのか”とも思ってしまいますが、100人中の5人以内や、100人中のトップであると考えると、確かにそれほど頻繁に起きる現象ではないと考えられます。

また、帰無仮説が棄却できなかったからと言って「帰無仮説」が立証されたというわけではなく、帰無仮説も対立仮説も同様に立証できないという解釈になります。
本来の目的(対立仮説が正しい)を達成するために、対立する帰無仮説を棄却するという手法が「仮説検定」なので、帰無仮説が正しいと証明する検定ではないのです。

なぜ帰無仮説を棄却するのか

#

なぜこんな回りくどいことをするのか不思議に思うかもしれません。
(私は非常に不思議でした)

仮説検定を行う1つ目の理由は、立てた仮説の正しさを証明するのはとても難しい場合があることだと思います。
そこで確率が計算できる方の説を正しいと仮定し、計算できる方の仮説を統計的に否定することで、それに対立する方の仮説を立証する方法が考え出されました。
ここで重要なことは”否定される方は確率が計算できる”ってところです。

もともと帰無仮説は「棄却するために立てている仮説」なのです。
それに対して対立仮説は帰無仮説と対立する仮説であり、対立仮説は確率が計算できなくてもかまいません。

よく例として使われる問題に「コインの表裏が出る確率」があります。
コインを5回投げて、5回すべて表が出た場合、このコインは正しく作られた(つまり不正が行われていない)コインであるかどうかです。

もし、コインが正しいコインなら、コインの裏または表が出る確率は2分の1になります。
正しく作られたコインならコインの裏または表が出る確率は2分の1
とするのが「帰無仮説」になります。
逆に、
不正に操作されたコインの裏または表が出る確率は2分の1では無い
とするのが「対立仮説」になります。
(今回はコインを疑っているので、対立仮説を支持したい)
しかし確率を計算するには”一旦は帰無仮説が正しい”と仮定しないと確率の計算ができません。
ゆえに「帰無仮説が正しい」として確率を計算し、実際の値が確率的に”ありえない”値となった時に「実は帰無仮説が間違っていたんだ」として「対立仮説を採択する」という流れになります。

もう一つの理由は間違った結論を導きにくくする機能があるからだと理解しました。
誤りには

あわて者の誤り=「第一種の誤り(偽陽性)」
ぼんやり者の誤り=「第二種の誤り(偽陰性)」

があります。

「あわて者の誤り」と「ぼんやり者の誤り」を考えた場合に、重要な誤りを第1種の誤り(あわて者の誤り)となるように設定し、有意基準(安全弁)をかなりきつく設定すれば、簡単に対立仮説を採択できないようにできるからだと考えています。

自分としては、

本来は無いのに、有ると間違える
本来は有るのに、無いと間違える

のどっちが重要な誤りかと問われると、ケースバイケースになると思います。

例えばソフトウェア開発で考えてみましょう。
ソフトウェア開発現場で新しいテスト手法を導入した後で効果があったかどうかを確認したいと仮定します。
その場合の帰無仮説、対立仮説は

帰無仮説 = 新テスト手法は効果なし
対立仮説 = 新テスト手法は効果あり

です。
あわて者の誤り、ぼんやり者の誤りを帰無仮説を棄却する・棄却しないの表で表すと以下のようになります。

帰無仮説が正しい 対立仮説が正しい
帰無仮説を棄却 あわて者の誤り 正しい
帰無仮説を棄却しない 正しい ぼんやり者の誤り

あわて者の誤りでは「効果がなかったのに効果があった」として新しい手法を採用してしまうことになります。

逆にぼんやり者の誤りでは「効果があったのに効果がなかった」として古い手法を続けて採用してしまいます。

あわて者の誤りの場合は、手法を変更してしまっているので、思わぬ副作用があるかもしれません。
ソフトウェア開発のケースだとあまりピンと来ないかもしれませんが、もしこれが新しく治験された新薬とかだったりしたら、取り返しのつかないことになる可能性もあります。

ぼんやり者の誤りの場合は、手法の変更をしていないので現状は維持されます。薬の例でもこれまで通りの処方なので問題は起きないでしょう(効果も期待できませんが)

要は簡単に”対立仮説”を選択しないという安全弁を設定でき、危険回避という意味ではこの方がベターだとする考え方だと理解しています。

まとめ

#

今回は統計解析で必ず出てくる「仮説検定」についておさらいしてみました。
最初はとっつきにくい印象があるかと思いますが、最終的には”慣れ”だと思っています。

統計解析ツール紹介やその活用方法をまとめています。

データ分析に活用して頂ければ幸いです。

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)
  2. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  3. GitHub Codespaces を使いはじめる (2022-05-18)
  4. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  5. ORマッパーのTypeORMをTypeScriptで使う (2022-07-27)
  6. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  7. Nuxt3入門(第3回) - ユニバーサルフェッチでデータを取得する (2022-10-06)
  8. 第1回 OpenAPI Generator を使ったコード生成 (2022-06-04)
  9. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  10. Nuxt3入門(第2回) - 簡単なNuxtアプリケーションを作成する (2022-10-02)