📜  R编程中调整后的决定系数

📅  最后修改于: 2022-05-13 01:55:22.893000             🧑  作者: Mango

R编程中调整后的决定系数

先决条件:使用 R 的多元线性回归

拟合良好的回归模型会产生接近观察数据值的预测值。如果没有信息性预测变量,通常会使用平均模型,它使用每个预测值的平均值。因此,建议回归模型的拟合应优于均值模型的拟合。用于评估回归模型拟合的三种最常见的统计度量是:

  1. 决定系数 (R 2 ),调整后的 R 2
  2. 均方根误差 (RMSE)
  3. 整体 F 检验

因此,在本文中,让我们讨论 R 编程中调整后的决定系数或调整后的 R 2 。很像决定本身的系数, R 2 adj 描述了响应变量 y 的方差,它可以根据独立的特征变量 x 进行预测。但是,有两个重要区别:

  1. R 2 adj考虑到数据集中变量的数量。它惩罚不适合开发的回归模型的数据点。
  2. 上述陈述的一个含义是,与 R 2不同, R 2 adj不会随着特征变量的增加而持续增加(由于其数学计算的变化),并且不会考虑不影响特征变量。这可以防止模型过拟合。

数学公式

R^2_{adj} = 1-[(1-R^2)(n-1)/(n-k-1)]



例子

数据集结构

输出:

Model 1: R-squared:  0.9518,    Adjusted R-squared:  0.9461 
Model 2: R-squared:  0.9494,    Adjusted R-squared:  0.9466 

结果说明:模型 1 将标签高度视为确定周长的变量,这并不总是正确的,因此,模型中考虑了不相关的标签。 R 平方的结果表明模型 1 具有更好的拟合,这显然不是真的。度量调整后的 R 平方(模型 2 的较大值)缓解了这种异常情况。

在 R 中的实现

在 R 语言中很容易找出调整后的决定系数。要遵循的步骤是:

  • 在 R 中创建一个数据框。
  • 计算多元线性回归模型并将其保存在新变量中。
  • 如此计算的新变量的摘要具有需要提取的调整后的决定系数或调整后的 R 平方参数。

例子:

R
# R program to illustrate
# Adj Coefficient of determination
  
# Creating a dataframe
sample_data <- data.frame(col1 = c(10, 20, 30, 40, 50),
                          col2 = c(1, 2, 3, 2, 2),
                          col3 = c(10, 20, 30, 20, 25))
  
# multiple regression model 
# where col1, col2 are features
sample_model <- lm(col3~col1 + col2, 
                   data = sample_data)
  
# Extracting Adj R-squared parameter 
# from summary 
summary(sample_model)$adj.r.squared


输出:

[1] 0.9318182