統計的検定における帰無仮説の立て方と有意水準の決め方

帰無仮説と対立仮説の立て方

帰無仮説とは「”ある仮説”が正しいかどうかの判断のために立てられる仮説」です。帰無仮説はたいてい間違っている=否定したい事象を設定し、対立仮説に自分が立証したい本命の説を持ってくることが一般的です。

よくある帰無仮説と対立仮説を設定するにあたっての考えかた・決め方としては、僕はまず対立仮説の方を決めます。そして、それとは逆の事象を帰無仮説にします。

統計的検定の中心は帰無仮説が棄却できるかどうかなわけですが、肝心の帰無仮説の立て方は、対立仮説と逆にするという消去法的な立て方になります。

自分が証明したい仮説→対立仮説

それとは逆の間違っていると思っている仮説→帰無仮説

まあこれだけだといまいちピンとこない方が多いと思うので、実際にコイントスの例で考えていきます。

コインでみる統計的仮説検定の分かりやすい例

それではこの帰無仮説と対立仮説の設定から検定までの流れをコイントスの例で分かりやすくみていきましょう。

例えば、今ここにコインがあるとします。あなたがこのコインを10回投げると8回「表」が出ました。普通に考えてコインは表裏それぞれ50%ずつの確率なので、あなたは違和感を感じます。

「もしかしたらこのコインは何か仕掛けがあるイカサマコインなんじゃないか?、」

あなたはそのように考えて検定を行おうと思います。そう考えた場合、まず帰無仮説は否定したい説を設定します。

この場合あなたはこのコインはイカサマだと思っているので、まず対立仮説に「コインは何か仕掛けがあるイカサマコイン」だという説を持ってきます。

そして、帰無仮説の方は対立仮説とは逆の事象を設定するので「コインにイカサマはなにもない」という説になります。つまり帰無仮説と対立仮説は以下のように決定されます。

帰無仮説:コインには何も仕掛けはない

対立仮説:コインは怪しい仕掛けがあるイカサマコイン

検定は帰無仮説を検証する

そして、帰無仮説と対立仮説を設定出来たら次は検定に移ります。検定の考え方は帰無仮説を棄却できるか棄却できないかです。

もし帰無仮説を棄却できれば、「帰無仮説は棄却できる→対立仮説が正しい」ということになり、反対に帰無仮説が棄却できない場合は、帰無仮説は棄却できない→帰無仮説が正しいということになります

有意水準とは?

そして帰無仮説と対立仮説、どちらが正しいのかを統計学の検定で決める際には、判断基準として「有意水準」というものを使用します。有意水準とは、「仮説を棄却するかしないかを決める基準」です。基本的には帰無仮説を棄却するかしないかのボーダーラインとして使われることが多いです。

有意水準は統計検定2級とかの計算問題ではよく「α」で表されます。基本的にこのα以下の確率を持つ現象は、「仮説が正しかった場合起こりえない現象である」 と判断します。その結果、その帰無仮説は棄却される→対立仮説が正しいことになります。

例えば、先ほどコイン投げの例でいくとコインを10回投げたとき9回表が出た 、という事象に対して統計的仮説検定を行うのであれば、上述したように帰無仮説は「コインには何も仕掛けはない」となります。そしてコインに何も仕掛けがない場合、10回コインを投げて8回表が出る確率は二項分布の公式に当てはめて計算すると

10C8×0.5⁸×(1-0.5)¹=0.087

となります。つまり、コインに何も仕掛けがなかった場合10回コインを投げて8回表がでるという現象は0.087→8.7%の確率で起こる事象ということになります。

このときα=0.1とすると0.087の事象は帰無仮説が正しかった場合には起こりえない事象なので、有意にずれていると判断され、「帰無仮説は棄却できる→コインには仕掛けがされている」と言えます。

逆に、有意水準α=0.05とするとこの現象は帰無仮説が正しかった場合十分起こりうる現象だと判断されるので有意ではなく、「帰無仮説は棄却できない=コインは怪しい仕掛けはない」と判断されます。

終わり

以上が帰無仮説・対立仮説・検定・優位水準・p値の例です。統計検定二級の問題など実際の例はもう少しややこしいので、帰無仮説と対立仮説の違いが分かりにくくなります。

ですが、この例に当てはめてもらえば、少しは大枠がつかめるようになるのではないかと思います。ただ有意水準αは両側検定の場合だと÷2する必要があることに注意してください。片側検定と両側検定については次の記事で見ていきます。

プログラミングの独学はとても難しい


プログラミングは小学校の義務教育にも導入され始めており、これから社会人として生きていく上でプログラミングはもはや出来て当たり前、出来なれば論外というエクセルレベルの必須スキルになりつつあります。そしてそういう話を聞いて参考書なりを購入して独学でプログラミング勉強しようと思っている人も少なくないでしょう。しかしプログラミングを独学で勉強し始めようと思うものの



・「分からない箇所で詰まって挫折してしまった」

・「勉強する時間が足りない」

・「ネットの記事だと情報が断片的でよくわからない」

・「コードのエラーの原因が分からない」



という壁にぶち当たって、プログラミングの勉強を止めてしまう方が少なくありません。独学でプログラミングを勉強してる時間のほとんどはつまづいている時間です。実際僕も最初のころ独学でプログラミングを勉強していた頃はエラーの原因が分からず丸1日を不意にしてしまった・・・そんな苦い経験がありました。



それで僕は一度はプログラミングの学習を諦めてしまいましたが、就活で現実を知る中で「プログラミングを勉強して、いずれフリーランスとして自由な生き方がしたい」「エンジニアとして若いうちから高収入を得たい」という気持ちから一念発起して「侍エンジニアのwebサービスコース」に申し込み、プロのエンジニアの方に対面でマンツーマンでPythonによるWebサービス作り方とWeb技術の基本を教えてもらい、ようやくプログラミングが理解でき、今ではエンジニアとしてそこそこの暮らしができるようになりました。





侍エンジニアでは、とりあえずプログラミングやインターネットの基本を知っておきたい人から、HTML・cssなどでWebサイトやWebアプリを作ってみたい人やPythonを勉強してデータサイエンティストやAIエンジニアになりたい人まで幅広いニーズに応えた様々なコースが用意されています。



IT業界と言ってもエンジニアの仕事はプログラミング言語次第でサーバーから機械学習・ディープラーニングまで多種多様ですし、侍エンジニアの無料レッスン(カウンセリング)を受けてみて、自分のやりたいITの仕事は何なのか?を見つけるのがエンジニアへの第一歩になります。ちなみに今侍エンジニアの無料レッスンを受けると1000円分のAmazonギフト券がもらえるので、試しに受けてみるだけもお得です。


自分は半端に独学やオンラインスクールで勉強して金と時間を無駄にするくらいなら、リアルのプログラミングスクールに通ってしっかりプログラミングを勉強した方がいいと思います。ちなみに今、侍エンジニアに申し込むと、25歳以下の学生の方であれば、受講料が20%OFFになるので超お得です。


そして、プログラミングは大勢で授業を受けたり漫然とオンライン学習をするよりも自分が分からない箇所をピンポイントでプロの講師に直接質問して、ちゃんと納得するというスタイルの方がお金は確かに少し掛かりますが、独学で学ぶよりも絶対にモノになります。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする