読者です 読者をやめる 読者になる 読者になる

INPUTしたらOUTPUT!

忘れっぽいんでメモっとく

第3回 「データ解析のための統計モデリング入門」 読書会に参加してきた

以下メモ


※ 交互作用のスペルを修正(intersection → interaction)

オープニングトーク

  • 次回の懇親会は会場でピザ&ビール!


第3章「一般化線形モデル(GLM)」前半

  • 一般化線形モデルの特徴
    • 線形予測子
    • 誤差構造に正規分布以外も使用できる
    • リンク関数
  • 結果の見方
    • z value
      • (推定値が?)0から十分に離れているか
      • 信頼区間が0を挟むと正に効いているか負に効いているか判断できない
    • Pr
      • 信頼区間の精度
      • 0に近いほど信頼区間の幅が狭い
  • fitやsummaryで推定値などの有効桁数が変わるのはRの重大なバグでは?
    • options()で有効桁数を変更できる
  • Interceptやxが両方負の場合はある?
    • 両方負でもλは負にならないのでありそうな気はする


第3章「一般化線形モデル(GLM)」後半

  • あてはまりのよさ = goodness to fit
  • world cupのデータでlm()とglm()で比較してみた
    • lm()だとFIFAポイントの差が低いときにゴール数が負になる
  • 施肥処理の係数が負になっているのは体サイズと相関があるから?
    • 交互作用を考慮すると両方、正になって交互作用項が負になるかも
  • モデルに使用する分布はどのように決めるか?
    • 経験


施肥処理有無の係数(β3)が負であることに対して活発な議論が行われたけどfit.allのsummary()見てみれば手っ取り早いんじゃないかな。。。

> d <- read.csv("http://hosho.ees.hokudai.ac.jp/~kubo/stat/iwanamibook/fig/poisson/data3a.csv")
> fit.all <- glm(y~x+f, data=d, family=poisson)
> summary(fit.all)
Call:
glm(formula = y ~ x + f, family = poisson, data = d)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3977  -0.7337  -0.2023   0.6795   2.4317  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  1.26311    0.36963   3.417 0.000633 ***
x            0.08007    0.03704   2.162 0.030620 *  
fT          -0.03200    0.07438  -0.430 0.667035    
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 89.507  on 99  degrees of freedom
Residual deviance: 84.808  on 97  degrees of freedom
AIC: 476.59

Number of Fisher Scoring iterations: 4


上記の結果を見ると

  • z valueは-0.430で0に近い
  • Prが0.667035で信頼区間の幅が広い

ということで施肥処理有無の係数の正負について議論するのは無駄に思える。。。


@gepuro氏が指摘していたように交互作用を考慮したモデルを作ってみると

>fit.interaction <- glm(y~x+f+x:f, data=d, family=poisson)
>summary(fit.interaction)
Call:
glm(formula = y ~ x + f + x:f, family = poisson, data = d)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.34021  -0.70830  -0.08003   0.61096   2.30386  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  0.74591    0.51542   1.447   0.1478  
x            0.13226    0.05162   2.562   0.0104 *
fT           1.07157    0.76146   1.407   0.1594  
x:fT        -0.10848    0.07450  -1.456   0.1454  
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 89.507  on 99  degrees of freedom
Residual deviance: 82.680  on 96  degrees of freedom
AIC: 476.46

Number of Fisher Scoring iterations: 4

となり施肥処理単体の係数は正になるけど交互作用項の係数が負になることが分かる。


ただ著書の久保先生の生態学データ解析 - FAQ 一般化線形モデルによると

交互作用項がある GLM というのはある意味「線形モデルとしては失敗している」と言えるかもしれません

とある。説明が難しくなるかもしれないが「交互作用がある」ということを説明できれば交互作用項があっても良いように思うんだけどどうなんだろう?


LT 猫に教えてもらうルベーグ可測

  • 正直、まったく理解できなかった。。。orz
  • 大数の法則中心極限定理は測度論も関係するらしいのでいつかはちゃんと理解したい


ドキュメントのWebを泳ぐ。Rで始めるBADデータ・ダイビング!

http://nbviewer.ipython.org/gist/nezuQ/3185c698ac82067d9257

  • 先日のTokyo.Rの発表を飛び込みLTで実施
  • SeleniumはWEBアプリの自動テストで使用してたけどこの界隈だとスクレイピング目的で使うことが多いみたい
    • そもそもFirefox使ってないや。。。
  • IPythonを使うとpythonでReproducible Researchができるみたい
    • Rだとknitr



次回はAICによるモデル選択。印籠的に「AICが低いと良いモデル」と判断してしまっているので次回も参加して内容理解したい。