其它函数拟合

a基本原理:

给出公式的大致情况,自动去拟合出最优的参数。这里的其它指的是除多项式以外的拟合情况,包括三角函数、对数,以及一些复杂的复合函数。

b拟合原理:

总体思路类似于最小二乘法的拟合思路的,只是要给出函数的大致情况,类似于多项式中的几次多项式拟合。

c方法优缺点:

优点:

  1. 思想简单,实现容易。建模迅速,对于小数据量、简单的关系很有效。

  2. 解决回归问题,拥有很好的解释性。

  3. 是很多非线性模型的基础。

缺点:

  1. 对于非线性数据或者数据特征间具有相关性多项式回归难以建模。

  2. 当样本特征n非常大的时候会变的很耗时,难以很好的表达复杂的数据。

  3. 需要了解待拟合函数的大致情况。

d算法入口:

scipy.optimize.curve_fit(func,x,y,p0,*args)

func需要拟合的函数形式,

x  数据x

y  数据y

p0   给函数的参数确定一个初始值来减少计算机的计算量,数据比较简单时可以没有

输出的第一个是残差最小的时候参数值,第二个是估计的协方差。

e实例参考:

# -*- coding: utf-8 -*-
'''其他函数拟合,这里的例子为拟合一个三角函数
'''from scipy.optimize import curve_fit
import numpy as np
import matplotlib.pyplot as pltdef func(x, a1, a2, a3, a4):  # 原函数return a1 * np.sin(a2 * np.pi * x + a3) - a4def myfit(function, x, y, p=None):return curve_fit(function, x, y, p0=p)# 作图,其中y1为原始数据,y2为拟合出来的数据
def PLT(x1, y1, x2, y2, p):plt.scatter(x1, y1, color='blue')plt.plot(x1, func(x1, p[0], p[1], p[2], p[3]), color='yellow', label='real')plt.plot(x2, y2, color='red', label='fit')plt.legend()plt.show()if __name__ == '__main__':# 在[0,2.5*pi]上生成200个时序坐标点(x,y),其中前160个为拟合点,后40个为预测点x = np.linspace(0, 2.5 * np.pi, 200)pp = [2, 1, 1.5, 0.5]y = func(x, pp[0], pp[1], pp[2], pp[3])y += np.random.randn(200) * 0.2  # 加上噪音p = [1, 1, 1, 1]  # 随便给出个初始值ff, _ = myfit(func, x[:160], y[:160], p=p)  # 生成拟合出来的a0,a1,a2,a3print(ff)PLT(x, y, x, func(x, ff[0], ff[1], ff[2], ff[3]), p=pp)

运行结果如下

f参考文献:

python数据分析之曲线拟合(2):三角函数sin/cos拟合

https://blog.csdn.net/kaever/article/details/109659367

知乎scipy.optimize.curve_fit函数用法解析

https://zhuanlan.zhihu.com/p/144353126

趋势预测方法(二)其他函数拟合_函数拟合相关推荐

  1. python函数加点_函数

    函数的作用 函数的作用:就是将实现某一个功能的代码封装到一个称为'函数'的模块之中 定义函数 在Python之中使用 def 关键字来定义,当函数执行完的时候应当使用return 关键字来返回一个结果 ...

  2. 过度拟合_过度拟合和尺寸缩减的过度拟合的最终指南

    过度拟合 Let us consider that we are designing a machine learning model. A model is said to be a good ma ...

  3. python怎么识别log函数_log函数图像_函数图像_python函数图像 - 云+社区 - 腾讯云

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 和 tanh 一样,它是反对称的.零中心.可微分的,值域在 -1 到 1 之间. ...

  4. lambda表达式函数接口_函数Lambda表达式中UnaryOperator的示例

    lambda表达式函数接口 Java 8 Lambda表达式的实现需要介绍一些具有深奥名称的新接口,这些接口可能会对没有任何函数式编程经验的开发人员造成一定的威胁. 功能性UnaryOperator接 ...

  5. java 实现画函数图像_函数图像生成器 [基于JAVA的图像生成器设计与实现]

    摘要:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java技术具有卓越的通用性.高效性.平台移植性和安全性.该文基于JAVA语言,在介绍JAVA概念的基础上,实现了图像生成器的简单设 ...

  6. ads s参数拟合_数据分析--拟合

    1.求根 二分法,牛顿法,简单迭代法 newton法 迭代公式 F(X)的雅克比矩阵 2.最小二乘拟合 最小二乘拟合是将包含统计不确定性的数据拟合为公式("理论")的首选方法. 已 ...

  7. java正交多项式拟合_正交多项式拟合-matlab

    任务概述 给定函数f(x)在m个采样点处的值f(xi)以及每个点的权重wi,求曲线拟合的正交多项式Pn(x)满足最小二乘误差||err||2=∑mi=1wi[f(xi)−Pn(xi)]2<TOL ...

  8. 中countif函数_Count系列函数-Count、Counta、Countblank、Countif、Countifs

    统计函数在我们的日常工作中也会经常使用.常见的有Count.Counta.Countblank.Countif.Countifs五个. Count用于统计数据类型的单元格个数,Counta用于统计非空 ...

  9. C++ 论公有继承时纯虚函数、虚函数、普通函数的行为表现及虚函数的重写(深度好文)

    文章目录 1 公有继承时三种类型的函数行为 1.1 纯虚函数 (pure virtual) 1.2 普通虚函数 **1.2.1 方法一** **1.2.2 方法二** 1.3 非虚函数 2 重写 (o ...

最新文章

  1. 基于激光雷达的里程计及3D点云地图中的定位方法
  2. Java中的基本数据类型以及Java的基本结构
  3. python颜色形状识别_Python自定义颜色形状Fi
  4. elementui表格添加滚动条_如何给PDF文档添加超链接?
  5. Linux0.11内核剖析--内核体系结构
  6. 【C++】int与string转换
  7. python写程序注意事项(很重要)
  8. oracle sys_connect_by_root,CONNECT_BY_ROOT实现行列转换
  9. javascript实现分页效果
  10. bgp通告四原则_华为路由器BGP路由选路和负载均衡
  11. 科大讯飞成为北京 2022 年冬奥会和冬残奥会官方自动语音转换与翻译独家供应商
  12. java模拟浏览器http请求_java使用HttpClient模拟浏览器请求
  13. 商业计划书的“三·七”原则
  14. MacBook安装telnet工具和使用
  15. 【GlobalMapper精品教程】001:GlobalMapper23 Pro-x64中文安装教程(附软件包下载)
  16. 运筹说 第47期 | 算法介绍之目标规划
  17. python爬虫实战——猫眼电影案例
  18. 单片机按键去抖,极简
  19. 如何实现在线文档?Vue+SpreadJS组合拳出击
  20. JavaScript小技能:语言特点

热门文章

  1. 如何编写命令行运行的程序
  2. 字节跳动(抖音)软件测试面经完整版、建议收藏【偷偷录的】
  3. 计算机用户界面设计方法,一文解读:什么是用户界面设计?
  4. 【电力电子】【2016.05】【含部分源码】用VVVF启动法在Matlab中模拟3ph感应电动机
  5. 进阶技能篇:SQL的跨库查询与链接服务器
  6. python 爬取图片_Python实现千图成像:从图片爬取到图片合成
  7. laravel migrations 反向生成
  8. require.resolve 的使用
  9. TUP第29期:王淮、龚世海谈如何打造优秀的技术团队
  10. ff14转服务器系统,ff14转服时间 | 手游网游页游攻略大全