イカサマコインの例で頻度主義的な統計とベイズ統計（最尤推定とベイズ推定）の違いを理解する：頻度主義編

# はじめに
この記事は
 [イカサマコインの例で最尤推定とベイズ推定の違いを理解してみる](https://qiita.com/MoriKen/items/09da26466c00500bcd68)
にインスパイアされて書いたものです．元記事には誤りもあるので，それにも触れつつ，別の話題にも触れていきたいと思います．

独学の部分が多いので，この記事にも誤りがあるかもしれません．
その際はご指摘いただけるとありがたいです．

記事が長くなりすぎるので，この記事では，頻度主義者の考えを説明します．

# 設定
もとの記事と同様に，イカサマコインを見破ろうとする頻度主義者とベイズ主義者を考えます．

>イカサマ師はその手に持っているコインが本当にイカサマではないかどうかを今ココで弁明しろと言われているようです．もし，コインが表になる確率が0.7以上だったら，そのコインはイカサマである，というルールがこの国では通用していたとします．

そして，

>5回のコイントスによって運良く下表のような結果を得たようです．
>
|出た目|回数| 
|---|---|
|表|3|
|裏|2| 

>>イカサマ師：「如何でございましょう，統計学者様．ご覧の通り，このコインが表を出す確率は0.6でございます（本当は0.8なんだけどな，少ない試行でちょろまかしたぜ♪）．」

これに対してどのように判断を下すか，というのが今回の問題です．

# 頻度主義者の考え
## 最尤推定
まず，コイントスはベルヌーイ試行で，表の出る回数は二項分布に従うはずです．コイントスを行ったときに表が出る確率を$p$とすると，5回中3回表が出る確率は，

```math
L = {}_5C_3p^3(1-p)^2 = 10p^3(1-p)^2
```
となります．この式のうち，$p$が実際どのくらいなのかを推定して，それが0.7より大きくなればイカサマであるといえそうです．

$p$がどのくらいの値かを調べるために，いくつかの値を代入してみることにしましょう．
$p=0.1$を代入すると，$L＝0.0081$となります．これは，もしも$p=0.1$だったときに，今回の実験結果（5回中3回表）が出る確率が0.8%であるということを示しています．つまり，すごくレアなことが起きたということです．仮に$p=0.2$とするならば，$L=0.0512$で，5%くらいの確率で発生する事象が起きたということになります．この2つのどちらかを選ぶとすれば，1%以下のレアな現象が起きたというよりは，5%の現象が起きたと考えるほうが合理的な気がするので，$p=0.2$ということになりそうです．

この考え方をすすめていくと，いろいろな$p$に対して$L$を計算して，$L$が最も大きくなる$p$を推定値とするのが良い気がしてきます．これが最尤推定という考え方です．ちなみに，$L$のことを尤度といいます．
$p$を変えながら$L$を計算してプロットしてみると，次の図のようになります．
![likelihood.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254230/e15cd824-8dca-df1d-acf9-16cbc81f5b84.png)
図から，$p=0.6$，すなわち，$p=3/5$が最尤推定値となります．
5回中3回表が出たことを思い出せば，直観に合う推定結果となりました．実は，二項分布に対する最尤推定は常に，このような「直観的な確率」と一致します．

ちなみに，上の図の読み方を間違えてはいけません．
「$p=0.6$である確率が約0.35」ではなく，「仮に$p=0.6$とすると，5回中3回表が出る確率は約0.35」です．

さて，最尤推定値が0.6になったので，0.7より小さくなりました．
このコインはイカサマではないと決めて良いのでしょうか？

## 仮説検定
つぎに，最尤推定とはちょっと違った方法でこの問題に取り組んでみましょう．

いま，表が出る確率が0.7より大きいことを証明したいと考えています．
数学の背理法のように，証明したい仮説とは反対の仮説を考えて，それが否定できるかを考えてみます．
このような手続きによって意思決定を行う方法を仮説検定といいます．
否定すべき「反対の仮説」は帰無仮説と呼ばれます．これに対して，証明したい仮説は対立仮説といいます．

今回の場合には，
帰無仮説：表の出る確率は0.7である．
対立仮説：表の出る確率は0.7より大きい．
という感じになります．

表の出る確率が0.7ということを仮定したときに，5回中3回以上表が出るという事象がかなり「レア」ならば，帰無仮説は間違っているといえそうです．どのぐらい「レア」ならば間違っていると判断するかは，あらかじめ決めておく必要があります．この基準のことを有意水準といいます．有意水準としては伝統的に5%とか1%がよく使われるようです．今回は5%としましょう．

表が出る確率を0.7と仮定すると，5回中表が出る回数について，つぎのような確率になります．

|回数|$p=0.7$のもとでの確率| 
|---|---|
|0|0.0024|
|1|0.0284|
|2|0.1323|
|3|0.3087|
|4|0.3601|
|5|0.1681| 

いま，対立仮説として，0.7「より大きい」ことを証明したいので，実際の3回よりも多く出る確率を計算すると，0.3087+0.3601+0.1681=0.8361となります．83%という数字は有意水準5%よりも大きいので，5回中3回以上表が出るという現象は「レア」な現象ではなく，帰無仮説のもとでも十分に起こり得るということがわかります．このことから，帰無仮説を否定することができません．専門用語らしくいうと，帰無仮説を棄却することができません．つまり，このデータからは表が出る確率は0.7より大きいということは証明できなかった，ということになります．

このとき，帰無仮説を棄却できない，ということがわかるだけで，帰無仮説が正しかった，ということを示しているわけではないことに注意が必要です．帰無仮説を棄却できなかったときには仮説検定は何も教えてくれません．
どうやら，正しい判断を行うためには，データを増やす必要がありそうです．

ちなみに，イカサマ師の立場からすると，自分の無実を証明するために，
帰無仮説：表の出る確率は0.7である．
対立仮説：表の出る確率は0.7より**小さい**．
という仮説検定を行うことになります．
この場合，$p=0.7$のもとで，表の回数が実際の3回よりも小さくなる確率を計算することになり，0.0024+0.0284+0.1323+0.3087=0.4718となります．有意水準5%よりも大きいので，やはり帰無仮説を棄却できません．結局，統計学者，イカサマ師のどちらの立場からも有罪，あるいは無実を証明できませんでした．

用語：今回計算した，「実際に観測されたデータよりも極端な結果が出る確率」である0.8361とか0.4718の値のことをp値といいます．二項分布のパラメータ$p$とは別物なことに注意してください．p値という単語はときどき耳にすることがあると思うので，意味を理解しておくと役に立つかもしれません．

## 区間推定
前項の結果から，このデータからは正しい判断ができそうにないということがわかりました．

ここで，ちょっと考え方を変えて，帰無仮説をどのくらいの値に設定すれば，その帰無仮説が棄却されるのか？について考えてみましょう．

たとえば，
帰無仮説：表の出る確率は0.1である．
対立仮説：表の出る確率は0.1より大きい．
とすると，下の表より，p値は0.0081+0.0005+0.0000=0.0086となります．これは有意水準5%よりも小さいので，帰無仮説は棄却されて，表が出る確率は0.1より大きいことがわかりました．

|回数|$p=0.1$のもとでの確率| 
|---|---|
|0|0.5905|
|1|0.3280|
|2|0.0729|
|3|0.0081|
|4|0.0004|
|5|0.0000| 

この0.1の部分をいろいろと変化させて調べてみると，0.189あたりでp値がちょうど0.05くらいになりそうです．
つまり，0.189以下の数字であれば帰無仮説は棄却され，それ以上であれば棄却されません．
このことから，このコインの表の出る確率は，0.189以上であると言えそうです．
有意水準を5%ととったので，この「0.189以上」という区間のことを95%信頼区間といいます．

結局，この実験でわかったことは，表の出る確率が0.189以上である，ということだけで，0.7以上であることを証明するには程遠いものでした．

イカサマ師の立場からも同様に調べてみると，表の出る確率を0.924ぐらいに設定すると，p値が0.05くらいになります．
つまり，表の出る確率は「0.924以下」という95%信頼区間が得られました．
イカサマ師の立場からも，表の確率が0.7以下である，ということを証明するにはデータが不足していたようです．

ちなみに，区間を「0.189以上，0.924以下」とすると，上下に5%ずつ棄却領域があるので，これは90%信頼区間になります．上下限をつけて95%信頼区間を求めたければ，上と下それぞれp値が0.25となる点を見つける必要があります．これは「0.147以上0.947以下」となります．

### 信頼区間の意味
最後に，95%信頼区間の95%という数字がどういう意味なのかについて理解しておく必要があります．
「表の出る確率が0.189以上である確率が95%である」という説明はよくある誤りです．
実際に表が出る確率は，今回でいえば「0.8」のような「確定した値」なのであって，0.189以上であることは明白です．確率という概念が入る余地がないのです．

ここで思い出してほしいのは，区間推定のもとになっているのは仮説検定である，ということです．
そして，仮説検定は，「今回のデータが，帰無仮説のもとで「レア」なものであれば，帰無仮説は間違っているだろう」ということに基づいています．
しかし，帰無仮説は正しいのに，実際に「レア」な事象が起きてしまう，ということもあり得ます．
このときには，誤って帰無仮説を棄却してしまうことになります．つまり，誤った判断をしてしまいます．
今回の例で統計学者がこの誤りを犯すと，本当は無実なコインの製造者を逮捕することになります．
イカサマ師の立場からこの誤りを犯すと，本当は有罪なのに，無罪を証明できることになります．

イカサマ師の立場から，考えてみます．
今回，イカサマ師はコイン投げで5回中3回表という結果を得ました．
ただ，同じ表80%のコインを使ったとしても，5回中5回表が出るときも，逆に，5回中1回も表が出ないときもあるでしょう．
仮に，5回中1回も表が出なかったときの区間推定値は「0.45以下」となって，実際の80%を含みません．これは誤りです．
また，5回中1回という結果が出た場合でも，「0.66以下」という区間推定値が出て，これも誤りです．
5回中2回表ならば，区間推定値は「0.81以下」です．この場合は真の0.8を含んでいるので，正しい推定となっています．

このように，得られたデータによって，区間推定値は変化します．
たまたま5回中0回または1回というデータが得られた場合は，区間推定値は外れてしまいます．
このような，区間推定値が誤ってしまうようなデータ（5回中0回または1回）が得られる確率が5%存在する，ということが，95%信頼区間の意味するところです．

言い換えれば，95%のデータに対しては正しい結果を返す方法で求めた区間ですよ（今回のデータがその中に入っているとは言っていない）というのが95%信頼区間です．

つまり，95%信頼区間の95%は，「今回出た結果」の正しさを評価しているわけではありません．
結果は偶然得られたデータによって決まるからです．
そうではなく，「結果を出すプロセス」の正しさを評価しています．
データによっていろいろな結果がでるけれども，極端な5%のデータが来たとき以外は正しくなるプロセスですよ，ということを保証しているわけです．
今回出た結果が，極端な5%によるものだったのか，95%のほうだったのかは誰にもわかりません．
「信じるものは救われる」といった感じです．

# 結局どうなったか
正しい判断をくだすためには，試行回数を増やすしかなさそうです．
最尤推定値，95%信頼区間，99%信頼区間を計算しながら，1000回コインを投げてみました．

![result2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254230/b6243de7-8db6-2a38-ec12-c747b245c031.png)


99%信頼区間が0.7よりも大きい範囲を示すようになったので，イカサマを証明することができました．
99%信頼区間が0.7を含まなくなるのに，だいたい250回の試行が必要でした．
（これは1例で，100回ぐらいで十分なときもあれば，400～500回ぐらい必要なときもありました．）

# まとめ
この記事では，頻度主義者の考え方を説明しました．
ときどき，ベイズ統計では分布を推定するから区間推定ができて，頻度主義だと点推定になってしまう，みたいなことが主張されることがある気がします．
しかし，それは誤りで，頻度主義でも区間を考えるやり方はあるということがここで言いたかったことです．

ただし，頻度主義的な方法で導かれた信頼区間は，「この方法は，得られるデータのうちの95%では正しくなります，今回得られたデータがその95%に含まれると信じましょうよ」ということしか言ってくれません．
今回の結果が「どの程度正しいのか？」ということは考える（定義する）ことすらできません．
そこのところが，頻度主義の限界といえそうです．
次回はこれに対するベイズ統計学者の考えを紹介していきたいと思います．