如何在 r 中创建残差图
残差图通常用于评估回归分析的残差是否呈正态分布以及它们是否表现出异方差。
本教程介绍如何在 R 中为回归模型创建残差图。
示例:R 中的残差图
在此示例中,我们将使用mtcars内置 R 数据集拟合回归模型,然后生成三个不同的残差图来分析残差。
步骤1:拟合回归模型。
首先,我们将使用mpg作为响应变量,使用disp和hp作为解释变量来拟合回归模型:
#load the dataset data(mtcars) #fit a regression model model <- lm(mpg~disp+hp, data=mtcars) #get list of residuals res <- resid(model)
第 2 步:生成残差图或调整图。
接下来,我们将生成残差/拟合图,可用于直观地检测异方差性 – 例如残差分布在一系列值上的系统变化。
#produce residual vs. fitted plot plot(fitted(model), res) #add a horizontal line at 0 abline(0,0)
x 轴显示拟合值,y 轴显示残差。从图中我们可以看到,拟合值越高,残差的分布往往越高,但这似乎还没有严重到我们需要对模型进行更改的程度。
第三步:制作QQ图。
我们还可以生成 QQ 图,用于确定残差是否服从正态分布。如果图中的数据值大致呈 45 度角直线分布,则数据呈正态分布。
#create QQ plot for residuals qqnorm(res) #add a straight diagonal line to the plot qqline(res)
我们可以看到残差倾向于稍微偏离尾部附近的线,这可能表明它们不是正态分布的。
步骤 4:绘制密度图。
我们还可以生成密度图,这对于目视检查残差是否呈正态分布也很有用。如果图大致呈钟形,则残差可能服从正态分布。
#Create density plot of residuals
plot(density(res))
我们可以看到密度图大致呈钟形,尽管稍微向右倾斜。根据研究类型,研究人员可能会或可能不会决定对数据进行转换,以确保残差更呈正态分布。