最小二乘法多项式曲线拟合原理与实现(数学公式详细推导,代码方面详细注释)

  1. 最小二乘法概念:
    最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法
  2. 推导过程

    给定函数y=f(x),在点 x1 x 1 , x2 x 2 , x3 x 3 ,,,, xn x n 处的函数值 y1 y 1 y2 y 2 y3 y 3 ,,,, yn y n
    求以多项式p(x)= a0 a 0 + a1 a 1 x+ a2 a 2 x2 x 2 +……+ an a n * xk x k 使得
    这里写图片描述
    为了求得负荷条件的a值,对等式右边对 ai a i i=0,1,2….k 求偏导,得到结果为k+1个等式:
    a0
    这里写图片描述
    …..
    这里写图片描述

将方程整理,得到:
这里写图片描述
把这些等式表示成矩阵的形式,就可以得到下面的矩阵:
这里写图片描述

3 代码实现:
利用python语言来进行实现曲线拟合

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import math
import randomfig = plt.figure()
ax = fig.add_subplot(111)#阶数为9阶
order=9#生成曲线上的各个点
x = np.arange(-1,1,0.02)
y = [((a*a-1)*(a*a-1)*(a*a-1)+0.5)*np.sin(a*2) for a in x]# 生成的曲线上的各个点偏移一下,并放入到xa,ya中去
i = 0
xa = []
ya = []
for xx in x:yy = y[i]d = float(random.randint(60, 140)) / 100# ax.plot([xx*d],[yy*d],color='m',linestyle='',marker='.')i += 1xa.append(xx * d)ya.append(yy * d)'''''for i in range(0,5): xx=float(random.randint(-100,100))/100 yy=float(random.randint(-60,60))/100 xa.append(xx) ya.append(yy)'''ax.plot(xa, ya, color='m', linestyle='', marker='.')# 求出等式左边的矩阵AmatA=[]
for i in range(0,order+1):mat=[]for j in range(0+i,order+1+i):sumA=0for xx in xa:sumA=sumA+xx**jmat.append(sumA)matA.append(mat)
A=np.array(matA)# 求出右边的等式B
matB=[]
for j in range(0,order+1):sumB=0for xx,yy in zip(xa,ya):sumB=sumB+xx**j*yymatB.append(sumB)
B=np.array(matB)
# 另外一种该方法求A
# 求出等式左边的矩阵A
A=[]
for xx in xa:matA = []for i in range(0,order+1):mat = []for j in range(0+i,order+1+i):mat.append(xx**j)matA.append(mat)A.append(matA)
# 求和
A=sum(np.array(A))a=np.linalg.solve(A,B)
# 定义拟合函数
def fun_solve(x,a):y=0for i in range(len(a)):y+=a[i]*x**ireturn yxxa= np.arange(-1,1.06,0.01)
yya=[]
for xxaa in xxa:yya.append(fun_solve(xxaa,a))ax.plot(xxa,yya,color='g',linestyle='-',marker='')

这里写图片描述

参考博文:
https://blog.csdn.net/jairuschan/article/details/7517773/#commentBox
https://blog.csdn.net/einstein10147/article/details/79205109

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/253464.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

对「曲线拟合」和「最小二乘法」的个人理解

在工程实践中,经常遇到类似的问题: 我们做了n次实验,获得了一组数据 然后,我们希望知道x和y之间的函数关系。所以我们将其描绘在XOY直角坐标系下,得到下面这么一张点云图: 然后,我们发现,x和y…

最小二乘法实现曲线拟合

说明,本文章的源代码来着于网络,本人已在实际项目中反复使用过,证明没问题。 1.简介 已知曲线上的n个点,可以使用某条曲线去拟合,使得整体上所有的点都逼近曲线,可以使用不同的角度去判断整体逼近&#x…

最小二乘法直线拟合汇总

原文链接:https://www.jianshu.com/p/1c4f3edbaa47 首先最小二乘法是面对不连续的离散点。 它的本质是求某些参数,估计值在整体下可以使误差ε最小。 对于离散点的直线拟合、曲线拟合是在满足误差最小的基础上,得出可以用数学函数式表达的可…

线性回归----最小二乘法

目录 线性回归:就是把离散的数据拟合到一条直线上,获得一个直线方程来近似的描述这些离散的数据 最小二乘法:是用数学公式直接求解线性回归方程的参数的方法。 例: 使用美国汽车油耗数据中的排量disp作为X,油耗MPG作…

曲线拟合——最小二乘拟合(附代码)

曲线拟合——最小二乘拟合(附代码) 曲线拟合1 一元函数的最小二乘拟合1.1 线性回归(直线的最小二乘拟合)1.1.1 直线的最佳拟合方法1.1.2 如何计算1.1.3 误差量化分析 1.2 多项式回归(多项式的最小二乘拟合)…

插值与拟合 (二) : 曲线拟合的线性最小二乘法

目录 1 线性最小二乘法 最小二乘准则 系数 的确定 1.2 函数 的选取 常用的拟合曲线:直线、多项式曲线、双曲线、指数曲线 2 最小二乘法的 Matlab 实现 2.1 解方程组方法 2.2 多项式拟合方法 apolyfit(x0,y0,m) …

最小二乘法多项式曲线拟合及其python实现

最小二乘法多项式曲线拟合及其python实现 多项式曲线拟合问题描述最小二乘法针对overfitting,加入正则项python实现运行结果 多项式曲线拟合问题描述 问题描述:给定一些数据点,用一个多项式尽可能好的拟合出这些点排布的轨迹,并给…

数值分析——曲线拟合的最小二乘法

文章目录 一、曲线拟合的最小二乘原理1. 超定方程组的最小二乘解解题方法: 2. 直线拟合3. 多项式拟合 一、曲线拟合的最小二乘原理 拟合曲线定义:求近似函数 φ(x), 使之 “最好” 的逼近f(x) ,无需满足插值原则. 这就是曲线拟合问题。 (时间…

最小二乘法的曲线拟合方法在MATLAB中的实现

一、实验内容 已知一组实验数据如下表,求它的拟合曲线。 x(i)12345 f(i)44.5688.5 w(i)21311 二、程序清单与运行结果 M文件代码如下: function Smypolyfit(X,F,W,m,n) % mypolyfit输出通过最小二乘法求得的拟合曲线并绘图验证 % 例如: …

UFS 1-UFS架构简介1

UFS 1-UFS架构简介 1 UFS是什么?1.1 UFS1.2 一般特征1.2.1 Target performance1.2.2 Target host applications1.2.3 Target device types1.2.4 Topology1.2.5 UFS Layering 1.3 Interface Features1.3.1 Three power supplies1.3.2 Signaling as defined by [MIPI-…

最小二乘法线性拟合和2次曲线拟合算法

最近由于项目要求,应用了最小二乘法线性拟合和2次曲线拟合算法,现总结如下: 最小二乘法线性拟合应用已有的采样时间点,再现这些点所描述的线性变化,即求出一个线性方程yaxb(这个算法的主要问题也就是如何用给定的数据…

数值分析实验四 最小二乘法曲线拟合

一、实验目的 1.使用不同的模型对数据进行最小二乘拟合; 2.分析使用不同模型最小二乘法对数据进行拟合的RMSE(均方根误差); 3.根据分析结果求出最合理的拟合模型。 二、实验题目 1.用表1-1中的世界人口统计数值估计1980年的人口,求最佳最小…

最小二乘法的拟合原理

一. 最小二乘法的拟合原理 根据《数学指南》书中的解释: 图2 《数学指南》中对最小二乘法的解释 上面这段话,枯燥且无趣,大家不用厌恶,数学向来这个样子。 现在,我们来慢慢认识上面这段话的意思,这句话的意思是说&a…

最小二乘法拟合直线

曲线拟合中最基本和最常用的是直线拟合。设x和y之间的函数关系为: y=abx 式中有两个待定参数,a代表截距,b代表斜率。对于等精度测量所得到的N组数据(xi,yi),i=1&#xff…

多项式函数曲线拟合——最小二乘法

多项式函数拟合的任务是假设给定数据由M次多项式函数生成,选择最有可能产生这些数据的M次多项式函数,即在M次多项式函数中选择一个对已知数据以及未知数据都有很好预测能力的函数。 最小二乘法(又称最小平方法)是一种数学优化技术…

最小二乘法入门(Matlab直线和曲线拟合)

参考博客:https://blog.csdn.net/wokaowokaowokao12345/article/details/72850143 多的就不多说了,持续脱发中!!! 最小二乘法历史起源之类的:https://baike.baidu.com/item/%E6%9C%80%E5%B0%8F%E4%BA%8C%…

曲线拟合的最小二乘原理

文章目录 1 什么是最小二乘2 最小二乘原理3 最小二乘应用示例4 法方程到底是什么 1 什么是最小二乘 在科学实验的统计方法研究中,往往要从一组实验数据 ( x i , y i ) ( i 0 , 1 , 2 , … , m ) (x_i,y_i)(i0,1,2,…,m) (xi​,yi​)(i0,1,2,…,m) 中寻找自变量 …

最小二乘法曲线拟合原理

最小二乘法曲线拟合原理 一、最小二乘法原理 对于给定的一组数据(xi,yi),假定它满足n次多项式: 为了求取各阶参数的最优解,对于每个xi,通过n次多项式计算的值和yi之间的差值的平方和应该最小&#xff0c…

最小二乘法

1、概述 最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差(真实目标对象与拟合目标对象的差)的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数…

最小二乘法多项式曲线拟合原理与实现

概念 最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线yf(x)的近似曲线y φ(x)。 原理 [原理部分由个人根据互联网上的资料进行总结,希望对大家能有用] 给定数据点pi(xi,yi),其中i1,2,…,m…