72. 一般化線形モデル


一般化線形モデル

関数 glm() を用いることで一般化線形モデルを扱うことが出来る.

関数 termplot() も参照されたい.ところで,線形混合モデルはパッケージ nlme 中の関数 lme() で実行できる.

一般化線形モデルのクラスは,応答変数の分布が正規分布(gaussian),二項分布(binomial),ポアソン分布(poisson),逆正規分布(inverse.gaussian),ガンマ分布(Gamma),そして応答分布がはっきりしないときのための擬似尤度モデル(quasi)を備えており,引数 family で指定することが出来る.ファミリー名とリンク関数の表を以下に挙げる.

引数 family

リンク関数

binomial

logit, probit, log, cloglog

gaussian

identity, log, inverse

Gamma

identity, inverse, log

inverse.gaussian

1/mu^2, identity, inverse, log

poisson

identity, log, sqrt

quasi

logit, probit, cloglog, identity, inverse, log, 1/mu^2, sqrt

ロジスティックモデル の例を挙げる.

 
 b0 <- -3;    b1 <- 0.5;    x <- seq(0, 10, 0.1)
 p  <- 1/(1+exp(-b0+b1*x))
 mydata <- rbinom(length(x), 1, prob=p)
 result <- glm(mydata ~ 1+x, binomial(logit))
 summary(result)

Call:
glm(formula = mydata ~ 1 + x, family = binomial(logit))
Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.28951  -0.16852  -0.09972  -0.05892   2.86202  
Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  -3.1513     1.4901  -2.115   0.0344 *
x            -0.4216     0.4925  -0.856   0.3919