R语言 如何创建一个残差图

R语言 如何创建一个残差图

在这篇文章中,我们将探讨在R编程语言中创建残差图的逐步程序。

残差图 经常被用来评估回归分析中的残差是否为正态分布,以及是否表现出异方差性。

让我们在R编程语言中创建一个残差图。

第1步:拟合回归模型

在这一步中,我们将使用iris数据集(这是rstudio的内置数据集)作为响应变量,使用lm()函数将Sepal.Length和Sepal.Width作为解释变量来拟合回归模型,然后进一步调用resid()函数,通过这个回归模型来获得模型的残差列表。

# load the dataset
data("iris")
  
# select Target attribute and 
# Predictor attribute
Y<- iris[,"Sepal.Width"] 
X<- iris[,"Sepal.Length"]
  
# fit a regression model
model <- lm(Y~X)
  
# get list of residuals 
res <- resid(model)
res

输出

如何在R语言中创建一个残差图

第2步:生成残差与拟合图

在这一步中,我们要绘制一个模态残差与过滤模型的散点图,以直观地检测异方差–例如,在一定范围内残差分布的系统变化。

# produce residual vs. fitted plot
plot(fitted(model), res)
  
# add a horizontal line at 0 
abline(0,0)

输出

如何在R语言中创建一个残差图

第3步:产生一个Q-Q图

这里,我们使用qqnorm()函数绘制Q-Q图,以确定残差是否遵循正态分布。如果使用传入所需参数的qqline()函数,图中的数据值沿着45度角的大致直线下降,那么数据就是正态分布。而在输出中,残差往往在尾部附近偏离直线相当多,这表明它们不是正态分布。

# create Q-Q plot for residuals
qqnorm(res)
  
# add a straight diagonal line 
# to the plot
qqline(res)

输出

如何在R语言中创建一个残差图

第4步: 产生一个密度图

在这一步中,我们绘制密度图以直观地检查残差是否为正态分布。如果该图大致呈钟形,那么残差很可能遵循正态分布,与输出相比,密度图大致呈钟形,这确保了残差更具有正态分布。

plot(density(res))

输出

如何在R语言中创建一个残差图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程