R编程中的R平方回归分析
为了通过其他变量(自变量)预测一个变量的值(因变量),使用了一些称为回归模型的模型。为了进一步计算该预测的准确性,使用了另一种数学工具,即 R 平方回归分析或确定系数。 R-squared 的值介于 0 和 1 之间。如果决定系数为 1(或 100%),则表示因变量的预测已经完美准确。
R-square 是残差平方和 (SS res ) 与总平方和 (SS tot ) 的比较。残差平方和通过数据点和最佳拟合线之间的垂直距离的平方和来计算。
总平方和是通过数据点与平均线之间的垂直距离的平方和来计算的。
R平方回归分析公式
R平方回归分析的公式如下,
where,
: experimental values of the dependent variable
: the average/mean
: the fitted value
求 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
Note: If the prediction is accurate the R-squared Regression value generated is 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 平方值的增加,也可以将非显着属性添加到模型中。
- 这是因为 SS tot始终是常数,回归模型试图通过找到与这个新属性的一些相关性来降低 SS res的值,因此 r-square 的整体值增加,这可能导致回归模型不佳。