R方和线性回归拟合优度

简介: R方和线性回归拟合优度

R方由协变量X解释的结果Y的变化比例通常被描述为拟合优度的度量。这当然看起来非常合理,因为R平方测量观察到的Y值与模型的预测(拟合)值的接近程度。


然而,要记住的重要一点是,R平方不会向我们提供有关我们的模型是否正确指定的信息。也就是说,它没有告诉我们我们是否正确地指定了结果Y的期望如何取决于协变量。特别是,R平方的高值并不一定意味着我们的模型被正确指定。用一个简单的例子说明这是最简单的。

首先,我们将使用R模拟一些数据。为此,我们从标准正态分布(均值为零,方差一)中随机生成X值。然后,我们生成结果Y等于X加上随机误差,再次使用标准正态分布:

n < -  1000
set.seed(512312)
x < -  rnorm(n)
y < -  x + rnorm(n)

然后我们可以拟合Y的(正确的)线性回归模型,其中X作为协变量:

summary(mod1)

Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q  Median      3Q     Max
-2.8571 -0.6387 -0.0022  0.6050  3.0716

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  0.02193    0.03099   0.708    0.479
x            0.93946    0.03127  30.040   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.98 on 998 degrees of freedom
Multiple R-squared:  0.4748,    Adjusted R-squared:  0.4743
F-statistic: 902.4 on 1 and 998 DF,  p-value: < 2.2e-16

我们还可以绘制数据,用模型中的拟合线覆盖:


观察到(Y,X)数据并重叠拟合线。

现在让我们重新生成数据,但是生成Y使得它的期望值是X的指数函数:


x < -  rnorm(n)
y < -  exp(x)+ rnorm(n)

当然,在实践中,我们不模拟我们的数据 - 我们观察或收集数据,然后尝试将合理的模型拟合到它。因此,和以前一样,我们可以从拟合简单的线性回归模型开始,该模型假设Y的期望是X的线性函数:

Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q  Median      3Q     Max
-3.5022 -0.9963 -0.1706  0.6980 21.7411

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  1.65123    0.05220   31.63   <2e-16 ***
x            1.53517    0.05267   29.15   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.651 on 998 degrees of freedom
Multiple R-squared:  0.4598,    Adjusted R-squared:  0.4593
F-statistic: 849.5 on 1 and 998 DF,  p-value: < 2.2e-16

与第一种情况不同,我们获得的参数估计(1.65,1.54)不是“真实”数据生成机制中参数的无偏估计,其中Y的期望是exp(X)的线性函数。此外,我们看到我们得到的R平方值为0.46,再次表明X(包括线性)解释了Y中相当大的变化。我们可能认为这意味着我们使用的模型,即期望Y在X中是线性的,是合理的。但是,如果我们再次绘制观察到的数据,并用拟合线覆盖它:


将拟合线叠加到观察到的数据上清楚地表明我们使用的模型未正确指定,尽管R平方值非常大。特别地,我们看到对于X的低值和高值,拟合值太小。这显然是Y的期望取决于exp(X)这一事实的结果,而我们使用的模型假设它是X的线性函数。

这个简单的例子说明,尽管R平方是一个重要的度量,但高值并不意味着我们的模型被正确指定。可以说,描述R平方的更好方法是“解释变异”的度量。为了评估我们的模型是否正确指定,我们应该使用模型诊断技术,例如针对协变量的残差图或线性预测器。

相关文章
MATALB运用——最小二乘法拟合
MATALB运用——最小二乘法拟合
144 0
|
机器学习/深度学习 数据可视化 Python
逻辑回归那些事—使用牛顿法解决实际问题
逻辑回归是机器学习中的重要章节,本文将带你从公式推导到算法实现详细讲述这部分内容,想学习这个高大上的技能么,快来看吧!!!
5498 0
逻辑回归那些事—使用牛顿法解决实际问题
|
5月前
|
机器学习/深度学习 算法
欠拟合
【7月更文挑战第25天】欠拟合。
46 2
|
7月前
|
机器学习/深度学习 算法 调度
多元线性回归梯度下降法
梯度下降法是一种通用的优化算法,尤其适用于机器学习中找到最优解。与解析解法不同,它不局限于特定情况,能在数据规模较大时依然有效。该方法通过迭代逐步接近最优解,每次迭代利用损失函数的梯度信息调整参数。学习率是控制参数更新幅度的关键因素,太大会导致发散,太小则收敛慢。全量梯度下降每次使用所有样本更新,收敛稳定但速度慢;随机梯度下降每次仅用一个样本,速度快但可能产生较大波动;小批量梯度下降取两者之间,以一定的样本批量进行更新,兼顾速度和稳定性。
90 1
|
7月前
|
机器学习/深度学习 存储 5G
R语言回归中的Hosmer-Lemeshow拟合优度检验
R语言回归中的Hosmer-Lemeshow拟合优度检验
|
7月前
R语言Poisson回归的拟合优度检验
R语言Poisson回归的拟合优度检验
|
7月前
使用R语言进行多项式回归、非线性回归模型曲线拟合
使用R语言进行多项式回归、非线性回归模型曲线拟合
|
7月前
|
C++
拟合R语言中的多项式回归
拟合R语言中的多项式回归
|
C++ 计算机视觉
C++-柱面拟合FitCylinder
C++-柱面拟合FitCylinder
|
机器学习/深度学习 算法
逻辑回归和线性回归有何不同?
逻辑回归和线性回归有何不同?