top of page

MIT Computational Thinking and Data Science のまとめ(Part 2)

執筆者の写真: Daiki AkasakaDaiki Akasaka

MITの6.0002のIntroduction to Computational Thinking and Data Science、全15回の内容をoutputして行きます。


Youtube動画のplaylistはこちら


講義で使われていたスライドはこちらから入手できます。本ページの資料で注釈がないものは、こちらのスライドからの引用です。



講義内容

  • 第1回、第2回 : 最適化問題

  • 第3回 : グラフ理論

  • 第4回 : 確率論

  • 第5回 : ランダムウォーク

  • 第6回 : モンテカルロシュミレーション

  • 第7回 : 信頼区間

  • 第8回 : 標本と標準誤差

  • 第9回、第10回 : 実験データの理解

  • 第11回 : 機械学習の紹介

  • 第12回 : クラスタリング

  • 第13回 : クラス分類

  • 第14回 : 統計学の落とし穴

  • 第15回 : まとめ


確率論

 英語で、確率論はstochastic で、統計学がStatistic でちょっと紛らわしい。量子力学の世界ではコペンハーゲン解釈というのがあって、粒子は重ね合わせの状態が存在していて、観測するまではどちらの状態か分からない。

 例えば、コインを投げて、それを両手でキャッチする。手の中を見るまでは、表なのか裏なのかが分からない。手の中にコインがある時は、表と裏の両方の重ね合わせの状態になっていて、手を開いて初めて、表か裏かが確定する。アインシュタインは当初は、コペンハーゲン解釈に懐疑的で"神様はサイコロを振らない"という言葉を残している。


 確率は、ある事象が起こる確率がpの場合は、起こらない確率は1-pと表すことができる。明日、晴れる確率が30% ならば、晴れない確率は70%になる。

 事象Aと事象Bが独立ならば、それぞれが起こる確率を掛け算することができる。


誕生日のパラドックス

 同じクラスに同じ誕生日の人がいる確率はどれくらいか?直感的には、100人くらいはいれば、1組くらいは存在してそうだが、実際には23人いれば、確率は50%を超えてくる。

直感と計算から求められる確率が大きくズレる例


出典 : https://ja.wikipedia.org/wiki/%E8%AA%95%E7%94%9F%E6%97%A5%E3%81%AE%E3%83%91%E3%83%A9%E3%83%89%E3%83%83%E3%82%AF%E3%82%B9


ランダムフォーク

 日本語では、酔歩(すいほ)と言われ、酔っ払いが前、後ろ、左、右にランダムに歩くような様子で、株価や、粒子の拡散運動などのモデルとしても使われる。

 ある銘柄の株価の値段はランダムウォークと同じ動きをするので、いろいろ分析してもしなくても、投資結果には差が出ないという話。


 酔っ払いが、上下左右、ランダムに一歩づつ移動したとして、100,000歩目はどこにいるのか予測してみる。どのような分布になるのだろうか。

1000歩を100回試行したときの、距離の平均と最大/最小値
(' Mean =', 27.783)
(' Max =', 70.2, 'Min =', 3.2)

10000歩を100回試行したときの、距離の平均と最大/最小値
(' Mean =', 86.389)
(' Max =', 251.4, 'Min =', 7.6)

100000歩を100回試行したときの、距離の平均と最大/最小値
(' Mean =', 282.203)
(' Max =', 725.5, 'Min =', 12.6)

 Step数と距離の平均値の関係をplotしてみると、以下のようになる。Step数の平方根とほぼ同じようなグラフになっていることが分かる。

ランダムウォークのように普通に計算式で求めようとすると難しい問題でも、コンピューター上でシュミレーションをすることで、どういった動きになるかを予測する事ができる。


モンテカルロシュミレーション

 推計統計学を使って、計算することが困難な事柄を予測する事ができる。推計統計学は母集団から、サンプルを抜き取ってそのサンプルの確率分布を調べたり、相関、回帰などを行って、その結果を母集団にも適応する事ができる。


 コインを投げて、次に表か裏が出るのかは分からないが、1,000回、10,000回と回数を増やせば増やすほど、表と裏が出た割合は1/2に近づいてく。

 コインやサイコロであれば、簡単に確率を求めることができるが、計算がもっと複雑になる場合では、何度も試行回数を増やしていけば、確率が求める事ができる。


 例えば、カジノにあるルーレット。1~36までの数字がルーレットに割り振られていて、ルーレットを回して、自分がかけた数字になれば、かけた金額の36倍を得る事ができる。アメリカタイプのルーレットでは、1~36に0と00も追加で存在していて、ヨーロッパタイプは0のみが追加されている。0と00が存在していなければ、フェアなルーレットであるが、実際には、0と00があるので、勝率がどれだけになるのかシュミレーションをして求める。試行回数を増やせば増やすほど、正確な値を得る事ができる。実際にかけた金額に対してどれだけのリターンが出るか。


1000回、ルーレットを回して、その20回の平均 Exp. return for Fair Roulette = 6.56% Exp. return for European Roulette = -2.26%

Exp. return for American Roulette = -8.92%

10000回、ルーレットを回して、その20回の平均 Exp. return for Fair Roulette = -1.234%

Exp. return for European Roulette = -4.168%

Exp. return for American Roulette = -5.752%

100000回、ルーレットを回して、その20回の平均 Exp. return for Fair Roulette = 0.8144% Exp. return for European Roulette = -2.6506%

Exp. return for American Roulette = -5.113%

1000000回、ルーレットを回して、その20回の平均

Exp. return for Fair Roulette = -0.0723%

Exp. return for European Roulette = -2.7329%

Exp. return for American Roulette = -5.212%


0と00が存在していないルーレットでは、リターンは0%に近づいて、勝ちも負けもしないが、0が追加されたヨーロッパルーレットでは、かけた金額の2.7% 近く失う。0と00が追加されたアメリカルーレットでは、かけた金額の5.2% 近く失ってしまう。

このように条件が複雑な事象を予測するときに、シュミレーションで試行回数を増やしていくことで、分かることがある。これがシュミレーションの力である。計算上、分からないことでもコンピューターを使って何度も何度も試行させれば分かる事がある。


中心極限定理と信頼区間

 シュミレーションをするときに、試行回数を何回やれば正しそうな値を求める事ができるのか? 世論調査で、何人くらいの人に聞けば、信頼できる値が得られるのか?

 こういった問いに対して、中心極限定理と信頼区間を使うことができる。


 中心極限定理とは、「平均μ、分散σ^2の母集団から無作為に取り出した標本平均は、nが十分に大きいとき近似的に平均μ、分散σ^2/n の正規分布に従う。」


 これは、nが大きければ大きいほど、n個のサンプルの標本平均は母集団の平均に近くなり、分散も小さくなる。母集団の分布に関係なく、標本平均は中心極限定理に従う。つまり、どんなタイプのシュミレーションでも、世論調査でも、同じように使う事ができる。


 正規分布に従うと、68–95–99.7則という法則を使う事ができる。

正規分布に従う場合には、

平均μ±σ の中に68%の確率で含まれる。

平均μ±2σ の中に95%の確率で含まれる。

平均μ±3σ の中に99.7%の確率で含まれる。


これは、母集団の標準偏差μをある程度の値で仮定することによって、サンプル数から標本平均がどれだけ信頼できる値なのかを説明することができる。シュミレーションをした結果がどれだけ正しいのかを聞かれたときには、68–95–99.7則を使ってどれだけ信頼できる値なのかを説明する事が可能である。


ビュッホンの針

 針を使って確率的に、円周率を求める事ができる。以下のように半径が1cmの円と縦と横の長さが2cm の正方形を用意する。そこに無数の針を投げて、円の中に落ちた針の数と円の外に落ちた数の割合を数える。その割合は、π(円の面積)/4(正方形の面積) と同じになるので、間接的にπを求める事ができる。


 針の数を増やせば増やすほど標準偏差も小さくなって、より正確なπの値を求める事ができる。

Est. = 3.1484400000000012, Std. dev. = 0.047886, Needles = 1000

Est. = 3.1391799999999987, Std. dev. = 0.035495, Needles = 2000

Est. = 3.1410799999999997, Std. dev. = 0.02713, Needles = 4000

Est. = 3.141435, Std. dev. = 0.016805, Needles = 8000 Est. = 3.141355, Std. dev. = 0.0137, Needles = 16000 Est. = 3.1413137500000006, Std. dev. = 0.008476, Needles = 32000

Est. = 3.141171874999999, Std. dev. = 0.007028, Needles = 64000

Est. = 3.1415896874999993, Std. dev. = 0.004035, Needles = 128000

Est. = 3.1417414062499995, Std. dev. = 0.003536, Needles = 256000

Est. = 3.14155671875, Std. dev. = 0.002101, Needles = 512000


標準誤差

 標準誤差は、予測から求められた結果がどれだけ、実際の正しい値からズレているかを表している。

 例えば、アメリカの過去54年間の毎日の気温、54年x365日分の母集団のdataから、サンプルを抽出する。そのサンプルを使って、平均気温を求めようとしたときに、どれくらいのryounサンプルが必要となるか。エラーバーを使うことで、95%信頼区間の大きさがどれだけになるか分かる。サンプル数が増えていくほど、95%信頼区間が小さくなる。


では、標準誤差を使って、どれだけのサンプル数を取ればいいのかを考える。標準誤差は以下の式で求められる。


SE(Standard Error) = σ/√n

標準誤差 = 母集団の標準偏差/サンプル数の平方根


 母集団の標準偏差が大きいほど、標準誤差が増えて、サンプル数を増やすと、その平方根で標準誤差が小さくなる。

母集団の標準偏差が大きいほど、より多くのサンプル数が必要になる。


 一方で、母集団の標準偏差はどのように推定すればいいのだろうか。母集団の標準偏差が分からないと、必要なサンプル数が分からない。

 方法は、サンプルの標準偏差から母集団の標準偏差を推測する。


例えば、以下の異なる3つの分布に関して、サンプルの標準偏差と母集団の標準偏差がどれだけ異なるかを見てみる。


 このように、母集団の分布に応じて、サンプルの標準偏差と母集団の標準偏差の差分を表すグラフが異なってくる。母集団の分布が非対称なものほど差が大きいことがわかる。

 Exponential の場合は、母集団の分布が非対称なので、標準偏差の差が大きく、より多くのサンプル数を取らないと、母集団の標準偏差と近い値にはならない。


 また、ある程度のサンプル数になると、そこからサンプル数を増やしていっても、標準偏差の差にほとんど変化がなくなるので、それ以上はサンプル数を増やす必要がなく、サンプルの標準偏差から母集団の標準偏差を見積もることが可能になる。

 どれくらいのサンプル数で標準偏差の差に変化が出ないのかは、母集団の分布の対称性、歪み(Skew) による。


閲覧数:29回0件のコメント

最新記事

すべて表示

Comments


  • Facebook
  • Twitter
  • Instagram
bottom of page