千家信息网

Python数据拟合实现最小二乘法的示例分析

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,今天就跟大家聊聊有关Python数据拟合实现最小二乘法的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。线性拟合这个表达式还是非常简单的
千家信息网最后更新 2025年02月01日Python数据拟合实现最小二乘法的示例分析

今天就跟大家聊聊有关Python数据拟合实现最小二乘法的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

线性拟合

这个表达式还是非常简单的。

对于有些情况,我们往往选取自然序列作为自变量,这个时候在求自变量的取值时可以用到一些初等数学的推论,对于 x ∈ [ m , n ] 的自然序列来说,有

#文件名core.pyimport numpy as npdef leastSquare(x,y):    if len(x)==2:    #此时x为自然序列        sx = 0.5*(x[1]-x[0]+1)*(x[1]+x[0])        ex = sx/(x[1]-x[0]+1)        sx2 = ((x[1]*(x[1]+1)*(2*x[1]+1))              -(x[0]*(x[0]-1)*(2*x[0]-1)))/6        x = np.array(range(x[0],x[1]+1))    else:        sx = sum(x)        ex = sx/len(x)        sx2 = sum(x**2)        sxy = sum(x*y)    ey = np.mean(y)    a = (sxy-ey*sx)/(sx2-ex*sx)    b = (ey*sx2-sxy*ex)/(sx2-ex*sx)    return a,b

测试一下

>>> x = np.arange(25)>>> y = x*15+20+np.random.randn(len(x))*5       #randn生成正态分布噪声>>> a,b = core.leastSquare(x,y)                         >>> plt.scatter(x,y)                                              #原始数据散点图>>> plt.plot(x,a*x+b)                                             #拟合直线[]>>> plt.show()

得到

高阶多项式

和前面一样,约定

代码如下

#传入参数格式为np.array,n为阶数def leastSquareMulti(x,y,n):    X = [np.sum(x**i) for i in range(2*n+1)]    Y = np.array([[np.sum(y*x**i)] for i in range(n+1)])    S = np.array([X[i:i+n+1] for i in range(n+1)])    return np.linalg.solve(S,Y)                #

经测试结果如下:

>>> x = np.arange(25)>>> y = x**3+3*x**2+2*x+12>>> import core>>> core.leastSquareMulti(x,y,3)array([[12.],           #此为常数项       [ 2.],       [ 3.],       [ 1.]])

多自变量

对于样本

则相应地其误差方程组可表示为

指数函数

则其代码为

def expFit(x,y):    y0 = y[0:-3]    y1 = y[1:-2]    y2 = y[2:-1]    B,C = leastSquare(y2/y0,y1/y0)    b1 = np.log((B-np.sqrt(B**2+4*C))/2)    b2 = np.log((B+np.sqrt(B**2+4*C))/2)    X = np.exp(b1-b2)*x    Y = y/np.exp(b2*x)    a1,a2 = leastSquare(X,Y)    return a1,a2,b1,b2

看完上述内容,你们对Python数据拟合实现最小二乘法的示例分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

数据 内容 序列 自变量 自然 最小 乘法 示例 分析 代码 测试 原始 指数函数 函数 初等数学 参数 噪声 多项式 常数 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 危害网络安全行为向司法部门 数据库查询大小写 oracle配置数据库连接 补丁服务器和yum源 安卓音乐软件开发歌曲 上海煌耀软件开发 武汉理工图书馆的数据库打不开 用安卓平板做软件开发 南开100题三级网络技术 统计数据库的个数 服务器一开防火墙就无法远程连接 网络安全教育图片手抄报 景洪gpu云服务器价格 数据库安全性问题有哪些 如何选购云服务器 软件开发与编写程序一样吗 君达智尚网络技术有限公司地址 搜索 云服务器 数据库中学分和先修课的数据类型 质谱数据库网站 生化危机6 一直正在连接服务器 长沙工业图控系统软件开发 软件开发工程师承接网站 亚洲服务器英文版 数据库安装产品更新停止 怎么在数据库删除用友期初发票 高二网络技术应用选修课标要求 奥维互动地图基于什么软件开发 软件开发能力雷达图 dos 关闭不了数据库
0