ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

拟合算法及Matlab求解——对数据寻求一个最简易的函数(曲线)

2022-01-20 21:04:40  阅读:224  来源: 互联网

标签:函数 求解 曲线 算法 参数 Matlab 拟合 线性


与插值不同,在拟合问题中不需要曲线一定经过给定的点。拟合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小化损失函数)。


目录

一、插值和拟合的区别

二、最小二乘法的解释及求解

三、如何评价拟合的好坏

四、“线性函数”的介绍


一、插值和拟合的区别

        插值算法中,得到的多项式 f(x) 要经过所有样本点。但如果样本点太多,那么这个多项式次数过高,会造成龙格现象。
        虽然我们可以选择分段的方法避免这种现象,但更多时候我们倾向于得到一个确定的曲线,尽管这条曲线不能经过每一个样本点,但只要保证误差足够小即可,这就是拟合的思想。(拟合的结果是得到一个确定的曲线)

举个例子
假设拟合曲线为 y = kx+b .此时拟合即求解:k 和 b 取何值时,样本点和拟合曲线最接近。
那怎么样定义“最接近”呢?最小二乘法!

二、最小二乘法的解释及求解

第一种定义:  \hat{k},\hat{b}=argmin(\sum_{i=1}^{n}|y_{i}-\hat{y_{i}}|)
第二种定义:  \hat{k},\hat{b}=argmin(\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^{2})
由于第一种定义有绝对值,不容易求导,因此计算比较复杂,所以我们往往使用第二种定义,这也正是最小二乘的思想。(为什么不用三次方?正负会相抵)
为什么不用四次方?(1)避免极端数据对拟合曲线的影响;(2)最小二乘法得到的结果和MLE极大似然估计一致。

求解最小二乘法

Matlab求解最小二乘

三、如何评价拟合的好坏

        总体平方和:SST=\sum_{i=1}^{n}(y_{i}-\bar{y})^{2}
        误差平方和:SSE=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}})^{2}
        回归平方和: SSR=\sum_{i=1}^{n}(\hat{y_{i}}-\bar{y})^{2}
可以证明得到:SST = SSE + SSR(要用到我们求导得到的两个等式)
则有拟合优度 R^20\leqslant R^{2}=\frac{SSR}{SST}=\frac{SST-SSE}{SST}=1-\frac{SSE}{SST}\leqslant 1
R^2 越接近1,说明误差平方和越接近0,说明拟合的越好。
注:R^2只能用于拟合函数是线性函数时拟合结果的评价;线性函数和其他函数比较拟合的好坏,直接看SSE即可)
Matlab计算拟合优度:
        

四、“线性函数”的介绍

思考: y = a+bx^2 是线性函数吗?
是的,因为我们这里说的线性函数是指对参数为线性(线性于参数)
对于“线性”的解释有两种:
①对变量为线性
        对线性的第一种并且也许是更“自然”的一种解释是,Y的条件期望值是X_{i} 的线性函数。按照这种解释,诸如 E(Y|X_{i}) = \beta _{1} + \beta _{2}\ X_{i}^{2} 的回归系数,由于变量X以幂或指数2出现,就不是线性的。
②对参数为线性
        对线性的第二种解释是,Y的期望 E(Y|X_{i}) 是参数β的一个线性函数;它可以是或不是变量X的线性函数。对于这种解释,E(Y|X_{i}) = \beta _{1} + \beta _{2}\ X_{i}^{2} 就是一个线性(于参数)回归模型。为了看出这一点,让我们假设X的值为3,因此 E(Y|X=3) = β + 9\beta _{2} ,显然它是β1和β2的线性函数。

 如何判断线性于参数的函数?
        在函数中,参数仅以一次方出现,且不能乘以或除以其他任何的参数,并且不能出现参数的复合函数形式。
        因此,y=a+b^{3}x 、y=a+bcx、y=a(x-b)^2、y=asin(b+cx) 都不是线性函数,不能用R^2。

标签:函数,求解,曲线,算法,参数,Matlab,拟合,线性
来源: https://blog.csdn.net/m0_57861784/article/details/122603335

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有