理解这些术语的最佳方法是手工进行回归计算。我写了两个密切相关的答案(此处和此处),但是它们可能无法完全帮助您理解您的特殊情况。但是尽管如此,请通读它们。也许它们还将帮助您更好地概念化这些术语。
在回归分析(或ANOVA)中,我们基于样本数据集构建模型,该模型使我们能够预测感兴趣人群的结果。为此,在简单的线性回归中计算以下三个成分,从中可以计算其他成分,例如均方,F值,(以及调整后的)和残差标准误():[R2[R2[R 小号Ë
- 平方总和()小号小号吨Ô 吨一个升
- 残差平方和()小号小号ř Ë 小号我dü 一升
- 模型平方和()小号小号米ø dË 升
他们每个人都在评估模型对数据的描述程度,以及从数据点到拟合模型的距离平方的总和(在下图中以红线表示)。
该评估如何以及平均拟合数据。为什么是这个意思?由于均值是我们可以拟合的最简单模型,因此可以用作与最小二乘回归线进行比较的模型。使用数据集的该图说明:小号小号吨Ô 吨一个升cars
所述评估回归直线吻合程度的数据。小号小号ř Ë 小号我dü 一升
该比较多少更好回归线相比较的平均(即,之间的差和)。小号小号米ø dË 升小号小号吨Ô 吨一个升小号小号ř Ë 小号我dü 一升
为了回答您的问题,让我们首先从模型和输出作为参考开始计算要理解的术语:
# The model and output as reference
m1 <- lm(dist ~ speed, data = cars)
summary(m1)
summary.aov(m1) # To get the sums of squares and mean squares
平方和是各个数据点到模型的距离的平方:
# Calculate sums of squares (total, residual and model)
y <- cars$dist
ybar <- mean(y)
ss.total <- sum((y-ybar)^2)
ss.total
ss.residual <- sum((y-m1$fitted)^2)
ss.residual
ss.model <- ss.total-ss.residual
ss.model
均方是通过自由度平均的平方和:
# Calculate degrees of freedom (total, residual and model)
n <- length(cars$speed)
k <- length(m1$coef) # k = model parameter: b0, b1
df.total <- n-1
df.residual <- n-k
df.model <- k-1
# Calculate mean squares (note that these are just variances)
ms.residual <- ss.residual/df.residual
ms.residual
ms.model<- ss.model/df.model
ms.model
我对您问题的回答:
Q1:
- 因此,实际上这就是观测值与lm线的平均距离?
该残余标准误差()是平方根残留均方():[R 小号Ë中号小号ř Ë 小号我dü 一升
# Calculate residual standard error
res.se <- sqrt(ms.residual)
res.se
如果您还记得是所观察到的数据点与模型(上面第二图中的回归线)的平方距离,而只是的平均值,则是第一个答案问题是,是的:表示观察到的数据与模型的平均距离。直观地讲,这也很有意义,因为如果距离较小,则模型拟合也会更好。小号小号ř Ë 小号我dü 一升中号小号ř Ë 小号我dü 一升 小号小号ř Ë 小号我dü 一升[R 小号Ë
Q2:
- 现在,我很困惑,因为如果RSE告诉我们观测点与回归线有多远,则低RSE实际上是告诉我们“您的模型基于观测到的数据点非常合适”->因此,我们的模型拟合得如何好,那么R square和RSE有什么区别?
现在,是与:[R2小号小号米ø dË 升小号小号吨Ô 吨一个升
# R squared
r.sq <- ss.model/ss.total
r.sq
的表示有多少的总变化中的数据可以由模型(回归线)进行说明。请记住,当我们将最简单的模型拟合到数据(即均值)时,总变化就是数据中的变化。比较图和图。[R2小号小号吨Ô 吨一个升SSmodel
因此,要回答您的第二个问题,和之间的区别在于,告诉您有关给定观察数据的模型(在本例中为回归线)的不准确性。RSER2RSE
另一方面,告诉您模型(即回归线)所解释的变化量与仅均值(即最简单的模型)所解释的变化量有关。R2
第三季度:
- 的确,我们可以有一个F值来表示非线性的强关系,所以我们的RSE高而我们的R平方很低
因此,另一方的值计算为模型均方(或信号)除以(噪声):FMSmodelMSresidual
# Calculate F-value
F <- ms.model/ms.residual
F
# Calculate P-value
p.F <- 1-pf(F, df.model, df.residual)
p.F
换句话说,值表示在模型不准确的情况下,模型的改进程度(与平均值相比)。F
您的第三个问题有点难以理解,但我同意您提供的报价。