27
調査観察データの統計科学 勉強記1 西尾泰和

調査観察データの統計科学1

  • Upload
    nishio

  • View
    456

  • Download
    2

Embed Size (px)

DESCRIPTION

勉強メモ

Citation preview

Page 1: 調査観察データの統計科学1

調査観察データの統計科学 勉強記1

西尾泰和

Page 2: 調査観察データの統計科学1

今回の目的

• 2章の「入試選抜による選択バイアス」問題を、

実際に類似の問題に出会った時に解くことができるレベルまで理解する

• …ためにまずはこの問題を実際に解く

Page 3: 調査観察データの統計科学1

問題の定義

• 得たいもの:「入試の点数と、入学後の点数の関係を知りたい!」

Page 4: 調査観察データの統計科学1

入試の点数𝑦1

入学後の試験の点数𝑦2

Page 5: 調査観察データの統計科学1

こうなってほしい

真のモデルは𝑁 𝑦1, 𝑦2 50, 50 , ( 100, 70 , 70, 100 ))

Page 6: 調査観察データの統計科学1

データがない

• 入試で落ちた人の「入学後の点数」は不明

不明

Page 7: 調査観察データの統計科学1

合格者のデータから推定…

全然ダメだ!

モデルは二次元ガウス分布と仮定して合格者のデータからパラメータを最尤推定

Page 8: 調査観察データの統計科学1

何ができる?

• 不合格者のデータも使おう!

Page 9: 調査観察データの統計科学1

不合格者のy2の値は実際には存在しないが、 あえて「実際には存在しているけどたまたま欠測しただけ」と考える

反実仮想アプローチ

Page 10: 調査観察データの統計科学1
Page 11: 調査観察データの統計科学1
Page 12: 調査観察データの統計科学1

尤度の定義

「mが𝑦𝑜𝑏𝑠だけで決まる」条件下での尤度

この尤度を最大にするθが知りたい!

→argmax𝜃 𝑝(𝑦𝑜𝑏𝑠|𝜃) を計算すれば良い

Page 13: 調査観察データの統計科学1
Page 14: 調査観察データの統計科学1
Page 15: 調査観察データの統計科学1
Page 16: 調査観察データの統計科学1
Page 17: 調査観察データの統計科学1

Lを最小化する2つのアプローチ

• Lをパラメータθの各変数について偏微分して0と起き、連立方程式を解いたら極値を取るθがわかるよね、という解析的アプローチ (人間が頑張って数式を計算する)

• LをそのまんまPythonで実装して、 scipy.optimizeで最小値を求めるアプローチ (CPUが頑張って数値計算する)

Page 18: 調査観察データの統計科学1

2次元ガウス分布の負の対数尤度

毎回データを舐めるなんて遅そう?でもとりあえずやってみる

式をそのまんまコードにしてる:

Page 19: 調査観察データの統計科学1

1次元ガウス分布の負の対数尤度

Page 20: 調査観察データの統計科学1

観測データに対する負の対数尤度

足すだけ

Page 21: 調査観察データの統計科学1

Scipyに投げる

適当な初期値(平均0、分散1)から探索スタート

Page 22: 調査観察データの統計科学1

できた!

Page 23: 調査観察データの統計科学1

before

Page 24: 調査観察データの統計科学1

after

Page 25: 調査観察データの統計科学1

正解とのズレ

Page 26: 調査観察データの統計科学1

所要時間

• N=300: 0.67sec

• N=900: 1.68sec

• N=2700: 4.83sec

• N=8100: 15.24sec

意外と速くていろんな応用に使えそう。

速度が問題になるケースでは両群について十分統計量∑𝑦1, ∑𝑦2, ∑𝑦1

2, ∑𝑦1𝑦2, ∑𝑦22を計算することで尤

度関数からループを追い出せるはず。

指摘:今回パラメータが5個で、それが変わった時の速度の変化を調べてない 指摘:微分を計算してoptimizeに与えることで高速化って手も

Page 27: 調査観察データの統計科学1

まとめ

• 対数尤度関数を適当に実装してscipyに突っ込んだけど意外と速かった

• 意外と簡単に応用できることがわかったので実際に解いてみるアプローチはよさげ

• 次回はp.72「小学校での英語教育の有無で

国語の成績に有意差があるけど実は家庭環境の差が原因」問題を解く?