残差平方和和普通最小二乘有什么区别?

数据挖掘 线性回归
2021-09-25 08:02:31

它们在我看来是一样的,但我不确定。

更新:回想起来,这不是一个很好的问题。OLS 是指将一条线拟合到数据中,而 RSS 是 OLS 使用的成本函数。它找到给出最小残差平方和参数。在 OLS中称为普通是指我们正在进行线性拟合。

3个回答

这是来自维基百科的定义:

在统计学中,残差平方和 (RSS) 是残差平方和。它是对数据和估计模型之间差异的度量;普通最小二乘法 (OLS) 是一种用于估计线性回归模型中未知参数的方法,其目标是最小化某些任意数据集中观察到的响应与通过数据的线性近似预测的响应之间的差异。

所以 RSS 是衡量模型对数据的逼近程度的指标,而 OLS 是一种构建良好模型的方法。

普通最小二乘法 (OLS)

普通最小二乘法 (OLS) 是统计学的主力。它提供了一种使用线性来获取复杂结果和解释行为(例如趋势)的方法。OLS 最简单的应用是拟合一条线。

残差

残差是估计系数的可观察误差。从某种意义上说,残差是对误差的估计。

让我们用R代码来解释一下:

首先在库中拟合钻石数据集的普通最小二乘线UsingR

library(UsingR)
data("diamond")
y <- diamond$price
	x <- diamond$carat
n <- length(y)
olsline <- lm(y ~ x)
plot(x, y,
     main ="Odinary Least square line",
     xlab = "Mass (carats)", 
     ylab = "Price (SIN $)", 
     bg = "lightblue", 
     col = "black", cex = 2, pch = 21,frame = FALSE)
abline(olsline, lwd = 2)

在此处输入图像描述

现在,让我们计算残差,即残差平方和: 在R您可以轻松地计算残差为resid(olsline),为了可视化让我们手动计算它:

# The residuals from R method
e <- resid(olsline)
## Obtain the residuals manually, get the predicated Ys first
yhat <- predict(olsline)
# The residuals are y -yhat, Let's check by comparing this with R's build in resid function
ce <- y - yhat
max(abs(e-ce))
## Let's do it again hard coding the calculation of Yhat
max(abs(e- (y - coef(olsline)[1] - coef(olsline)[2] * x)))
# Residuals arethe signed length of the red lines
plot(diamond$carat, diamond$price,
    main ="Residuals sum of (actual Y - predicted Y)^2",
     xlab = "Mass (carats)", 
     ylab = "Price (SIN $)", 
     bg = "lightblue", 
     col = "black", cex = 2, pch = 21,frame = FALSE)
abline(olsline, lwd = 2)
for (i in 1 : n) 
  lines(c(x[i], x[i]), c(y[i], yhat[i]), col = "red" , lwd = 2)

在此处输入图像描述

希望这些可视化能够消除您对RSSOLS的疑惑

在某种程度上,OLS 是一种基于训练数据估计回归线的模型。而 RSS 是一个参数,用于了解测试和训练数据的模型准确性。