调查泊松回归图中的过度离散

机器算法验证 r 数据可视化 泊松回归 ggplot2 过度分散
2022-03-24 08:10:14

我手动运行泊松回归,现在想调查图是否过度分散可能是一个问题。我应该互相策划什么?

1个回答

一个有点有用的图是绘制绝对皮尔逊残差y^(或者y^或者log(y^)...)。它应该看起来很平坦,只要拟合均值不是太小,y 轴上的平均值应该大约为 0.8(平方Pearson 残差的平均值应该大约为 1)。

如果它大大偏离 0.8 (2/π0.79788渐近)它是过度分散的,而如果它不是合理地接近平坦,则方差函数被错误指定。

这是R中的一个例子:

x <- runif(200,3,14)
m <- exp(0.3*x-1.5)
y <- rpois(m,m)
xyglmfit <- glm(y~x,family=poisson)
xyfitted <- fitted(xyglmfit)
pres <- residuals(xyglmfit,type="pearson")
plot((xyfitted)^(1/2),abs(pres))

绝对 Pearson 残差与 sqrt(拟合)的图,看起来相当平坦

请注意,图的左端应该比右端具有更多的偏斜度,并且顶部的值往往会稍大一些。(也就是说,如果你只关注最大值而不是中间值,你会期望看到一个轻微的下降。)

它看起来相当平坦,平均值看起来在 0.8 左右。我们可以计算它:

mean(abs(pres))
0.7844303

这是关于我们应该看到的。

但是,如果您使用的是 R,那么那里有一个标准图,它基本上可以完成相同的工作,即比例位置图:

plot(xyglmfit,which=3)

绝对偏差残差的平方根与线性预测变量的关系图; 外观与之前非常相似

该图将偏差残差替换为 Pearson 残差,这在较小的拟合值下应该会更好一些。然而,y 轴现在是上述刻度的平方根(绝对偏差残差的平方根),并且在正确规范下的平均值往往会更高一些,约为 0.82(214Γ(34)/π0.82218渐近),至少对于不太小的拟合值。我在 0.82 处添加了一条蓝色水平线以供参考(通过abline(h=0.82,col="blue"))。

它还针对线性预测变量(即对数拟合)的尺度上的拟合值进行绘图,但基本解释是相同的——如果趋势是平坦的并且大约在 0.82 左右,那么它应该是什么,如果它高于你有过度分散,如果它不是平坦的,你有一个方差错误指定。

在这里,我们看到一切看起来都很好。红色曲线是局部平均值(平滑的局部拟合),蓝线是我们应该预期的渐近 0.82 值。如您所见,它们几乎是重合的。

这是在 R 中完成的过度分散的情况:

 y2 <- rpois(m,m)*10+rpois(m,m)
 xyglmfit2 <- glm(y2~x,family=poisson)
 xyfitted2 <- fitted(xyglmfit2)
 pres2 <- residuals(xyglmfit2,type="pearson")
 par(mfrow=c(1,2))
 plot((xyfitted2)^(1/2),abs(pres2))
 abline(h=0.8,col="blue")
 plot(xyglmfit2,which=3)
 abline(h=0.82,col="blue")

类似于上面的图,但显示过度分散

左边的图是第一个图(标有 0.8 线),第二个是 R 中的默认比例位置图,标有 0.82 水平线。我们可以看到分布更宽(如果我们计算均方 Pearson 残差约为 9,而不是我们应该得到的“约 1”)。

一个警告:这些图只有在您获得基本正确的平均规格时才能以这种方式解释;否则,您会将这些图中的方差问题与均值错误指定混淆。