Answers:
R
没有独特的plot.glm()
方法。当您使用glm()
并运行模型时plot()
,它会调用?plot.lm,它适用于线性模型(即具有正态分布误差项)。
:一般情况下,这些地块的含义(至少对于线性模型),可在各种简历现有线程(例如了解到残差对拟合 QQ-地块在好几个地方;:1,2,3,规模化定位 ; 残差vs杠杆)。但是,当所讨论的模型是逻辑回归时,这些解释通常无效。
更具体地说,这些图通常会“看起来很有趣”,并导致人们相信模型完全正确时存在问题。我们可以通过一些简单的仿真来查看这些图,我们知道模型是正确的:
# we'll need this function to generate the Y data:
lo2p = function(lo){ exp(lo)/(1+exp(lo)) }
set.seed(10) # this makes the simulation exactly reproducible
x = runif(20, min=0, max=10) # the X data are uniformly distributed from 0 to 10
lo = -3 + .7*x # this is the true data generating process
p = lo2p(lo) # here I convert the log odds to probabilities
y = rbinom(20, size=1, prob=p) # this generates the Y data
mod = glm(y~x, family=binomial) # here I fit the model
summary(mod) # the model captures the DGP very well & has no
# ... # obvious problems:
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -1.76225 -0.85236 -0.05011 0.83786 1.59393
#
# Coefficients:
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -2.7370 1.4062 -1.946 0.0516 .
# x 0.6799 0.3261 2.085 0.0371 *
# ...
#
# Null deviance: 27.726 on 19 degrees of freedom
# Residual deviance: 21.236 on 18 degrees of freedom
# AIC: 25.236
#
# Number of Fisher Scoring iterations: 4
现在让我们看一下我们从中得到的图plot.lm()
:
无论是Residuals vs Fitted
和Scale-Location
情节看起来像有与模型的问题,但我们知道没有任何。这些用于线性模型的图,在与逻辑回归模型一起使用时,常常容易引起误解。
让我们看另一个例子:
set.seed(10)
x2 = rep(c(1:4), each=40) # X is a factor with 4 levels
lo = -3 + .7*x2
p = lo2p(lo)
y = rbinom(160, size=1, prob=p)
mod = glm(y~as.factor(x2), family=binomial)
summary(mod) # again, everything looks good:
# ...
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -1.0108 -0.8446 -0.3949 -0.2250 2.7162
#
# Coefficients:
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -3.664 1.013 -3.618 0.000297 ***
# as.factor(x2)2 1.151 1.177 0.978 0.328125
# as.factor(x2)3 2.816 1.070 2.632 0.008481 **
# as.factor(x2)4 3.258 1.063 3.065 0.002175 **
# ...
#
# Null deviance: 160.13 on 159 degrees of freedom
# Residual deviance: 133.37 on 156 degrees of freedom
# AIC: 141.37
#
# Number of Fisher Scoring iterations: 6
现在所有的情节看起来都很奇怪。
那么这些情节向您展示了什么?
Residuals vs Fitted
图可以帮助您查看,例如,是否错过了曲线趋势。但是,逻辑回归的拟合性本质上是曲线的,因此您可以在残差中具有奇特的趋势,而没有任何缺陷。 Normal Q-Q
图可帮助您检测残差是否呈正态分布。但是,偏差残差不必为了使模型有效就可以正态分布,因此残差的正态/非正态不一定告诉您任何信息。 Scale-Location
图可以帮助您识别异方差。但是逻辑回归模型本质上几乎是异方差的。 Residuals vs Leverage
可以帮助您识别可能的异常值。但是逻辑回归中的异常值不一定与线性回归中的异常值相同,因此此图可能会或可能不会有助于识别它们。 这里简单的带回家的教训是,很难使用这些图来帮助您了解逻辑回归模型的状况。人们最好不要在进行逻辑回归时完全看这些图,除非他们具有相当的专业知识。