Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

21
(初心者向け) 一般化線形モデル Kobe.R 222015113@hikaru1122

Transcript of Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

Page 1: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

(初心者向け)一般化線形モデル

Kobe.R 第22回2015年11月3日

@hikaru1122

Page 2: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

はじめに

•五島 光(ごとう・ひかる) @hikaru1122

• R歴およそ1年ちょっと。

•修論(専門職)ではMplus使いました。

•基本、統計分析は独学です。

• IT系のお作法は知りません。

• 『子犬本』はコツコツ読んでます。いっしょに読みませんか?

• ブログやってます。

Page 3: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

http://hikaru1122.hatenadiary.jp/

Page 4: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

(初心者向け)一般化線形モデル

Kobe.R 第22回2015年11月3日

@hikaru1122

Page 5: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

ウソです

•一般化線形モデルだけではつまんなくなったので・・・

Page 6: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

初心者向け統計モデリングを見てみよう正規線形モデルから

一般化線形混合モデルまで

Kobe.R 第22回2015年11月3日

@hikaru1122

Page 7: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

今日のモチベーション

•岩波DSを読んだ感想。

• 「ベイズ推定するにはモデリングに慣れないと・・・」

•統計モデルを考えることは苦手かな?

• では、学んでみよう!

•事例として使うのは次のデータ。

Page 8: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

ファームの三振と本塁打の関係

この現象をもっと見てみよう!

Page 9: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

「いつもの」

久保先生・みどり本より

Page 10: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

今日の儀式

library(ggvis) → ggvis()

library(psych) → pairs.panels()

library(glmmML) → glmmML()

library(lme4) → glmer()

今日は他にも以下を使います。

summary()

AIC()

Page 11: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

チャレンジ!

•日本プロ野球2軍チーム全選手を対象

• ホームランと三振の関係を考える

Page 12: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

正規線形モデル

kekka_lm <- lm(honruida ~ 1 + sanshin, data = yakyu)

> summary(kekka_lm)Coefficients:

Estimate Std. Error t value Pr(>|t|) (Intercept) 0.372178 0.233870 1.591 0.112 sanshin 0.083520 0.007271 11.487 <2e-16 ***

> AIC(kekka_lm)[1] 1644.714

Page 13: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

一歩先へ

•応答変数のホームラン(本塁打)は正規分布なの?

psych::pairs.panels(yakyu[,c(10,13)])

Page 14: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

一般化線形モデル

kekka_glm <- glm(honruida ~ 1 + sanshin, data = yakyu, family = "poisson")

> summary(kekka_glm)Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) 0.114761 0.060930 1.883 0.0596 . sanshin 0.025022 0.001285 19.469 <2e-16 ***

> AIC(kekka_glm)[1] 1560.325

Page 15: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

もっと先へ

• チームごとに傾向が違うんじゃない?

Page 16: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

一般化線形混合モデル①

kekka_glmmML <- glmmML(honruida ~ 1 + sanshin, cluster = team, data = yakyu, family = "poisson")

> summary(kekka_glmmML)coef se(coef) z Pr(>|z|)

(Intercept) 0.07895 0.09202 0.858 0.391sanshin 0.02552 0.00135 18.898 0.000

Residual deviance: 883.6 on 336 degrees of freedom AIC: 889.6

Page 17: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

一般化線形混合モデル②

kekka_glmer <- glmer(honruida ~ 1 + sanshin + (1| team), data = yakyu, family = "poisson")

> summary(kekka_glmer)Random effects:Groups Name Variance Std.Dev.team (Intercept) 0.05318 0.2306

Fixed effects:Estimate Std. Error z value Pr(>|z|)

(Intercept) 0.078951 0.091922 0.859 0.39 sanshin 0.025519 0.001347 18.939 <2e-16 ***

> AIC(kekka_glmer)[1] 1538.681

Page 18: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

一般化線形混合モデル③

kekka_glmer <- glmer(honruida ~ 1 + sanshin + (1| team), nAGQ = 10, data = yakyu, family = "poisson")

> summary(kekka_glmer)Random effects:Groups Name Variance Std.Dev.team (Intercept) 0.05326 0.2308 Number of obs: 339, groups: team, 12

Fixed effects:Estimate Std. Error z value Pr(>|z|)

(Intercept) 0.07893 0.09206 0.857 0.391 sanshin 0.02552 0.00135 18.897 <2e-16 ***

> AIC(kekka_glmer)[1] 889.5581

Page 19: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

三振も考慮するとAICが増えてしまった

kekka_glmer2 <- glmer(honruida ~ 1 + sanshin +(1 + sanshin| team), data = yakyu, family = "poisson")

> summary(kekka_glmer2)Random effects:Groups Name Variance Std.Dev. Corr team (Intercept) 1.619e-02 0.127248

sanshin 4.451e-05 0.006671 -0.37Number of obs: 339, groups: team, 12

Fixed effects:Estimate Std. Error z value Pr(>|z|)

(Intercept) 0.04973 0.07561 0.658 0.511 sanshin 0.02629 0.00244 10.773 <2e-16 ***

> AIC(kekka_glmer2)[1] 1529.176

Page 20: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

まとめ

• プロ野球2軍の三振とホームランの関係は辛うじてある

• チームごとの差も影響を与えている

• ただ、数値は有意ではあっても、「ほとんどない」感じ。

•同じモデルなのに、glmmML() と glmer() の計算結果が違う。

• もっと自由なモデリングのためにベイズを勉強したい。

Page 21: Kobe.R 第22回 初心者向け「正規線形モデルから一般化線形混合モデルまで」

参考文献