Matlab计算决定性系数(拟合优度)R2

您所在的位置:网站首页 matlab组合数函数系数太大不精确怎么办 Matlab计算决定性系数(拟合优度)R2

Matlab计算决定性系数(拟合优度)R2

#Matlab计算决定性系数(拟合优度)R2| 来源: 网络整理| 查看: 265

1 定义

决定系数(coefficient of determination),也称为拟合优度(goodness of fit)。

决定系数反应了因变量 y y y 的波动有多少百分比能被 x x x 的波动所描述,即表征因变量 y y y 的变异中有多少百分比可由自变量 x x x 来解释。

2 如果用不同的线型拟合散点,则 R 2 R^2 R2是会随着变化的,因此要深刻理解公式

【提前提示】

拟合优度数值越大,说明自变量对因变量的解释程度越高,自变量引起的变动占总变动的百分比高。散点在 回归直线(注意这里并不一定是1:1线) 附近越聚集,一般认为 R 2 R^2 R2 > 0.8 时,拟合效果较好!对于上述回归直线,其可以是通过线性拟合得到的直线或曲线,也可以是自己指定的某一条线(如1:1线)。因此,如果是对线性拟合得到的直线求 R 2 R^2 R2, 则表明该回归直线对散点的拟合程度。如果是对1:1线进行求 R 2 R^2 R2,可以反映观测值和模拟值的接近程度(这有些类似于相关系数CC的特性)。 2.1 求 R 2 R^2 R2的通用公示(网上搞的太乱了,满天飞)

在这里插入图片描述

3 Matlab 实现(以线性拟合为例)

在这里插入图片描述

% 创建样本 x = 1:100'; data = x + 50*rand(1, 100); % 拟合线性回归模型, mdl = fitlm(x, data) mdl = Linear regression model: y ~ 1 + x1 Estimated Coefficients: Estimate SE tStat pValue ________ ________ ______ __________ (Intercept) 24.751 2.8809 8.5912 1.3673e-13 x1 1.0266 0.049528 20.727 1.334e-37 Number of observations: 100, Error degrees of freedom: 98 Root Mean Squared Error: 14.3 R-squared: 0.814, Adjusted R-Squared 0.812 F-statistic vs. constant model: 430, p-value = 1.33e-37 >> mdl.Rsquared.Ordinary ans = 0.8143

【注意】上面通过Matlab自带的线性拟合工具,可以得到一阶线性或者高阶非线性的拟合曲线,和该线的对于样本的拟合优度。通过查看 mdl 对象的属性可以找到 R 2 R^2 R2 = 0.8143, 注意,这里计算的是对最优回归线的,并不是1:1线的!,不信化,你看下面。

通过使用polyfit 函数可以对线性拟合直线进行检验,如下:

>> P = polyfit(x, data, 1); >> P P = 1.0266 24.7510

这两个参数就是ax+b的a和b,和上面计算的结果Estimate一致!

致谢知乎 “十一” 提供灵感 https://zhuanlan.zhihu.com/p/108464743



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3