广义线性模型

Author

221527110陈艺印

1 广义线性模型

1.1 Logisitic回归:妊娠糖尿病分析

  • 因变量:糖尿病(Diabetes){阳性:pos,阴性:neg},设阳性为1、阴性为0

  • 自变量:年龄(Age)、体重指数(BMI,kg/m2 )、血糖浓度(Glucose )、舒张压(Diastolic blood pressure,(mm)Hg )、怀孕次数(Number of times pregnant )

  • 数据文件:diabetes.csv,共 724个观察值

1.1.1 划分训练集和测试集

  • 前450条个案为训练集,用于估计Logist模型
  • 后274条个案为测试集,用于评价模型的估计效果
  • 训练集糖尿病率36.44%,测试集糖尿病率为31.02%,两者大致相等。

1.1.2 训练集估计回归方程

term estimate std.error statistic p.value
(Intercept) -7.950 0.97 -8.21 0.00
Age 0.012 0.01 1.00 0.32
BMI 0.089 0.02 4.81 0.00
Glucose 0.032 0.00 7.39 0.00
Pressure -0.005 0.01 -0.50 0.61
Pregnant 0.098 0.04 2.45 0.01

\[ log(\frac{p}{1-p}) =-7.95+0.012\times Age+0.089\times BMI+0.032\times Glucose-0.005\times Pressure+0.098\times Pregnant\]

1.1.3 测试集预测效果评价

pos_pred neg_pred
pos 53 32
neg 21 168

由训练集预测混淆矩阵可知

  • 准确率(accuracy):80.66%
  • 精确率(precision):62.35%
  • 召回率(recall):71.62%
  • \(F_1\)得分(\(F_1\) score):66.67%

1.1.4 回归模型边际效应

     Age      BMI  Glucose Pressure Pregnant 
    0.26     1.94     0.70    -0.11     2.14 
  • 年龄每增加一岁患病风险提高0.26%;体重指数每增加1患病风险提高1.94%;血糖浓度每增加1患病风险提高0.7%;舒张压每增加1患病风险降低0.11%;怀孕次数每增加一次患病风险提高2.14%。

  • 体重指数、血糖浓度、怀孕次数对患病风险呈正向影响,符合预期。

  • 年龄和舒张压对患病风险影响小且不显著,考虑逐步回归选择更合适的模型

1.2 Logisitic回归逐步回归

1.2.1 逐步回归的回归方程

根据以上结果,去除影响小且不显著的age、Pressure变量进行逐步回归

term estimate std.error statistic p.value
(Intercept) -7.940 0.82 -9.69 0
BMI 0.085 0.02 4.82 0
Glucose 0.033 0.00 7.67 0
Pregnant 0.115 0.03 3.32 0

\[ log(\frac{p}{1-p}) =-7.94+0.085\times BMI+0.033\times Glucose+0.115\times Pregnant\]

step.glm=step(glm.fits)
Start:  AIC=458.43
Diabetes ~ BMI + Glucose + Pregnant

           Df Deviance    AIC
<none>          450.43 458.43
- Pregnant  1   461.76 467.76
- BMI       1   476.19 482.19
- Glucose   1   522.88 528.88
summary(step.glm)

Call:
glm(formula = Diabetes ~ BMI + Glucose + Pregnant, family = binomial, 
    data = diabetes, subset = id.train)

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -7.939663   0.819306  -9.691  < 2e-16 ***
BMI          0.085129   0.017658   4.821 1.43e-06 ***
Glucose      0.032675   0.004262   7.666 1.77e-14 ***
Pregnant     0.115033   0.034649   3.320    9e-04 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 590.34  on 449  degrees of freedom
Residual deviance: 450.43  on 446  degrees of freedom
AIC: 458.43

Number of Fisher Scoring iterations: 4

AIC值降低,新模型比原模型好

1.2.2 逐步回归的预测效果

     y.pred
y     pos_pred neg_pred
  pos       53       32
  neg       22      167

由混淆矩阵可知:

  • 准确率(accuracy):80.29%
  • 精确率(precision):62.35%
  • 召回率(recall):70.67%
  • \(F_1\)得分(\(F_1\) score):66.25%

1.2.3 逐步回归的边际效应

     BMI  Glucose Pregnant 
    1.87     0.72     2.52 

BMI每增加一个单位。则患病风险提高1.87%;血浆浓度每增加一个单位,患病风险提高0.72%;怀孕次数每增加一次,患病风险提高2.52%。

体重指数、血糖浓度、怀孕次数对患病风险呈正向影响,符合预期。

逐步回归选择更适合的模型去除掉了不显著的变量,比原模型预测效果更好。

2 判别分析

2.1 线性贝叶斯判别

2.1.1 判别函数

由于只有目标变量只有两类,线性贝叶斯判别等价于Fisher判别。以下为Fisher判别的判别函数:

\[ w =5.981+0.008\times Age+0.068\times BMI+0.028\times Glucose-0.003\times Pressure+0.082\times Pregnant\]

该判别函数和Logsitic回归的方程近似等价,各系数存在近似的倍数关系。注意,这里\(w\)大于0判为neg,小于0判为pos。

2.1.2 测试集合的预测结果

测试集合预测的后验概率:

两类后验概率差异越大代表判别越有把握,错判的概率越小。

测试集合预测的混淆矩阵

pos_pred neg_pred
pos 53 32
neg 22 167

预测效果与Logistic模型基本一致。

2.2 二次贝叶斯判别

2.2.1 测试集合的预测的后验概率

2.2.2 测试集合的混淆矩阵

pos_pred neg_pred
pos 53 32
neg 23 166