2017-05-29 108 views
0

在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) 

回答

0

那么......这个问题可能属于stat.exchange,因为它与编程无关。不过,以下是我简要介绍的数据。

R2和shapiro.test解决了数据和模型拟合的不同特征,所以你可以让那个是“好”*而另一个不是(对于“好”和“不”)足够模糊的定义。

如果您绘制数据并将其拟合在同一图表中,则可以看到整体趋势很好地被二次回归模型捕获。

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

enter image description here

的模式确实相当不错。您还可以看到残差的qq图表明可能存在方差均匀性问题(请参阅最后的残差)。

qqnorm(resid(lm.sol)) 

enter image description here

换句话说,残差可能不一定遵循高斯分布,但在数据中的整体趋势被捕获。

这有帮助吗?

+0

很好的回答!这意味着尽管有时候残差的shapiro.test的p值小于0.05,但是如果R2高,并且它满足t.test和F.test,那么该模型也可以被认为是成功的。 cofficient和model分别? –

+0

另外,在原始模型中,点4的残差是最大的。所以我删除这个点,然后建立相同的多项式回归。基于新的结果,表明R2增加到0.9402,模型满足t.test和F.test。更重要的是,shapiro.test残差的p值也大于0.05。根据您的建议,我应该在未来的研究中使用哪种模型(原始模型VS新模型)? –

+0

首先回答你的最后一个问题:如果没有很好的理由,我不会删除点。如果模型不适合,那么这是模型的问题 - 而不是数据。换句话说 - 我宁愿在原始数据上使用第一个模型,而不是另一个。我怀疑拟合的曲线会有很大的不同。 – ekstroem