R语言 调整决定系数

R语言 调整决定系数

一个拟合良好的回归模型产生的预测值接近于观察到的数据值。如果没有翔实的预测变量,通常会使用均值模型,即对每个预测值使用均值。因此,建议的回归模型的拟合度应该比平均模型的拟合度更好。用于评估回归模型拟合度的三个最常见的统计指标是。

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

因此,在这篇文章中,让我们讨论R编程中的调整决定系数或调整R2 。与决定系数本身一样, R 2 adj 描述了响应变量y的方差,它可以在独立特征变量x的基础上进行预测。然而,有两个重要区别。

  1. R 2 adj考虑到了数据集中的变量数量。它对不符合所建立的回归模型的数据点进行惩罚。
  2. 上述声明的含义是, R 2 adj与R2 不同,不会随着特征变量的增加而持续增加(由于其数学计算的变化),并且不考虑不影响特征变量的独立变量。这可以保护模型不被过度拟合。

因此,这个指标比R2 更适合于多元回归模型,R2 只适用于简单的线性回归模型。

数学公式

R编程中的调整决定系数

其中

n :数据点的数量

k :不包括结果的变量数

R 2:决定系数

例子

输入: 一个有20条树木记录的数据集,标签为高度、周长和体积。该数据集的结构如下。

R编程中的调整决定系数

模型1: 该模型考虑高度和体积来预测树围。

模型 2: 该模型只考虑体积来预测树围。

输出

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

结果解释: 模型1认为身高是决定腰围的一个变量,这一点并不总是真实的,因此,在模型中认为是一个不相关的标签。R-squared的结果表明模型1有更好的拟合度,这显然不是真的。衡量标准调整后的R-squared,模型2的R-squared更大,缓解了这种不正常现象。

在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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程