最小二乘法

将所有的点利用初始得到的多项式的值和实际值的差的平方做和,这就是所谓的误差函数,而我们所要做的就是使该误差函数取得它的极小值。
E=∑(f(xi)−yi)2E=\sum(f(x_i)-y_i)^2E=∑(f(xi​)−yi​)2
通常我们假设f(xi)=Axi2+Bxi+Cf(x_i)=Ax_i^2 + Bx_i+Cf(xi​)=Axi2​+Bxi​+C之后的误差函数就如下所示:
E=∑(Axi2+Bxi+C−yi)2E=\sum(Ax_i^2 + Bx_i+C-y_i)^2E=∑(Axi2​+Bxi​+C−yi​)2
对于该误差函数求令其最小的A,B,C的值,利用高等数学中的求偏导,令偏导数为0,求的各个参数。
∂E∂A∣=2∗∑(Axi2+Bxi+C−yi)∗xi2=0\left.\frac{\partial E}{\partial A}\right| = 2*\sum(Ax_i^2 + Bx_i+C-y_i)*x_i^2=0∂A∂E​∣∣∣∣​=2∗∑(Axi2​+Bxi​+C−yi​)∗xi2​=0
..................

以上为使用多项式去拟合数据的数学原理,以下使用python的程序实现一个简单的线性拟合程序:

#首先使用numpy生成x的序列
#导入相应的包
import numpy as np
from scipy.optimize import leastsq #最小二乘法函数
import matplotlib.pyplot as plt
#生成真实的模型
x = np.linspace(0,1,10)
ideal_y = np.sin(2*np.pi*x)#理想情况下的y值
#为了符合现实的情况,需要将真实模型的数据点加上正态分布的噪声
real_y = [np.random.normal(0,0.1)+t for t in ideal_y]
#建立多项式,并设定相应的初值
p = [2,1,1]
F = np.poly1d(p)#生成一个多项式$f(x)=2*x^2+x+1$
predict_y = F(x)#
def error(p,x,y):ret = (np.poly1d(p))(x) -yreturn ret
#最小二乘法求得多项式的各个系数
p_init = np.random.rand(M+1)#M为最高次的次数x^M,该p_init就是初始的多项式的各个系数
p_lsq = leastsq(error,p_init,args=(x,real_y))
p_lsq[0]#该项为通过最小二乘得到的系数
leastsq(误差函数,表述函数的参数,args()表示数据点)

具体的代码在Github上:Github代码

多项式使用最小二乘法拟合数据相关推荐

  1. MATLAB与最小二乘法拟合数据

    1.前言:学习并记录的原因 最小二乘法是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配. 最小平方差法在误差估计.不确定度.系统辨识及预测.预报等数据处理诸多学科领域得到广泛应用的数 ...

  2. 计算机数值方法之最小二乘法拟合多项式C语言

    给定数据点(xi ,yi),用最小二乘法拟合数据的多项式,并求平方误差. 有了之前多个程序的磨练,这次程序非常简单,用公式算出矩阵中的待求数值,再用高斯消元法求出a0和a1,写出拟合方程,再带入x,y ...

  3. 数学建模最小二乘法拟合_从寻找谷神星的过程,谈最小二乘法实现多项式拟合...

    科学史上众星云集,璨若星河.这些牛人基本上都是天才,但也不乏无名之辈凭借匪夷所思.骇世惊俗的猜想而跻身于巨星之列.比如,门捷列夫,整了一张留空的元素周期表,引得全世界的化学家去做填空题.还有一位德国的 ...

  4. python多项式拟合_Python 普通最小二乘法(OLS)进行多项式拟合,最小二乘法拟合二次多项式,多元函数拟合。如 电...

    Python 普通最小二乘法(OLS)进行多项式拟合,最小二乘法拟合二次多项式,多元函数拟合.如 电 多元函数拟合.如 电视机和收音机价格多销售额的影响,此时自变量有两个. python 解法:imp ...

  5. 【Matlab】最小二乘法拟合多项式

    前言 在最近的电机项目中,有遇到有传感器数据并不线性的问题,然后想要用最小二乘法做个曲线拟合,反过来去校准不线性的传感器的数据,因此记录一下使用最小二乘法来拟合多项式的曲线的步骤.本篇从最小二乘法的原 ...

  6. 趣学python3(38)--多项式最小二乘法拟合

    class numpy.poly1d(c_or_r, r=False, variable=None)[source] 参数: c_or_r:array_like 多项式的系数,或者如果第二个参数的值是 ...

  7. 某类疾病发生率的数据最小二乘法拟合

    % 某类疾病发生率的数据最小二乘法拟合 % 2022/12/5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 设定样本值 x=1:1:19;  % 定义样本范围 y=[0.8 ...

  8. Python 最小二乘法拟合多项式

    最小二乘法拟合多项式 一.功能 二.最小二乘法拟合多项式 三.运行结果 一.功能   利用最小二乘法去拟合直线.任意项高阶多项式. 二.最小二乘法拟合多项式   示例: import random i ...

  9. matlab 最小二乘法拟合_机器学习十大经典算法之最小二乘法

    点击上方"计算机视觉cv"即可"进入公众号" 重磅干货第一时间送达 最小二乘法概述 最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找 ...

最新文章

  1. Genome-scale de novo assembly using ALGA 使用ALGA进行 基因组规模的从头组装
  2. 查看UNIX/Linux资源占用的top命令
  3. 软文推荐:常用 Java 静态代码分析工具的分析与比较
  4. [Redux/Mobx] Redux中异步action和同步action最大的区别是什么?
  5. LeetCode 2023. 连接后等于目标字符串的字符串对
  6. pytorch自定义图片输入
  7. python 2.7.9 安装beautifulsoup4
  8. 如何创建带有.的文件夹
  9. mysql递归查询树
  10. 一天搞懂深度学习—学习笔记2(CNN)
  11. 解决maven中ojdbc14:11.2.0.1.0错误
  12. 联想服务器万全T260G3系统,联想万全T260G3服务器电子教室更易管理
  13. 我的世界java版怎么打开游戏菜单_我的世界游戏界面设置方法
  14. Cipher Block chaining
  15. [GKCTF 2021]excel 骚操作
  16. 分享Three.js 泛光(眩光)效果实现
  17. 热力夏季运动会java,夏季运动会作文(精选8篇)
  18. -bash: /usr/local/soft/jdk1.8.0_321/bin/java: 无法执行二进制文件
  19. python基础练习题与期末复习总结
  20. 前端开发问题——css设置背景样式效果无法显现

热门文章

  1. HTML5网页设计阶梯教程(4)——创建表格和设置单元格的大小
  2. java数组求最小值
  3. flink1.15源码笔记(run模式简单带过,主要看run-application)
  4. git to GitHub
  5. no such file or directory, scandir '.../node_modules/node-sass/vendor'
  6. java jdk版本_java-jdk各版本特性概述
  7. 排序算法之——归并排序 C语言实现
  8. python中常见的魔法方法 magic method
  9. 一、C语言结构体数组
  10. oracle添加用户及权限