R语言 R-squared回归分析
为了通过其他变量(自变量)预测一个变量的值(因变量),我们使用了一些模型,这些模型被称为回归模型。为了进一步计算这种预测的准确性,需要使用另一种数学工具,即R平方回归分析或决定系数。如果决定系数为1(或100%),意味着因变量的预测是完美和准确的。
R-square是残差平方和(SSres )与总平方和(SStot )的比较。残余平方和是由数据点与最佳拟合线之间垂直距离的平方之和计算出来的。
总的平方和是由数据点和平均线之间的垂直距离的平方和来计算的。
R-squared回归分析的公式
R-平方回归分析的公式如下。
R语言 找到决定系数(R)
在R语言中找出决定系数(R)是非常容易的。需要遵循的步骤是。
- 在R语言中制作一个数据框。
- 计算线性回归模型并将其保存在一个新的变量中。
- 这样计算出来的新变量的摘要有一个决定系数或R平方参数,需要提取出来。
# Creating a data frame of exam marks
exam <- data.frame(name = c("ravi", "shaily",
"arsh", "monu"),
math = c(87, 98, 67, 90),
estimated = c(65, 87, 56, 100))
# Printing data frame
exam
# Calculating the linear regression model
model = lm(math~estimated, data = exam)
# Extracting R-squared parameter from summary
summary(model)$r.squared
输出
name math estimated
1 ravi 87 65
2 shaily 98 87
3 arsh 67 56
4 monu 90 100
[1] 0.5672797
注: 如果预测准确,生成的R-squared回归值为1。
# Creating a data frame of exam marks
exam <- data.frame(name = c("ravi", "shaily",
"arsh", "monu"),
math = c(87, 98, 67, 90),
estimated = c(87, 98, 67, 90))
# Printing data frame
exam
# Calculating the linear regression model
model = lm(math~estimated, data = exam)
# Extracting R-squared parameter from summary
summary(model)$r.squared
输出
name math estimated
1 ravi 87 87
2 shaily 98 98
3 arsh 67 67
4 monu 90 90
[1] 1
使用R-square方法的局限性
- 当新的变量被添加到模型中时,r-square的值总是增加或保持不变,而不检测这个新添加的变量的显著性(即r-square的值在添加到模型中的新属性时从未减少)。因此,不显著的属性也可以被添加到模型中而增加r-square值。
- 这是因为SStot 总是恒定的,而回归模型试图通过寻找与这个新属性的一些相关性来减少SSres 的值,因此r-square的总体值会增加,这可能导致一个糟糕的回归模型。