47
データ解析のための統計 モデリング入門 1 2 @ito_yan E-mail: 1mail2itoh3 [at] gmail.com 2016.08.06 NagoyaStat #1

データ解析のための統計モデリング入門 1~2章

Embed Size (px)

Citation preview

データ解析のための統計モデリング入門 1~2章

@ito_yan

E-mail: 1mail2itoh3 [at] gmail.com

2016.08.06

NagoyaStat #1

はじめに

•所属する組織の意見・見解ではありません

•つまらないなら睡眠学習・予習に当てましょう

•掲載にあたって、スライドの内容を一部差し替えております

2

自己紹介

• TwitterID: @ito_yan

•統計検定1級(2012年)合格

•既に昔話になりつつある

•現在はサーバ管理が主業務

• VMware、XenServerの利用

•アプリケーション開発

•最近はネットワークの学習中

• 「まずはスモールデータより始めよ」派

•スモールデータを経由せずにビッグデータを勧めない

•統計ファンダメンタリスト 3

第1章 データを理解するために

統計モデルを作る

4

統計モデルとは

•観察によりデータ化された現象を説明するもの

•確率分布を基本的な部品とし、それらを組み合わせて、データのばらつきを表現する

•データとモデルを対応付ける手続きがあり、モデルがデータにどの程度よくあてはまっているかを定量的に評価できる

5

自然科学における2段階の情報損失

•この読書会では第2段階に注目する

•観測データに変換することで、どんなデータも統計という共通の手法で扱えるため

•統計モデルが有効なのは、確率分布を使うことで、データの「ばらつき」、「誤差」を表現できるため

6

ブラックボックスな統計解析

•理解しないままソフトウェアを使うこと

•データを入れれば結果は返るが、不適切な作法

•こんなお作法が該当する

•有意差が出るまで検定手法をコロコロ変える

•決定係数が1に近ければよい

• p値が小さいほど自分の主張は正しい

•研究のような小さいコミュニティでは、内輪でしか通用しない、データ解析の「秘儀」が継承されやすい

7

今後の流れ(1)

•線形モデル(LM)と一般化線形モデル(GLM)

•線形モデルはデータのばらつきが等分散正規分布を仮定している(最小二乗法はこれにあたる)

• GLMはばらつきがカウントデータになるなど、LMを拡張した考え方である

• AICを使ったモデル選択

•良いモデルというのは、良い予測をするものである

•ロジスティック回帰

•事象の生起確率を扱うためのもの

8

今後の流れ(2)

•一般化線形混合モデル(GLMM)

•固定効果に加えてランダム効果を考慮する

•マルコフ連鎖モンテカルロ法(MCMC)

•多くのパラメータを一度に推定するのに便利

• MCMCはベイズ統計モデルの枠組みで考える

•階層ベイズモデル

•場所差や個体差といった局所的なパラメータの扱い方をベイズモデルで検討する

•空間構造を含んだ統計モデル

•隣とは相関があるという点を考慮する

9

観測できない個体差のこと

モデルの表現範囲の広がり

•書籍の後半に向かうにつれて、統計モデルで表現できることの範囲が広がっていく

10

本書の用語一覧

•応答変数

•現象の結果として観察されるデータ

•説明変数

•原因であるデータ

• GLMの式(応答変数と説明変数の関係式)

• f:リンク関数

• :切片、それ以外( ):傾き

•線形予測子:右辺の式のこと

11

本書の記法(1)

•個体番号を表すのに添字を用いる

とすれば、個体番号は1~50

• の予測の際に、個体を特定しないために と書くことがある

• のどれでもよいということで と書くことがある

•和や積を取る対象が明らかなときには個体の添字を略記することがある

12

本書の記法(2)

• という比例の関係があるとき、

と表記する

•確率変数がある確率分布に従うとき、~でそれを表現することがある

•事象AとBが同時に生起する同時確率を

と書く

•事象Bが起きたときに、事象Aが生起する条件付き確率を と書く

13

本書の記法(3)

•全体集合 を と書くことがある(Nは集合の要素数)

•応答変数と説明変数の集合については、太字で表記すると、全体の集合を表すことにしておく

14

第2章 確率分布と統計モデルの

最尤推定

15

例題:種子数の統計モデリング

• 50個体の植物集団を調査しており、各個体の種子数データを統計モデルを使って表現したい

•データはカウントデータ(0個, 1個, 2個, …)と数えられる特徴をもつ

•データは以下のURLにあるものを利用する

• http://hosho.ees.hokudai.ac.jp/~kubo/stat/iwanamiboo

k/fig/distribution/data.RData

16

Rによるデータの確認(1)

•サポートサイトのRDataはload関数で読み込める

• RDataはsave関数で作成する

• dataという関数があるので、本来はdataという名称のデータは作らない方が無難

•データの変数名を打つと、データが表示される

•データ数を数えるにはlength関数を用いる

17

先頭から37番目のデータ

Rによるデータの確認(2)

•基本な統計量はsummary関数で分かる

•平均は3.56となっている

•データの度数分布はtable関数で確認できる

•種子数1の植物が3個体あることがわかる

18

Rのquantile関数の実装について

• summary関数にはquantile関数が使われている

• ?quantileとすると、関数のヘルプが開ける

•分位点の計算方法は9通り実装されている

•引数省略時はS言語と同じ手法になる

•分位点の前後の値で線形補間して求めている

19

50%点は6.5番目の位置にあり、

25%点は3.75番目の位置にある

Rによるデータの確認(3)

•ヒストグラムによるデータの確認

20

ヒストグラムのバーの左右の値が、bsの値で決められれている

Rによるデータの確認(4)

•標本分散と標本標準偏差の計算

•表示される桁数がテキストと異なるが、options(digits=5) とコマンドすれば、表示する最大桁数を調整することができる

•標本分散は2.99

21

データと確率分布の対応

•種子数データを統計モデルとして表すにはポアソン分布という確率分布が便利

•確率分布とは、確率変数の値とその出現確率を対応させたもの

•個体ごとに確率変数はばらつく

•確率分布はパラメータに依存して形状を変える

•例題データは標本平均が3.56なので、平均3.56

のポアソン分布がどのようなものか調べる

22

ポアソン分布

•確率分布は以下のとおり(yは非負の整数)

•パラメータが であるときに、ポアソン分布に従う確率変数がyになる確率が

•すべてのyについて和を取ると1になっている

23

マクローリン展開より

ポアソン分布の形状を見てみる

•先ほどのヒストグラムと形状が似ている

24

ポアソン分布の性質

•期待値は となる

•確率変数は非負なので

•分散も となる

•やはり分散も非負で

•期待値と分散の導出は原点まわりの1・2次モーメントを計算することでできる(補足参照)

25

パラメータによるポアソン分布の変化

• が大きくなるにつれて、分布は右に移動する

26

期待値を3.5、7.7、15.1と変え、0~20の範囲で描画

なぜ種子数データにポアソン分布?

•ポアソン分布は下記の性質を満たしているため

•データに含まれている値は非負の整数

•データの下限は0だが、上限は不明

•この観測データの平均(3.56)と分散(2.99)はだいたい等しい

27

モデルで説明できない誤差

•この章の例題ではすべての個体が、ひとつのポアソン分布に従うと仮定している

•そのようなモデルでは、植物のサイズなど条件がそろっている状況では、どの個体も種子数が同じになるという考えになる

•個体ごとの種子数が同一の確率分布に従っていたとしても、何らかの理由で個体ごとに異なる種子数になっていると考え、これを誤差と呼ぶ

•測定誤差だけではない

•よく分からない不確定性も誤差である

28

最尤推定法

•データがポアソン分布に従うとして、そのパラメータを推定する方法に最尤推定法がある

•実際には、ポアソン分布に限らず適用できる

•尤も最もらしいパラメータの値とは?

→観測されたデータが最も生じやすいもの

•データが独立に発生しているとして、観測されたデータの発生確率が最大になるようなパラメータを探し出せばよい

29

尤度関数

•観測データの出現確率を尤度関数と呼んでいる

•独立にデータが発生したとすると、

•通常、Lを最大化する を求める際には、対数を取ることが多い(対数尤度関数という)

30

対数尤度関数がなぜ使えるか?

•対数尤度関数でも、関数を最大にする は対数を取る前の関数と変わらない

•どちらにしても を解くのと同じになる

•合成関数の微分

31

対数尤度関数の極値を導出する

•対数尤度関数は

•これを で偏微分して、

•上式を0とおくと、最尤推定量は標本平均と分かる

32

最尤推定値は標本平均の3.56

最尤推定法の一般化

•尤度は

•対数尤度は

•対数尤度関数を最大化する を探し出す

•実際には統計モデルはより複雑なので、解析的というよりも計算機を使って最尤推定値に近いものを探し出すことになる

33

最尤推定値のばらつき

• 50個のデータからパラメータを推定したが、毎回同じ種子数データが得られるわけではない

•データに応じて最尤推定値は変化する

•真値(今回は3.5が真の の値)を既知として、ランダムに50個のデータを発生させることを繰り返すと、最尤推定値(=平均)は試行ごとにばらつく

•標本分布の標準偏差を標準誤差(SE)と呼ぶ

•調査個体数が大きいほどSEは小さくなる

34

標準偏差をサンプルサイズの平方根で割ったものが標準誤差

最尤推定値のばらつきを可視化する

• 3000回データを発生させてヒストグラムを作成

• 50個(上)より200個(下)の方がばらつきは小さい

35

最大値と最小値の幅は

上図は2.04、下図は0.98

となっている

サンプルサイズを4倍にすすると標準誤差は半分に

推定値の不確かさが分かるが、本来は真値は未知である点に注意

標準偏差と標準誤差の違い

•標準偏差は標本のちらばり

•データのばらつきの程度を示す

• 1群から計算される

•標準誤差は統計量のちらばり

•母集団の平均値の信頼区間を導出する時に利用

•多群の場合に計算される

36

モデリングする人の思考過程

1. 種子数の観測データを得る

2. 統計量やグラフを用いてデータを観察する

3. データの背景にある真のモデルはポアソン分布ではないか?

4. 観測データがポアソン分布に従うとしたとき、パラメータはどんな値になるだろうか?

5. 最尤推定法を使ってパラメータを推定しよう

37

確率分布の選び方

•観測値がどのような確率分布で説明できそうか?

以下の点に注意するとよい

•離散か連続か?

•取る値の範囲は?(実数全体か非負か)

•標本分散と標本平均の関係

• 例:正規分布は平均と分散に関係はない

• 2章の例題となった種子数データは、離散、0以上、平均と分散がほぼ同じという性質があるため、ポアソン分布が選ばれている

38

予測について

•推定や検定だけで終わらせるのは不十分、以下の点についても実施を検討すべきである

•次に得られる応答変数の平均

•平均だけでなく、予測範囲も示す

•予測をすることで、現象への理解やモデルの不備が判明することがある

•欠測データを埋めるのも予測(11章の内容)

•統計モデルの良さを評価する指標として、予測の良さが挙げられる

•新しいデータに対して、どの程度当てはまるか?

39

問題が複雑になった場合

•複雑な分布を用いなくてもよい

•統計モデリングで工夫することになる

•観測できる個体差で説明できる場合は、それを説明変数に組み込む

• 観測できるというのは、植物であればサイズなど

• 3章の内容

•データ化されていない(観測できない)個体差が出てきた場合、個体差を表す確率分布を混ぜる

• 観測できないのは、遺伝など目に見えないもの

• 7章の内容

40

参考資料

•データ解析のための統計モデリング入門サポートサイト

• http://hosho.ees.hokudai.ac.jp/~kubo/ce/Iwana

miBook.html

•久保先生の講義のーと

• http://hosho.ees.hokudai.ac.jp/~kubo/stat/2008/

a/kubostat2008a.pdf

•上記URLよりいくつか図を引用しました

41

当日発表しなかった補足資料

42

標本数と標本の大きさの違い

•標本数

•母集団から抽出されたグループ

•例えば、正規分布に従う2群があり、それらの平均に差があるかを調べるときは「2標本t検定」と言う

•標本の大きさ

•一つの標本の中にあるデータ数

• 「サンプルサイズ」とも言うが、「サンプル数」とは言わないこと!

43

原点周りの1・2次モーメントの計算

44

• 25枚目のポアソン分布の期待値と分散を導出するための下準備

ポアソン分布の平均による違いの描画

• 26枚目の画像を出力するためのRのコード

•平均を変えて、分布の形状を調べる

45

対数尤度関数の式について

• 32枚目の式はテキスト26ページ(下式)から変更

•観測データに0が含まれていたので、テキストのように変形しない方がよいのではないか

• 0!=1なのでlog(0!)=0だが、log0は未定義

46

最尤推定値のばらつきを描画

• 35枚目の画像を出力するためのRのコード

47