🥺

エモい確率/統計学 入門

2022/12/03に公開約14,700字

私たちを取り巻く環境は日々複雑に絡まり、不確実性を増しています。
我々の前にいつも立ち塞がるのは、VUCA四天王です。

・Volatility(変動性)
・Uncertainty(不確実性)
・Complexity(複雑性)
・Ambiguity(曖昧性)

そんなVUCA時代を生きている我々に手を差し伸べてくれるのはそう...確率/統計です。
今こそ確率/統計を学んでVUCA時代を強く生き抜いていこうではありませんか!!

※ この記事はnote株式会社 Advent Calendar 2022の3日目の記事です。前回は Sunochiさんの「note株式会社のOKRとデイリースクラムを振り返る」でした。
※ note社員がQiitaのAdvent Calendarの記事をZennで書くという愉快な試みです。

はじめに

今まで確率や統計を勉強してきたのでここらへんで面白さをまとめたいなぁと思ったので、記事を書いてみました。

「1.行動経済学」「2.統計学」「3.ベイズ統計学」 あたりのトピックをいくつかピックアップしてみます。ただ説明するだけだとつまらないので、いくつか問題を書いてみました。問題、解答、私の主観的な感想を書いていくことで、人間という生き物の間違いやすさ/エモさとかを感じていただいて確率/統計がより身近になれば良いなと思います。

あと思った以上に文字数を書いてしまったので、皆様の気になる部分だけさらっと読んでいただければと思います。また認識が間違っている部分があれば、いただいたコメントをもとに修正します。

1.行動経済学

行動経済学(behavioral economics)とは、経済学と心理学が融合した学問で 「人々が直感や感情によってどのような判断をし、その結果、市場や人々の幸福にどのような影響を及ぼすのか」 を研究する学問です。

引用:マーケティングにも役立つ行動経済学とは?有名な6つの理論を紹介

行動経済学は古典的な経済学とは違って「人間の非合理さも前提条件として考えようぜ」的なニュアンスがありますね。学問がこういう感じでアップデートされていくのは良いですね。

誕生日のパラドックス

行動経済学に絡んで、誕生日のパラドックスという面白い問題があります。
この問題を通して、人間って結構非合理的な判断をしがちということがわかってきます。

誕生日のパラドックスの問題

ある中学校の1年A組のクラスの人数は40人です。

(1) 40人の中で同じ誕生日の人が少なくとも2人以上いる確率はどのくらいでしょうか。
(2) 40人のクラスにむっそさんが転入しました。むっそさんと同じ誕生日の人がいる確率はどのくらいでしょうか。

直感で構わないので、どのくらいの確率なのか予想してみてください。

誕生日のパラドックスの解答

(1) 40人の中で同じ誕生日の人が少なくとも2人以上いる確率はどのくらいでしょうか。
→答え: 89%

計算方法としては、まずクラス40人がそれぞれ違う誕生日である確率P(40)を計算します。
そしてその確率の余事象(1-P(40))を計算すれば解けそうです。

ここでクラスの40人がそれぞれ違う誕生日である確率を計算するために、ちょっとサイコパスな状況を考えてみます。

1.クラスの40人を一列に並べて「あなたの誕生日は1月10日です」という感じに順番に誕生日を言い渡していく
2.順番に言い渡す際に、前の人に言い渡した誕生日と違う誕生日を伝えるように注意する
こうすることで40人が違う誕生日になります。(サイコパス)

例:
1番目の子:365日ある中からどれかを選ぶ = \frac{365}{365}
2番目の子:1番目の子に言った誕生日と被らないように364日の中からどれかを選ぶ = \frac{364}{365}


40番目の子:前の子に言った誕生日と被らないように326日の中からどれかを選ぶ = \frac{326}{365}

全ての確率を掛け合わせることで、40人が違う誕生日である確率を計算できます。
もう少し一般化して書くと

P(n) = \frac{365}{365}・\frac{364}{365}・・・・\frac{365-n+1}{365} = \frac{365!}{365^n(365-n)!}

n=40なので

P(40) = \frac{365}{365}・\frac{364}{365}・・・・\frac{326}{365} = \frac{365!}{365^{40}・325!} = 0.11

全部の確率(100%)から「このクラスにいる40人が違う誕生日である確率」を引き算すると、「このクラスにいる40人の中で同じ誕生日の人が少なくとも2人以上いる確率」を計算できます。

答え = 1 - 0.11 = 0.89(89%)


(2) 40人のクラスにむっそさんが転入しました。むっそさんと同じ誕生日の人がいる確率はどのくらいでしょうか。
→答え: 10%

自分の誕生日以外を40人に割り当てるようにすれば、むっそさんの誕生日と被らない確率を計算できます。一般化して書くと下記のような感じです。

P(n) = \frac{364}{365}・\frac{364}{365}・・・・\frac{364}{365} = \frac{364^n}{365^n}

n=40なので

P(40) = \frac{364^{40}}{365^{40}} = 0.90

むっそさんと同じ誕生日の人がいる確率は 1 - 0.90 = 0.1(10%) となります。

誕生日のパラドックスから主観的な考察

直感的には「同じ誕生日の人が少なくとも2人以上いる確率」はものすごく低い感じがします。
でも こうして計算してみると意外と確率が高くてびっくりしますね。

※実際は誕生日の分布に偏りがあるのであくまで誕生日が等確率という仮定だと思います。
【2022】日本人で一番多い誕生日は何月何日?調査すると面白い結果に!

逆に確率50%を超えるにはクラスに何人必要かというのを、それぞれの問題で計算すると以下のようになります。

(1)同じ誕生日の人が少なくとも2人以上いる確率
クラスに23人以上いれば、確率50%を超えてくる

(2)自分と同じ誕生日の人がいる確率
クラスに253人以上いれば、確率50%を超えてくる

このように、誕生日のパラドックスは人間の主観的に感じる確率と客観的に計算した確率が違うことを示しています。

誕生日のパラドックス以外にも数学的なパラドックスはいくつかあるので、興味のある方は是非ご覧ください。
https://analytics-notty.tech/interesting-paradox-of-math/

認知バイアス

行動経済学や心理学では、人間が犯しやすい間違いなどを認知バイアスとして扱っています。

人間にはいろんな種類の認知バイアスがあるので、いろいろ眺めてみると面白いと思います。
記憶に関する認知バイアス一覧

認知バイアスのなかで「主観確率と客観確率」について紹介しようかと思います。

主観確率と客観確率

主観確率というのは人間が考える主観的な信念あるいは信頼の度合いのことで、客観確率というのは主観によらず存在するものとしての確率のことです。

例:年末ジャンボ1等の確率

客観確率:1等が当たる確率は2,000万分の1
主観確率:昨日、億万長者になる夢を見たから1等当たるやろ!(気持ち的に10分の1くらいの感覚)

この下の図は主観確率と客観確率の関係をグラフに示してます。このグラフからわかることは以下の通りです。
・客観確率が高いほど主観確率が低くなりがち
・客観確率が低いほど主観確率が高くなりがち

確かに客観確率が低いにも関わらず、年末ジャンボに大金を払うといった行動に心当たりがある方もいると思います。

画像引用:プロスペクト理論とは?マーケティングに応用する損失回避の法則


この人間の「主観確率」という概念は、ベイズ統計学で出てくる 事前確率 という概念に近いものです。いろんな概念が繋がってきて面白いですね。

また主観確率という概念を導入することで、客観確率だけでは説明できない、人間の意思決定の方法が理論的に説明できるようになるわけですね。興味がある方はぜひ行動経済学を深掘りして研究してみてください。

2.統計学

統計学とは、ある1つの群のデータに対してその性質を調べたり、あるいは手持ちのデータからもっと大きな未知のデータや未来のデータを推測するための学問です。

ひとえに統計学といっても様々な種類があります。代表的なものは次の3つになります。

参考:統計学とは?どのような学問か5分で理解する

最尤推定と確率分布

記述統計学や推計統計学で何かを推計するにしても、観察対象がどのような確率分布なのかという定義する必要があります。たとえば、以下のようなケースがあります。

・コインの表/裏、試合の勝敗など、2種類のみの結果しか得られないような試行の結果を表す確率分布ならばベルヌーイ分布

コインの出る目の確率分布
確率 1/2 1/2

・交差点での交通事故回数、工場での不良品の数など、ある時間間隔で発生する事象の回数を表す確率分布ならばポアソン分布

確率分布があまりに多すぎて全部を覚えるのは難しいのですが、もっと知りたい方は以下をご覧ください
https://academ-aid.com/statistics/summary-dists

こうやって確率をある種の関数みたいに表せるようになると、人類は 「確率分布の最大はどこなんだろうか?」と思い始めるわけですね。知らんけど。
こういう時に使えるのが
微分
です。
高校数学とかで微分して0になったところが最大/最小、と教わった人が多いかなと思います

微分して0を計算して導き出した確率だったり、割合などを計算して「ここが確率の最大値っぽいぞ」と思われる確率のことを 最尤推定量(さいゆうすいていりょう) と呼びます。
(説明を端折りすぎてる気がするので、詳しくはこちらです)

「ここが確率の最大値っぽいぞ」という推定をするのに、上記の最尤推定の他にベイズ推定というのもあります。よく「最尤推定とベイズ推定の違い」とか「頻度論とベイズ論の違い」という形で対比されがちです。

ベイズ統計学の話は「3.ベイズ統計学」で書いていきます。

とりあえず面白そうな問題をピックアップ

以下では、より統計学を身近に感じていただくため、統計検定準1級に関する問題の中で「この問題はなんか面白いな」と思ったものをピックアップしたいと思います。

参考:日本統計学会公式認定 統計検定準1級対応 統計学実践ワークブック

マーケティングのブラックさをほんのり感じる問題

統計検定問題(統計学実践ワークブックP36 問5.5を少し変形)

ある駄菓子屋にキャラクターカード1枚がおまけとしてついてくるお菓子があります。このお菓子が売り出された当初はカードの種類は4種類(全種等確率)でしたが、爆発的人気を得たためもう1種類追加されました。このとき以下の計算をしてみましょう。

(1) 初めに4種類のカードを揃えて、そのあと追加された1種類のキャラクターカードを揃えようとした場合に必要な購入回数の期待値はどのくらいでしょう。

(2) 爆発的人気を得たあとに買い始めた子供がキャラクターカード5種類を揃えようとした場合に必要な購入回数の期待値はどのくらいでしょう。

統計検定問題の解答

(1) 初めに4種類のカードを揃えて、そのあと追加された1種類のキャラクターカードを揃えようとした場合に必要な購入回数の期待値はどのくらいでしょう。
→答え: 13.33(回)

k種類目のカードが揃った後にk+1種類目のカードが出るまでに必要な購入回数は成功確率 p_k の幾何分布に従う。

以下のように場合分けしていけば解くことができます。(幾何分布の期待値は確率の逆数で求まる)

(4種類の中で4種類を狙っている時) 購入回数の期待値:(4/4) = 1
(4種類の中で3種類を狙っている時) 購入回数の期待値:(4/3) = 1.333
(4種類の中で2種類を狙っている時) 購入回数の期待値:(4/2) = 2
(4種類の中で1種類を狙っている時) 購入回数の期待値:(4/1) = 4

もう少し数式チックに書くと、以下のようになる。

\sum^{4-1}_{n=0} 4/(4-k) = (4/4) + (4/3) + (4/2) + (4/1) = 25/3(\simeq 8.33)

さらに追加された1種類を手に入れるために必要な購入回数は以下のようになる。
(5種類の中で1種類を狙っている時) 購入回数の期待値:(5/1) = 5

上記の計算を足し合わせる
8.33 + 5 = 13.33(回)



(2) 爆発的人気を得たあとに買い始めた子供がキャラクターカード5種類を揃えようとした場合に必要な購入回数の期待値はどのくらいでしょう。
→答え: 11.42(回)

初めから5種類が発売されていた場合に必要な購入回数の期待値は以下の通り。

\sum^{5-1}_{n=0} 5/(5-k) = (5/5) + (5/4) + (5/3) + (5/2) + (5/1) = 137/12(\simeq 11.42)


統計検定問題の解答から主観的な考察

私も金色のガッシュベルのカードにハマっているときに、カードがついているお菓子を買いまくって親とケンカしたなぁと思い出しました。

この問題の解答をお菓子の販売マーケティング担当目線で考えると、最初から5種類のおまけをつけず種類追加を小出ししていけば、子供(または熱狂的な大人コレクター)の期待購入回数が増えて売り上げが増えるということかなぁと思います。
子供向け商品に対してマーケティングのブラックさをほんのり感じる問題だなぁと思いました。

統計的仮説検定の面白さが垣間見える問題

統計検定問題(統計学実践ワークブックP89 問11.1)

あるハンバーガーショップは、東京と大阪に店舗を展開している。この店舗のフライドポテトのMサイズは120gとされている。
ところが「大阪の店舗のポテトは120gよりも多い」という噂が広まった。そこで、大阪の店舗のポテトをランダムに10個選んで、その重さを量ったところ、平均は125gで標準偏差は10.0gであった。
ポテトの重量は互いに独立に平均 \mu ,分散 \sigma^2 の正規分布に従うとする。得られたデータから帰無仮説 H_0:\mu = 120 に対して、対立仮説 H_1:\mu > 120 のt検定を行う。

帰無仮説が棄却されるかどうか判定せよ。

統計検定問題の解答

検定の問題の場合は基本的に以下のような流れになります。
検定統計量 < 棄却限界値 ならば 帰無仮説は棄却されない
検定統計量 > 棄却限界値 ならば 帰無仮説は棄却される

検定統計量の計算式は以下の通り。

検定統計量 = \frac{(平均) - (仮説での平均)}{(標準偏差)/\sqrt{(サンプル個数)}}

この問題での検定統計量を求める。

検定統計量 = \frac{125 - 120}{10/\sqrt{10}} \simeq 1.581

棄却限界値はt分布表から有意水準α=0.025, 自由度v=(10-1)=9の項目を見て2.262ということがわかる。

棄却限界値 = t_{0.025}(9) \simeq 2.262

計算した結果、検定統計量 < 棄却限界値なので、帰無仮説は棄却されない。
つまり今回の検定では、大阪のポテトの平均が120gより大きいということは判断できない。

統計検定問題の解答から主観的な考察

この問題自体がちょっと面白くて、「大阪の店舗のポテトは120gよりも多い」という噂自体が、内部情報を知っているアルバイトあたりから漏れ出た情報っぽくてほんのりブラック感を感じさせます。

こういう量の増減あたりの話はお菓子系でよく聞きますね。お菓子の量をいつも気にしているみなさんは統計的仮説検定の素質があります。多分

https://choudoii-blog.com/2018/01/15/long-seller-snack/

統計検定はなんか堅苦しい問題が多いのですが、この問題とかはちょっとだけユニークさを取り入れてきてる感があって好きです。このぐらいフランクな問題が多ければ、日常生活で統計を活用したくなる人たちは多くなりそうだなぁとほんの少し思いました。

難しい問題もあったかと思いますが、ベイズ統計学以外の推計統計学あたりは 「なんか微分したり色々数式をいじくっているけど実際の人間の行動や不確実な事象について予測できるの?」 という疑問があったりします。
それに対して、ベイズ統計学は新しいデータを取り込みながら推定や予測の精度を逐次的に高めていきます。これは人間が何かを学習する方法とほぼ同じですね。

最初は失敗を繰り返しつつも健気に新しいデータを取り込みながら、だんだん高性能に仕上がっていきます。こんなペットがいたらめちゃくちゃラブいです。
ということで次はベイズ統計学について書いていきます。

3.ベイズ統計学

ベイズ統計学は「ベイズの定理」を基本的な考え方とする統計学。新しいデータを取り込みながら推定や予測の精度を逐次的に高めていくのが特徴です。

「2.統計学」の章でも少し書きましたが、統計学には正規分布、二項分布などの確率分布がたくさんあります。これらの確率分布はベイズの定理をベースにすることで、ベイズの世界へと捉え直すことができます。
コインの表と裏、表世界(頻度論/最尤推定)と裏世界(ベイズ論/ベイズ推定)みたいな感じで、厨二心がくすぐられます。

最尤推定とベイズ推定の違い(興味がある方)

ちょっと数式が多いですが興味ある方はお読みください

例題

むっそさんがサイコロを5回振ったときに、5回とも1が出ました。

この結果を踏まえて、むっそさんはこのサイコロの1が出る確率を最尤推定とベイズ推定で計算しようとしています。それぞれの推定値はどのくらいの確率になるでしょうか。

※むっそさんはこのサイコロはイカサマがない普通のサイコロだと事前に予想しています。

最尤推定の場合

最尤推定の場合:1が出る確率は1(100%)

サイコロの目 1 2 3 4 5 6
出た回数 5 0 0 0 0 0
確率 5/5=1 0/5=0 0/5=0 0/5=0 0/5=0 0/5=0

上記のように割合(サイコロの目の出た回数/サイコロを振った回数)で最尤推定できます。

この結果から、サイコロを5回振って5回とも1だったのでこのサイコロは1しか出ないと推定してます。つまり最尤推定の場合は試行回数が少ないと極端な値をとることがあると言えます。

また難しい方法になりますが、ラグランジュの未定乗数法(確率を全部足し合わせると1になるという制約条件のもとで、対数尤度を最大化する確率を計算する)で最尤推定できます。興味がある方は下記をご参照ください。

統計的モデリング基礎④ - 鹿島 久嗣

ベイズ推定の場合

ベイズ推定の場合:1が出る確率は0.4(40%)
※事前確率(主観的な予想)の計算によって値は多少変わります。


詳しい計算については、下記に書いてありますが数式がバリむずいので流し読みしてください。
参考:ベイズ統計学の世界への誘い

ベイズの定理をもとに事前分布、尤度、周辺尤度を計算して事後確率を求める。

事前分布:ベータ分布(α=2, β=10)
α/βの値については、12回投げて2回は1が出て10回はそれ以外が出るという予想をベータ分布で表現している。

f(p;α,β) = f(p;2,10) = \frac{p^{2-1}(1-p)^{10-1}}{\int_{1}^{0}t^{2-1}(1-t)^{10-1}dt}

尤度:二項分布
1の目が出る成功確率が6回に1回という予想のもとで試行した結果、5回中5回とも1の目が出る確率を計算する。
kは成功回数、nは試行回数、pは成功確率として以下の計算となる。

f(k;n,p) = f(5;5,p) = \frac{5!}{5!(5-5)!}p^5(1-p)^{5-5} = p^5

周辺尤度:事前確率分布の確率変数が取り得る値が0から1なので、尤度と事前確率分布との積について0から1まで積分する

周辺尤度 = \int_{1}^{0}\frac{p^{2-1}(1-p)^{10-1}p^5}{\int_{1}^{0}t^{2-1}(1-t)^{10-1}dt}dp

上記の計算をもとに事前確率と事後確率を計算すると、以下のようなグラフを作れます。
積分など難しい数式が多いのでPython/Rなどで計算しました。

グラフから事前確率(prior)1/6=0.167→事後確率(posterior)0.4に推移していることがわかります。最尤推定の極端な推定値とは全く違う値となっていますね。

つまり、ベイズ推定の場合は少ない試行回数でもある程度適切な推定ができると言えます。
しかし事前確率自体が偏っていると、ベイズ推定は事前確率に影響を受けるので偏った事後確率となるということも言えますね。

ベイズの定理でよく見かける問題

ベイズ統計の問題でよくあるのが、検査結果の真陽性/偽陽性あたりの話です。
人間は真陽性に対する主観確率を見誤るというのがわかる問題かなと思います。

統計検定問題(統計学実践ワークブックP4 問1.3 少し変形)

高齢者(65歳以上)のうち100人に1人がある病気にかかっているとします。

この病気に対する検査には、以下の特徴があります。
・本当にその病気にかかっている場合には99.0%の確率で陽性反応を示す
・病気でない場合でも2%の確率で陽性反応を示す

高齢者Aさんが検査を受診したところ、結果は「陽性」でした。
Aさんが本当にその病気にかかっている確率をどのくらいでしょうか。

統計検定問題の解答

答え:0.33(33%)

ベイズの定理に適用するためにX/Yを以下のように設定する。

X: その病気にかかっている
Y: 検査の結果が陽性

ここで求める確率は P(X|Y) です。この問題文より以下の確率が計算できます。

P(X)=0.01\\ P(\overline{X})=0.99\\ P(Y|X)=0.99\\ P(Y|\overline{X})=0.02\\ P(Y)=P(Y|X)P(X)+P(Y|\overline{X})P(\overline{X})\\

ベイズの定理より

P(X|Y) = \frac{P(Y|X)P(X)}{P(Y)} = \frac{0.99×0.01}{0.99×0.01+0.02×0.99} = \frac{1}{3} = 0.33
統計検定問題の解答から主観的な考察

この問題は真陽性の確率はどのくらいか、という問題になります。
答えが33%なので、まぁ思った以上に高くないという感じでしょう。
(逆にいうと偽陽性が67%ということです)

自分がこの立場になったとして、検査の精度が高いので 「この検査で陽性ということは自分は病気確定なんじゃないか(主観確率100%)」 と絶望しそうですね。しかしながら、計算してみると真陽性は思っているほど高くないという計算ができます。

ベイズの定理を使うことで、人間の主観確率は間違いやすいということを明らかにしてくれます。

ベイズ統計学と機械学習を組み合わせると...

ベイズ統計学の「新しいデータを取り込みながら推定や予測の精度を逐次的に高めていく」という特徴ですが、それって機械学習とほぼ同じでは? と思うわけですね。
きっとベイズ統計学は機械学習や深層学習とも相性が良いはずだ、という推定ができます。

しかし残念ながら記事の文字数が多すぎたのでこの先は書けないのです...
(嘘です、私が不勉強すぎて書けない)
下記の本とか勉強して、ちょっと出直してきますわ。

ベイズ深層学習 (機械学習プロフェッショナルシリーズ)

パターン認識と機械学習 上 (ベイズ理論による統計的予測)

パターン認識と機械学習 下 (ベイズ理論による統計的予測)

あとがき

確率や統計学は鬼のように難しい数式がたくさん出てきて、勉強が大変ですね。
「確率も統計学もなにもわからん」ってなるときは多々あります。

ただ、わからない部分はちょっとスルーして、わかる部分から読んで積み上げていく。
それで時間が経った後でわかるようになって 「読める、読めるぞ!(ムスカ)」 ってなるのかなと思いました。

また主観確率や事前確率のような人間の主観的要素が計算に入ることで統計学にエモさが出てきて好きです。

全体的に読むのが重い内容だったかと思いますが、全部読んでいただいてありがとうございます!

▼noteエンジニアアドベントカレンダーはこちら

https://qiita.com/advent-calendar/2022/note

▼さらにnoteの技術記事が読みたい方はこちら

https://engineerteam.note.jp/

Discussion

ログインするとコメントできます