多项式拟合,如何求相关系数R平方?

来源:百度知道 编辑:UC知道 时间:2024/07/01 13:17:18
求拟合方程 Y=aX^3+bX^2+cX+d后的相关系数R平方的方法
公式即可

nbgauss 的公式是线性拟合的,不是我要的,不过也谢谢你
raphael2002:
是的,就是3次多项式的拟合,但我要用编程实现,不想使用Matlab库

多项式系数求出没问题,但我要的是拟合的相关系数 R

只需三步:

1.计算模型残差平方和RSS.

2.计算Y的样本方差SSY。

3.R^2=1-(RSS/SSY)

你这里是想要三次多项式拟合?
多项式拟合的系数很容易求,本质是解一个最小二乘问题
其实也就是解一个矩阵问题

比如说你的数据是(x1,y1),(x2,y2),...,(xn,yn)
如果你想构造三次多项式拟合
那么就构造如下一个n×4矩阵

__|1,x1,x1^2,x1^3|
__|1,x2,x2^2,x2^3|
A=|..............|
__|1,xn,xn^2,xn^3|

_____|d |
_____|c |
向量x=|b |
_____|a |(就是你题目里的多项式系数)

_____|y1|
向量y=|...|
_____|yn|

然后解这样一个最小二乘问题min{||Ax-y||}
就可以了.
这个最小二乘问题的解法是将A进行LU分解,具体要看相关的书
如果你不会的话有一个很简单的办法
在MATLAB里直接把A和y输入进去
然后输入命令A\y,就可以得到x的值了!

如果你想编程实现其实就相当于自己要编写一个LU分解的程序,我建议你还是baidu或者google一下“LU分解”,不是一时半会儿讲的清楚的,网上肯定有代码,你如果想自己搞懂就看看理论分析然后再看看人家的代码。

如何你的数据分别是x1,x2....xn,对应数据是y1,y2...yn那么相关系数R的公式是(放在我的空间了)

多项式拟合 如何在matlab中确定多项式拟合的阶数 多项式拟合曲线的绘制 相关系数r 的表达式 检验“相关系数的临界值”,如何求. 请教一个非多项式拟合问题 如何求复相关系数?越详细越好,谢谢 如何计算若干点(散点)与任意一条直线或曲线的相关系数r? 求相关系数:A组数据1230、1340、1450B组数据1540、1380、1290 如何求这两组数据的相关系数啊 当相关系数r=0时,表明?