新闻中心
属性数据分析 | 第四章-逻辑回归-02&03-推断&属性预测变量的逻辑回归(评价逻辑回归模型预测性能指标)
逻辑回归的推断
对于仅有一个预测变量的模型 logit[π(x)]=α+βxlogit[\pi(x)]=\alpha+\beta x ,显著性检验主要集中在独立性的假设检验, H0:β=0H_0:\beta=0 。
利用MLE的渐进正态性,我们可以构造检验统计量 z=β^SEz=\frac{\hat{\beta}}{SE} ,在原假设成立的情况下, z∼N(0,1);z2∼χ12z\sim N(0,1);z^2\sim \chi^2_1 ,这是Wald统计量。当然我们也可以进行似然比检验,似然比统计量在原假设成立的情况下也是服从 χ12\chi^2_1 。我们还可以利用Score test进行检验。事实上我们会更倾向于置信区间的估计。
β\beta 的置信区间可以写为 β^±zα/2(SE)\hat{\beta}\pm z_{\alpha/2}(SE) π(x)\pi(x) 在 x=x0x=x_0 处的置信区间: logit[π^(x0)]=α^+β^x0logit[\hat{\pi}(x_0)]=\hat{\alpha}+\hat{\beta}x_0 ,首先我们计算 logit[π(x0)]logit[\pi(x_0)]的置信区间。因为Var[α^],Var[β^],Cov[α^,β^]Var[\hat{\alpha}],Var[\hat{\beta}],Cov[\hat{\alpha},\hat{\beta}]都在计算MLE的时候有估计,SE2SE^2 的估计量为 Var[α^+β^x0]=Var[α^]+x02Var[β^]+2x0Cov[α^,β^]Var[\hat{\alpha}+\hat{\beta}x_0]=Var[\hat{\alpha}]+x_0^2Var[\hat{\beta}]+2x_0Cov[\hat{\alpha},\hat{\beta}] ,有了 SESE 我们就可以算置信区间了: (α^+β^x0)±1.96SE(\hat{\alpha}+\hat{\beta}x_0)\pm 1.96 SE 。接下来,再做一个 exp{logit}1+exp{logit}\frac{exp\{logit\}}{1+exp\{logit\}} 的变换,就可以得到 π(x0)\pi(x_0) 的置信区间了。属性预测变量的logistic回归
预测变量只有两个类别
假设二分响应 YY 一共有两个二分预测变量, XX 和 ZZ,那么我们可以将、x、zx、z 这两个解释变量的类别分别记为 00 和 11 (这两个变量都是只有两个类别)。关于 P(Y=1)P(Y=1) 的模型可以写为:
logit[P(Y=1)]=α+β1x+β2zlogit[P(Y=1)]=\alpha+\beta_1x+\beta_2z
模型以 xx 和 zz 作为主效应。变量 xx 和 zz是指示变量,也叫作哑变量。这个模型是默认不存在交互项的。而没有交互项的前提假设,是每个因子的效应在其它因子各类别下相同。模型满足齐次关联性。也许你会问为什么不考虑交互项。一般来说,我们都会先试简单的模型,如果简单的模型不够,那么再进行改进。至于如何评价一个模型拟合的好不好,我们将会在下一章学习。在ZZ的固定类别中,当x=0x=0 变成 x=1x=1 的时候,两个 logitlogit 的差值为 β1\beta_1 ,即在 ZZ 固定之后, x=1x=1 时“成功”的优势等于 x=0x=0 时“成功”优势的 exp{β1}exp\{\beta_1\} 倍。而且,对于 ZZ 的每一个水平, XX 与 YY 的条件优势比都相同。如果 β1=0\beta_1=0 ,那么可以说明控制 ZZ 时 XX 与 YY相互独立。如果预测变量不只两个而且都是二分变量,那么添相应的变量即可:β3a+β4b+...\beta_3a+\beta_4b+...书上给的例子是New York Times 发表的关于使用AZT对减缓AIDS症状发展效应的研究。338名感染了AIDS病毒的老兵,随机地被安排立即使用AZT或者等到自身免疫不足后再使用AZT。数据记录了这些老兵的种族、是否立即使用AZT,以及AIDS症状是否继续发展。
>library(cdabookdb) >data("AZT") >AZT0=as.data.frame(AZT) >head(AZT0) Race AZTUse Symptoms Freq 1 White Yes Yes 14 2 Black Yes Yes 11 3 White No Yes 32 4 Black No Yes 12 5 White Yes No 93 6 Black Yes No 52利用种族、AZT的使用情况作为预测变量,AIDS的症状是否发展作为响应变量,拟合GLM模型。我们还是使用逻辑回归。
> AZT0$y=AZT0$Symptoms=="Yes" > AZT.glm=glm( + y~(AZTUse=="Yes")+(Race=="White"),data=AZT0,weights=Freq,family=binomial() + ) > summary(AZT.glm) Call: glm(formula = y ~ (AZTUse == "Yes") + (Race == "White"), family = binomial(), data = AZT0, weights = Freq) Deviance Residuals: 1 2 3 4 5 6 7 8 7.293 6.545 9.214 5.729 -5.491 -4.002 -7.069 -5.028 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -1.07357 0.26294 -4.083 4.45e-05 *** AZTUse == "Yes"TRUE -0.71946 0.27898 -2.579 0.00991 ** Race == "White"TRUE 0.05548 0.28861 0.192 0.84755 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 342.12 on 7 degrees of freedom Residual deviance: 335.15 on 5 degrees of freedom AIC: 341.15 Number of Fisher Scoring iterations: 5可以看出AZT效应的估计为β^1=−0.72\hat{\beta}_1=-0.72,而且Wald检验的P值告诉我们系数是显著的,这为使用AZT与AIDS症状发展之间存在关联提供了有力的证据。立即使用AZT与AIDS症状发展的条件优势比的估计值为exp{−0.72}=0.49exp\{-0.72\}=0.49。对于每一个种族,立即使用AZT的老兵AIDS症状发展的优势的估计是未立即使用AZT的老兵AIDS症状发展的优势的一半。这个模型中,种族的效应并不显著。
预测变量有II个类别
简单起见,我们首先考虑单个含有 II 个类别的预测变量,记为 XX ,响应变量 YY 是二元变量,我们可以把 YY 的类别记为 00 和 11。我们的数据将长成这样的形式:I×2I\times2 的表格,表格的第 ii 行,第一列为 yiy_i ,第二列为 nin_i 。 nin_i 为第 ii 个类别的样本总数, yiy_i 为 nin_i 当中属于类别 11 的个数。对于每一个 yiy_i ,我们认为它的二项分布参数为 πi\pi_i 。
响应变量二元,预测变量只有一个但是含II 个类别的逻辑回归模型可以写为:
,logit(πi)=α+βi,i=1,2,...,I−1logit(\pi_i)=\alpha+\beta_i,i=1,2,...,I-1
这个模型暗含着 βI=0\beta_I=0 , α=logit(πI)\alpha=logit(\pi_I) 。那么 βi\beta_i 就是第 ii 行与第 II 行之间 logitlogit 的差距,即这两行的对数优势比。当这个预测变量没有任何作用的时候, β1=β2=...=βI\beta_1=\beta_2=...=\beta_I ,这也就意味 XX 与 YY之间是独立的,因为π1=π2=...=πI\pi_1=\pi_2=...=\pi_I 。βi−βj\beta_i-\beta_j 表示了 i,ji,j 两类的对数优势比。当然上边的这个模型我们还可以写成:
logit(πi)=α+β1x1+β2x2+...+βI−1XI−1logit(\pi_i)=\alpha+\beta_1x_1+\beta_2x_2+...+\beta_{I-1}X_{I-1}
现在考虑有两个因子的模型,很自然地模型可以写成:
logit[P(Y=1)]=α+βiX+βkZlogit[P(Y=1)]=\alpha+\beta_i^X+\beta_k^Z , βiX=β1Xx1+β2Xx2+...+βI−1XxI−1\beta_i^X=\beta_1^Xx_1+\beta_2^Xx_2+...+\beta_{I-1}^Xx_{I-1}
2×2×K2\times2\times K列联表的Cochran-Mantel-Haenszel检验
CMH检验的目的,是看 logit[P(Y=1)]=α+βx+βkZlogit[P(Y=1)]=\alpha+\beta x+\beta^Z_k 的模型当中( XX是二元变量,ZZ 含多个类),固定 ZZ 的 KK个部分表是否均条件独立,即给定 ZZ 时XX 与 YY 是否条件独立。
若条件独立,那么 XYXY就具有齐次关联性(条件独立是齐次关联性的特殊情形)。又因为齐次关联性是对称的性质,如果XYXY 有齐次关联性,那么 YZ,ZXYZ,ZX也具有齐次关联性。当齐次关联性发生时,我们称在对第三个变量的影响中,这两个变量没有交互作用。所以,如果CMH检验结果显示条件独立,那么我们就有理由不加入ZZ 与 XX 的交互项。不过我们一般都是希望通过CMH检验来绕过辛普森悖论,证明 XX 与 YY 之间是否有关联,而且这个关联在不同的 ZZ 水平下是同向的。CMH检验限定每张部分表的行总和以及列总和。于是,部分表中第一行第一列的单元计数决定了这张表其它单元的计数。在部分表kk 中,行总和为 {n1+k,n2+k}\{n_{1+k},n_{2+k}\} ,列总和为 {n+1k,n+2k}\{n_{+1k,n+2k}\} 。给定这些总和,在原假设: XX 与 YY 条件独立的情况下,第 kk 张部分表的第一个单元计数n11kn_{11k} 服从超几何分布。
μ11k=E[n11k]=n1+kn+1kn++k\mu_{11k}=E[n_{11k}]=\frac{n_{1+k}n_{+1k}}{n_{++k}} , Var[n11k]=n1+kn2+kn+1kn+2kn++k2(n++k−1)Var[n_{11k}]=\frac{n_{1+k}n_{2+k}n_{+1k}n_{+2k}}{n^2_{++k}(n_{++k}-1)}
CMH统计量通过 CMH=[∑k(n11k−μ11k)]2∑kVar(n11k)CMH=\frac{[\sum_k(n_{11k}-\mu_{11k})]^2}{\sum_kVar(n_{11k})} 总结了 KK 张部分表的信息。这个统计量在原假设成立的情况下服从大样本的自由度为1的卡方分布。
当部分表 kk的真实优势比超过1.01.0 ,我们希望得到 0">(n11k−μ11k)>0(n_{11k}-\mu_{11k})>0 ,检验统计量综合了所有 KK张部分表的差值,并且希望这些差值的和是相对较大的正数;反之,当部分表kk 的真实优势比小于 1.01.0,我们则希望这些差值的和是相对较大的负数。当所有的部分表都是正数或者负数,而不是一些为正,一些为负的时候,CMH统计量将取得较大的值。在这样的情况下CMH检验才会有效。如果一些为正一些为负那么CMH统计量就不那么有效了,这个时候就需要一个一个部分表地去看。
可以参考Handbook of Biological Statistics
回到我们之前讲辛普森悖论的例子:
> dp=c(53, 414, 11, 37, 0, 16, 4, 139) > dp=array(dp, dim=c(2,2,2)) > dimnames(dp)=list(DeathPen=c("yes","no"),Defendant=c("white","black"), Victim=c("white","black")) > dp , , Victim = white Defendant DeathPen white black yes 53 11 no 414 37 , , Victim = black Defendant DeathPen white black yes 0 4 no 16 139 > ftable(dp, row.vars=c("Victim","Defendant"), col.vars="DeathPen") DeathPen yes no Victim Defendant white white 53 414 black 11 37 black white 0 16 black 4 139 > mantelhaen.test(dp) Mantel-Haenszel chi-squared test with continuity correction data: dp Mantel-Haenszel X-squared = 4.779, df = 1, p-value = 0.02881 alternative hypothesis: true common odds ratio is not equal to 1 95 percent confidence interval: 0.1991173 0.8519141 sample estimates: common odds ratio 0.4118627CMH检验的结果表明在控制受害者种族的情况下,被告种族与是否判处死刑之间存在着关联,黑人被告被判处死刑的比例高于白人被告。