サイコロ統計学 第3話

前回(第2話)の続きになります。
前回は「サイコロを振って出る目を当てる」とはどういうことかを説明しました。

今、目の前に100円ショップで買ってきたサイコロがあります。
サイコロはサイコロなのですが、所詮は100円ショップで売られていたサイコロです。どのくらい正確なサイコロなのかは分かりません。

小田と上野の2人で次のような賭けを行ったとしましょう。

「上野と小田は、それぞれ、とある実数値を、サイコロを振る前に宣言する。実際にサイコロを振って出た目を確認する。出た目に近い実数値を宣言していた方の勝ち」

例えば、1回目は、上野が 3.5 を 小田が 4.0 を宣言したとします。
1回目に出た目を 3 と仮定します。そうすると、1回目は上野が勝ちです。

このゲームを、同じサイコロに対して、繰り返して行います。ただし、n 回目は 1, …, n-1 回目までの実際に出た目を考慮にいれて次に出る目を当てることができることに注意をします。

2回目は、上野が 3.5 を 小田が 3.0 を宣言したとします。
上野は「1回目に出たサイコロの目を無視して、3.5 を宣言する」作戦、小田は「1回目に出たサイコロの目と同じ目を宣言する」作戦です。
2回目に出た目は 5 と仮定します。つまり2回目も上野が勝ちです。

3回目は、上野が 3.5 を 小田が 4.0 を宣言したとします。
上野は「1回目・2回目に出たサイコロの目を無視して、3.5 を宣言する」作戦、小田は「1回目・2回目に出たサイコロの目の平均 (3 + 5) / 2 = 4 を宣言する」作戦です。

上野は常に「過去に出た目を参考にせずに、謂わば感覚的に 3.5 を宣言し続ける」作戦、小田は常に「過去に出た目を参考にして、過去に出た目の平均を宣言する」作戦を取り続けたとします。
さて、どちらの作戦の方が有利なのでしょうか。

先に答えから言ってしまうと、どちらの作戦も問題を抱えています。
まず、上野のような作戦を取る人を、「過去の経験から学習できない」=「馬鹿」と言います。
一方で、小田のような作戦を取る人を、「過去の経験のみを信用する」=「仕事できない東大生」と言います。

今回は「サイコロを2回振って、3回目に出る目を当てる」に焦点を合わせて議論していきましょう。

この場合、十中八九、上野の作戦の方が有利なのですが、

  1. 「(馬鹿が勝てるのは)なぜなのか」
  2. 「(仕事できない東大生は)どうすれば良いのか」

を理解していただくのが、この「サイコロ統計学」の趣旨になります。
そして、「『過去の経験から学習する』=『勉強する』ことは決して無駄にはならない」という事を最終的に理解していただければなと考えています。

前回の復習

「サイコロを振って出る目を当てる」の定義は複数あり得ます。

このサイコロ統計学では「サイコロの出る目を表す確率変数を X とした時に、MSE (Mean Square Error) E[(T(X)-X)^2] を最小にする統計量 T(X) を X から構築する」こととして定義しました。

より丁寧に説明すると、確率変数 X をサイコロの出る目として、1 回目に出る目を X1、2 回目に出る目を X2, … とします。そして、X1, X2, … は独立とします。

「n 回サイコロを振って、(n+1) 回目のサイコロの目を当てる」とは、「T という関数を構成して、X(n+1) を T(X1, X2, …, Xn) で(MSE を最小にするという意味で)近似する」ということです。

先の「上野と小田の賭け」に話を合わせると、宣言した実数値 T と実際に出た目 x の二乗誤差 (T-x)^2 を、各回、2人とも罰金として取られるような状況です。(ですから、2人とも本気で x を当てにいかないといけない訳です。)

問題(賭け)の数学的定式化

「サイコロを2回振って、3回目に出る目を当てる」を今回の状況に即して数式に直すと、次のようになります:

「E[ (X3-T(X1, X2))^2 ] を最小にする、X1 と X2 の関数 T(X1, X2) を構築せよ」

上野の作戦は「T(X1, X2) = M(M は上野が決めた勝手な実数)」、小田の作戦は「T(X1, X2) = (X1+X2)/2」です。

M は実際何でも良いのですが、もし仮にこのサイコロが正確なサイコロだとしたら、その平均は 3.5 ですから、M = 3.5 とするのが自然でしょう。

ところで、前回、我々が学んだことは、「E[ (X3-T(X1, X2))^2 ] を最小にする」ことと E[ (E[X]-T(X1, X2))^2 ] を最小にする」こととは同じだということです。

つまり、「(MSE を最小にするという意味において)サイコロの出る目を当てることは、サイコロの出る目の期待値を推定することと同義である」ということでしたね。

Excel を使って計算してみよう!

さぁ楽しい楽しい実験だ!

今日は3つのサイコロを用意しました。Xa と Xb と Xc です。
Xa は正確なサイコロです。全ての目が等確率 1/6 で出ます。
Xb は少し歪んだサイコロです。「1」・「2」の目の出る確率が 0.1、「3」・「4」・「5」・「6」の目が出る確率が 0.2 です。
Xc はかなり歪んだサイコロです。「1」・「2」・「3」・「4」の目の出る確率が 0.1、・「5」・「6」の目が出る確率が 0.3 です。

E[Xa] = 3.5、E[Xb] = 3.9、E[Xc] = 4.3 です。

T1 = (X1+X2)/2 、T2 = M とします。
T1 が小田の作戦、T2 が上野の作戦です。

MSE は T と X との平均二乗誤差でしたが、これは T と E[X] との平均二乗誤差を考えることと(定数差を除いて)同じでしたね。
MSE[T1] = E[(E[X]-T1(X1, X2))^2]、MSE[T2] = E[(E[X]-T2(X1, X2))^2] とします。

MSE[T1] < MSE[T2] であれば小田の作戦の方が有利、MSE[T1] > MSE[T2] であれば上野の作戦の方が有利と言えるでしょう。

今回は下のケースについて個別に見ていきます。

  1. サイコロ = Xa かつ M = 3.5 の場合
  2. サイコロ = Xa かつ M = 3.0 の場合
  3. サイコロ = Xa かつ M = 2.5 の場合
  4. サイコロ = Xb かつ M = 3.5 の場合
  5. サイコロ = Xb かつ M = 3.0 の場合
  6. サイコロ = Xc かつ M = 3.5 の場合

一体、どのケースで上野の作戦が有利であり、どのケースで小田の作戦が有利であるかを、まず、皆さんに、考えていただきたいです。

「 サイコロの出る目を当てることは、サイコロの出る目の期待値を推定すること」であることを思い出してください。
上野の立場からすると、「E[X] と M とが近いほど有利である」ことになります。
つまり、上野の立場からすると、M が 3.5 → 3.0 → 2.5 と移動して M が E[X] から遠ざかれば遠ざかる程、不利になります。(E[Xa] = 3.5、E[Xb] = 3.9、E[Xc] = 4.3 でしたね。)

ここまでヒントを出すと、多くの方は下のように考えるはずです:

  1. 「サイコロ = Xa & M = 3.5」の場合は(E[Xa] = M だから)上野が有利だろう
  2. しかし、残りのケースにおいては、ごく稀なケースでは上野が有利になることもあるかもしれないが、多くのケースで小田の方が有利になるだろう

・・・しかし、悲しいかな・・・。
実は、上の6つのケース全てにおいて、上野の作戦の方が小田の作戦よりも有利です。
「上の6つのケースは、特別に上野が有利なケースを選んできたのではないか?」という疑問を持たれるかもしれませんが、「サイコロ = Xa & M = 3.5」以外は、どのケースも上野にとって必ずしも有利とは言えないでしょう。

そう。皆さんは「仕事できない東大生」のことを過大評価しすぎなのです。この状況では、ほとんどのケースで「仕事できない東大生」は「馬鹿」に勝てないのです。
「それくらい『仕事できない東大生』は仕事ができない」という現実をまず受け入れていただきたいのです。

もちろん、この「サイコロ統計学」という連載は、「東大生は馬鹿よりも仕事ができない」なんていう主張をしたい訳ではありません。
「なぜ上の状況では仕事できない東大生は馬鹿に勝てないのか」ということを理解して、どうすれば「仕事できない東大生から仕事できる東大生になれるのか」を知っていただきたいのです。
そして、「『勉強』しても上手くいかない状況があること」を知ってもらい、「(上のような状況が存在することを理解した上で、)それでも『勉強』することには意味があるということ」を学んで欲しいと思っているのです。

サイコロ = Xa かつ M = 3.5 の場合

サイコロは正確なサイコロ Xa を採用し、かつ上野が宣言し続ける実数値 M は 3.5 を採用した場合です。
この場合は、E[Xa] = M なので、上野にとってはラッキーでした。

MSE[T1] = 1.46、MSE[T2] = 0.00 です。MSE[T1] > MSE[T2] です。
つまり、上野の作戦の方が有利のようですね。

サイコロ = Xa かつ M = 3.0 の場合

サイコロは正確なサイコロ Xa を採用し、かつ上野が宣言し続ける実数値 M は 3.0 を採用した場合です。
この場合は、E[Xa] ≠ M なので、上野にとっては少し不利と言えるでしょう。

MSE[T1] = 1.46、MSE[T2] = 0.25 です。MSE[T1] > MSE[T2] です。
つまり、上野の作戦の方が有利のようですね。

サイコロ = Xa かつ M = 2.5 の場合

サイコロは正確なサイコロ Xa を採用し、かつ上野が宣言し続ける実数値 M は 2.5 を採用した場合です。
この場合も、E[Xa] ≠ M であり、E[Xa] と M の差は更に開いたことになるので、上野にとってはより不利と言えるでしょう。

ところが・・・
MSE[T1] = 1.46、MSE[T2] = 1.00 です。MSE[T1] > MSE[T2] です。
つまり、これでもなお上野の作戦の方が有利のようですね。

サイコロ = Xb かつ M = 3.5 の場合

サイコロは少し歪んだサイコロ Xb を採用し、かつ上野が宣言し続ける実数値 M は 3.5 を採用した場合です。

この場合も、E[Xb] ≠ M です。

MSE[T1] = 1.25、MSE[T2] = 0.16 です。MSE[T1] > MSE[T2] です。
やはり、上野の作戦の方が有利のようですね。

サイコロ = Xb かつ M = 3.0 の場合

サイコロは少し歪んだサイコロ Xb を採用し、かつ上野が宣言し続ける実数値 M は 3.0を採用した場合です。

E[Xb] = 3.9 なので、M の値が 3.5 から 3.0 へと変更するのは、上野にとって不利な側な変更であることに注意してください。

MSE[T1] = 1.25、MSE[T2] = 0.81 です。MSE[T1] > MSE[T2] です。
これでもなお、上野の作戦の方が有利なのです。

サイコロ = Xc かつ M = 3.5 の場合

サイコロはかなり歪んだサイコロ Xc を採用し、かつ上野が宣言し続ける実数値 M は 3.5を採用した場合です。

もはや E[Xc] = 4.3 なので、上野にとってみれは M = 3.5 を宣言することに旨味はないはずです。(上野としては、X = Xc の事実は知らされていないので M = 3.5 と宣言するのは仕方ないのですが、もし仮に X = Xc の事実を知らされていれば M = 4.0 なり 4.5 なり、あるいは M = 4.3、を主張したかったはずです。)

MSE[T1] = 1.41、MSE[T2] = 0.64 です。MSE[T1] > MSE[T2] です。
やっぱり、上野の作戦の方が有利なのです。

推定量の Bias と Variance の定義

今回は、推定量の Bias と Variance の定義をして、話を終えたいと思います。

値 α の推定量(統計量)を Tα としましょう。
Tα とは書きましたが、Tαは α には(陽には)依存しないことは既に注意した通りです。
つまり、Tα は X の関数であり、Tα は α を陽には含みません。
例えば、Tα(X) = α は α の統計量とは呼べないのです。
Tα はあくまでも確率変数 X の関数です。

Tα は確率変数 X の関数なので Tα(X) は確率変数です。
確率変数 Tα(X) の期待値 E[Tα(X)]と α の差を Tα の Bias と言います。
つまり、Bias of Tα = E[Tα(X)]-α です。
α を Tα で近似するという意味では、E[Tα(X)] と α の差は小さいにこしたことはありません。

特に、Bias of Tα が 0 になる場合、つまり E[Tα(X)] = α となる場合、Tα を α の不偏推定量と言います。
なお、α の不偏推定量は1つとは限りません。

一方で、確率変数 Tα(X) の分散を Tα の Variance と言います。
つまり、Variance of Tα = V[Tα(X)] です。
α を Tα で近似するという意味では、E[Tα(X)] と α の差である Tα の Bias をなるべく小さくした上で、さらに Tα の Variance である V[Tα(X)] を小さくしたいはずです。

「仕事できない東大生」とは何者なのか!?

もう一度、先の「上野と小田の賭け」に話を戻しましょう。
小田が作った統計量が T1 = (X1+X2)/2 、上野が作った統計量が T2 = M でしたね。どちらも E[X] の推定量だと考えることにしましょう。

まず T1 と T2 の Bias について調べましょう。
T1 については、E[T1(X)] = E[(X1+X2)/2] = (E[X1]+E[X2])/2 = E[X] です。つまり Bias of T1 = 0 です。T1 は E[X] の不偏推定量です。
T2 については、E[T2(X)] = E[M] = M です。つまり、Bias of T2 = M-E[X] ≠ 0 です。(たまたま M と E[X] が一致していれば Bias of T2 = 0 にもなり得ます。)

つぎに T1 と T2 の Varianceについて調べましょう。
T1 については、V[T1(X)] = V[(X1+X2)/2] = (V[X1]+V[X2])/4 = V[X]/2 です。つまり Variance of T2 = V[X]/2 ≠ 0 です。
T2 については、V[T2(X)] = V[M] = 0 です。つまり Variance of T2 = 0 です。

「馬鹿;上野;T2」は、Bias を抱え込んでいるものの Variance が 0 になっています。
「仕事できない東大生;小田;T1」は、Bias は 0 ですが Variance を抱え込んでいます。

つまり、「馬鹿;上野;T2」は、何も学習しない(馬鹿の一つ覚え?)ので、安定して(= Variance を 0 にして) M という間違った(= Bias を抱え込んでいる)答えを出し続けます。
一方で、「仕事できない東大生;小田;T1」は、過去の経験をフルに利用して(平均的には)偏りのない(= Bias がかかっていない)答えを出しますが、過去の経験に大きく振り回された(= Variance が大きい)答えになっています。

つまり、「仕事できない東大生」というのは、過去の経験を精度よく研究できているものの、そこから導き出された結果が過去の経験に(本人が意識している以上に)依存しているため、新しい問題に対して正しい答えが出せない(= 仕事できない)状態にあります。
インプットはできるけどアウトプットできない人ですね。

MSE 分解

最後に MSE 分解の話をして、今回の話を終わりにしたいと思います。
T の Bias と T の Variance の両方を小さくすれば、T の MSE を小さくできるという話をします。

値 α の推定量(統計量)を Tα としましょう。
今回も前回の技「余弦定理」を使いましょう。
確率変数 Tα(X) の基準点は E[Tα(X)] です!

上式から (MSE of Tα) = (Variance of Tα) + (Bias of Tα)^2 だということが分かりました。

MSE を小さくするには Variance と Bias の両方を小さくしたいのですが、同時に両方を小さくすることは一般には難しいことが知られています。(Bias と Variance の間に存在するトレードオフです。)

つまり、Bias のことを何も考えずに、ひたすらに Variance を小さくしようとすれば、「馬鹿;上野;T2」のような答えに陥ります。

一方で、Variance のことを何も考えずに、ひたすら Bias を小さくしようとすると、「仕事できない東大生;小田;T1」のような答えに陥ります。

では、「仕事できる東大生」は、どのような答えを出すのでしょうか。
MSE を最小にする推定量 T の「Bias と Variance のバランスの取り方」に興味が湧いてくるはずです。

「仕事できない東大生」は、Bias を小さく保ったまま(例えば不偏推定量の中で)、いかに Variance を小さくするか(最小分散不偏推定量は何か?)という着眼点で仕事をしがちです。
もちろん、最小分散不偏推定量という概念が統計学において非常に大切であることは言うまでもありません。
しかし、時と場合に応じて、「Bias と Variance のバランスの取り方」に工夫をすることお勧めいたします。

次回は、「Bias と Variance のバランスの取り方」について説明をしたいと思います。

UeSaku Diary 公式 Twitter アカウントはこちら

Show your support

Clapping shows how much you appreciated Hidemasa Oda’s story.