多重ロジスティックモデル     Last modified: Nov 17, 2004

目的

R に用意されている glm 関数を用いて多重ロジスティック回帰分析を行う。
(R によるプログラム例も参考になるかな?)

使用法

glm(モデル式,データフレーム名,family=binomial)

引数

モデル式は y ~ x1+x2+x4 のような形式で表現する
モデル式中の y,x1,x2,x3 などはデータフレームの変数名

使用例

分析に使うデータは lr.data という名前で用意されているとする(lr.data を見てみる)。

独立変数は x1, x2
従属変数は y

data <- read.table("lr.data", header=TRUE)
result <- glm(y ~ x1+x2, data, family=binomial)
result
summary(result)
coefficients(result)
residuals(result)
  など

result0 <- glm(y ~ 1, data, family=binomial)
anova(result0, result, test="Chisq")


出力結果例

> data <- read.table("lr.data", header=TRUE)
> result <- glm(y ~ x1+x2, data, family=binomial)
> result

Call:  glm(formula = y ~ x1 + x2, family = binomial, data = data) 

Coefficients:
(Intercept)           x1           x2  
  -5.645581     0.008297     0.011386  

Degrees of Freedom: 97 Total (i.e. Null);  95 Residual
Null Deviance:	    76.71 
Residual Deviance: 72.18 	AIC: 78.18 
> summary(result)

Call:
glm(formula = y ~ x1 + x2, family = binomial, data = data)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.4350  -0.5413  -0.4625  -0.3801   2.2197  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)  
(Intercept) -5.645581   3.048239  -1.852   0.0640 .
x1           0.008297   0.021208   0.391   0.6956  
x2           0.011386   0.005740   1.984   0.0473 *
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 76.714  on 97  degrees of freedom
Residual deviance: 72.184  on 95  degrees of freedom
AIC: 78.184

Number of Fisher Scoring iterations: 5

> coefficients(result)
 (Intercept)           x1           x2 
-5.645580693  0.008297108  0.011386484 

> residuals(result)
         1          2          3          4          5          6          7 
 2.0972899  1.5625411  2.1967232  2.1767753  1.8665989  2.0548909 -0.4170057 
         8          9         10         11         12         13         14 
 1.6885385 -0.3601806 -0.3990558  1.9670456  1.9349012  2.2197067  1.7065171 
        15         16         17         18         19         20         21 
 1.9215695  1.4563358 -0.5168576 -0.5069061 -0.3865767 -0.7133382 -0.3640321 

    【後略】


分析したモデルが有意かどうかの検定

> result0 <- glm(y ~ 1, data, family=binomial)
> anova(result0, result, test="Chisq")
Analysis of Deviance Table

Model 1: y ~ 1         説明変数を使わないモデル
Model 2: y ~ x1 + x2      分析したモデル
  Resid. Df Resid. Dev Df Deviance P(>|Chi|)
1        97     76.714                      
2        95     72.184  2    4.530     0.104	P 値


・ 解説ページ


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh