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值,表明你的模型相对准确地拟合了数据,广告投入对销售额有较强的解释能力。

相关推荐
古希腊掌管学习的神34 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师35 分钟前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
浊酒南街35 分钟前
决策树(理论知识1)
算法·决策树·机器学习
就爱学编程43 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
B站计算机毕业设计超人43 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条1 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客1 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon1 小时前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn
Oneforlove_twoforjob1 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存