python 曲线拟合参数能否为数组_Python中参数曲线的拟合

这篇博客讨论了如何在Python中对曲线进行拟合,特别是当参数可以是数组时。作者面临的问题是在不可观测变量t的基础上,用(X,Y)实验数据和理论模型(x(t;*params),y(t;*params))进行拟合。由于数据跨越多个周期,潜在的t值可能不是单调的。目前采用的方法是通过迭代和插值寻找最佳参数(A,B),但效率低下且不理想。作者探讨了使用MCMC和Expectation Maximization算法的可能性,并分享了一段用于寻找最优参数的代码示例。" 111361775,10294170,推荐系统中的矩阵分解技术:奇异值分解与应用,"['矩阵分解', '推荐系统', '协同过滤', '数据挖掘', '机器学习']
摘要由CSDN通过智能技术生成

我有(X,Y)形式的实验数据和(x(t;*params),y(t;*params))形式的理论模型,其中t是一个物理(但不可观察的)变量,*params是我要确定的参数。t是一个连续变量,模型中x和{}之间以及{}和{}之间存在1:1的关系。在

在一个完美的世界里,我会知道T(参数的真实值)的值,并且能够做一个非常基本的最小二乘拟合来找到*params的值。(请注意,我并不是试图“连接”绘图中的x和{}的值,就像在31243002或{a2})中一样。我不能保证在我的实际数据中,潜在值{}是单调的,因为我的数据是跨多个周期收集的。在

我不是很有经验做曲线拟合手动,并不得不使用非常粗糙的方法,没有一个简单的访问一个基本的scipy函数。我的基本方法包括:选择*params的某个值并将其应用于模型

取一个t值的数组,并将其放入模型中,以创建一个model(*params) = (x(*params),y(*params))的数组

将X(数据值)插值到model中得到{}

在Y和{}之间进行最小二乘法(或其他)比较

对一组新的*params再次执行此操作

最后,为*params选择最佳值

这种方法有几个明显的问题。在

1)我没有足够的编码经验来开发一个非常好的“再试一次”,而不是“在解决方案空间中尝试所有东西”,或者“在粗糙网格的热点区域,在稍细的网格中重试所有内容”。我尝试过MCMC方法,但从未找到任何最佳值,主要是因为问题2

2)步骤2-4本身就非常低效。在

我尝试过类似的东西(类似于伪代码;实际函数是虚构的)。对于在A、B上使用广播,有许多小问题可以提出,但这些问题的重要性不如每一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值