多项式回归的正态性检验

Normality test for polynomial regression

在 R 中,我对下面的数据库使用了多项式回归。它表明 R2 良好,系数和模型的显着性水平均小于 0.05。但是用shapiro.test检验残差时,p值为0.01088,说明残差不符合正态分布。所以我想知道多项式回归是否有效。多项式回归的残差是否必须满足正态性假设?

下面附上用于回归的代码和数据。

alloy<-data.frame(
  x=c(37.0, 37.5, 38.0, 38.5, 39.0, 39.5, 40.0,
      40.5, 41.0, 41.5, 42.0, 42.5, 43.0),
  y=c(3.40, 3.00, 3.00, 3.27, 2.10, 1.83, 1.53,
      1.70, 1.80, 1.90, 2.35, 2.54, 2.90))

lm.sol=lm(y~x+I(x^2),data=alloy)
summary(lm.sol)

y.res=lm.sol$residuals
shapiro.test(y.res)

嗯...这个问题可能属于stat.exchange,因为它与编程无关。但是,这是我对您的数据的简要介绍。

R2 和 shapiro.test 解决数据和模型拟合的不同特征,因此您可以让一个是 "good"* 而另一个不是(对于 [=31= 的足够模糊的定义) ] 和 "not").

如果您将数据和拟合绘制在同一张图中,您会发现二次回归模型很好地捕捉到了总体趋势。

plot(y ~ x, data=alloy)
lines(alloy$x, predict(lm.sol))

这个模型做得很好。您还可以看到残差的 qq 图表明可能存在方差同质性问题(请参见最后一个残差)。

qqnorm(resid(lm.sol))

换句话说,残差不一定服从高斯分布,而是捕获了数据中的整体趋势。

有帮助吗?