R²决定系数

R 2 R^2 R2(决定系数)是一个用于衡量统计模型拟合数据的指标,通常用于线性回归分析。它表示模型所解释的因变量(目标变量)方差的比例,范围从0到1。

更具体地说, R 2 R^2 R2告诉我们模型能够解释因变量变化的百分比。当 R 2 R^2 R2接近1时,模型能够很好地拟合数据,因为它能够解释大部分因变量的变化。当 R 2 R^2 R2接近0时,模型无法很好地拟合数据,因为它不能解释因变量的变化。

R 2 R^2 R2的公式如下:
R 2 = 1 − S S R S S T R^2 = 1 - \frac{SSR}{SST} R2=1−SSTSSR

其中:

  • R 2 R^2 R2:决定系数
  • SSR(Sum of Squares Residual):残差平方和,表示模型预测值与实际观测值之间的差异的总和。
  • SST(Total Sum of Squares):总平方和,表示因变量的总变差,即实际观测值与因变量均值之间的差异的总和。

为了更好地理解 R 2 R^2 R2,让我们通过一个通俗易懂的例子来说明:

假设你是一名销售经理,想要建立一个线性回归模型,来预测每月销售额与广告投入的关系。你收集了12个月的数据,如下:

月份 广告投入(万元) 销售额(万元)
1 2.0 10.1
2 2.5 12.5
3 3.0 13.0
4 3.5 14.3
5 4.0 15.2
6 4.5 16.0
7 5.0 16.8
8 5.5 18.1
9 6.0 18.5
10 6.5 19.6
11 7.0 20.5
12 7.5 21.2

你建立了一个线性回归模型,拟合出如下的方程:
销售额 = 2.5 ∗ 广告投入 + 5.0 销售额 = 2.5 * 广告投入 + 5.0 销售额=2.5∗广告投入+5.0

现在,让我们计算 R 2 R^2 R2来评估模型的拟合质量。

首先,计算SST(总平方和):

SST = Σ(销售额 - 销售额均值)²

= (10.1 - 16.675)² + (12.5 - 16.675)² + ... + (21.2 - 16.675)²

≈ 121.35

接下来,计算SSR(残差平方和),即模型预测值与实际销售额之间的差异的总和:

SSR = Σ(实际销售额 - 模型预测值)²

= (10.1 - (2.5 * 2.0 + 5.0))² + (12.5 - (2.5 * 2.5 + 5.0))² + ... + (21.2 - (2.5 * 7.5 + 5.0))²

≈ 23.05

现在,使用R²的公式计算 R 2 R^2 R2:
R 2 = 1 − S S R S S T = 1 − 23.05 121.35 ≈ 0.810 R^2 = 1 - \frac{SSR}{SST} = 1 - \frac{23.05}{121.35} ≈ 0.810 R2=1−SSTSSR=1−121.3523.05≈0.810

这意味着你的模型能够解释销售额变化的大约81%。这是一个相对较高的 R 2 R^2 R2值,表明你的模型相对准确地拟合了数据,广告投入对销售额有较强的解释能力。

相关推荐
鲤籽鲲2 分钟前
C# Enumerable类 之 数据排序
开发语言·c#·c# 知识捡漏
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧2 分钟前
C语言_数据结构总结6:链式栈
c语言·开发语言·数据结构·算法·链表·visualstudio·visual studio
IT猿手13 分钟前
2025最新群智能优化算法:云漂移优化(Cloud Drift Optimization,CDO)算法求解23个经典函数测试集,MATLAB
开发语言·数据库·算法·数学建模·matlab·机器人
我感觉。15 分钟前
【机器学习chp11】聚类(K均值+高斯混合模型+层次聚类+基于密度的聚类DBSCAN+基于图的聚类+聚类的性能评价指标)
人工智能·机器学习·聚类·k均值
IT古董17 分钟前
【漫话机器学习系列】125.普拉托变换(Platt Scaling)
人工智能·机器学习
至暗时刻darkest17 分钟前
go mod文件 项目版本管理
开发语言·后端·golang
sakoba43 分钟前
spring IOC(实现原理)
java·开发语言
MZWeiei43 分钟前
Scala:在哪里写类的属性?类的属性必须私有吗?类的必须初始化吗?
开发语言·scala
闯闯桑44 分钟前
Scala 中的访问修饰符
大数据·开发语言·scala
我不是代码教父1 小时前
[原创](Modern C++)现代C++的关键性概念: 非常独特的std::sentinel_for概念(哨兵概念)
开发语言·c++·sentinel