python - 如何将自变量作为参数传递给 lmfit 最小化
问题描述
我是这个统计的新手。
因此,对于 x 的某些值,我有一个数据集 y = f(x)。我想将此数据拟合到 afunc
中,以便y
我可以计算 中的每个点的值x
。
假设我想要拟合的模型类似于
def func(x,a,b,c):
return a+b*x/c
现在要使用最小化功能,我必须定义参数:
params = Parameters()
params.add('a' , value = 10)
params.add('b' , value = 1)
params.add('c' , value = 2)
result = minimize(func, param, arg=(x, y))
我的问题是,如果我想将我的x
变量作为参数并将其作为参数传递怎么办。
基本上,当我x
作为变量传递时,我传递的是一个与我的数据集中特定点相对应的数组。但是我想找到x
用作参数的用途,因为我想找到x
某些数据点的值y
。
解决方案
这不是单向的步骤。
我通过使用Model
类来实现它lmfit
考虑一下。
我有我命名的模型函数:我MF
通过它计算samples
原始数据的精确值。
我有原始数据:(Raw_Data
例如来自传感器)
那我有一定parameters
的。(x, y, z, 样本)
现在我认为样本是一个independent variable
.
我的目标是估计其中一个参数。
首先我必须创建一个模型类
mod = Model (MF, parameters, independant_vars = ['samples']
然后使用 Parameters() 类设置初始参数。
并添加初始值
fit_params = Parameters()
fit_params.add('x', value = 170)
fit_params.add('y', value = 120)
fit_params.add('z', value = 110)
然后你适合模型
Result - mod.fit(Raw_data, params = fit_params, samples = your_samples)
输出是一个dict
。
推荐阅读
- c# - 如何使用代码优先方法进行长文本
- arrays - 数据类对象或数组
- powershell - 如何显示几个 mp4 文件的持续时间
- firebase - Firestore 合并不返回 Pormise
- vue.js - 带有 vue js 和 axios 的 youtube-data-api
- angular7 - 未捕获(承诺):错误:无效的 CanActivate 保护
- java - 如何从 Rally 中删除倡议、功能和用户故事?
- c - MacOS中C程序的奇怪行为
- python-3.x - Py4JJavaError: 调用 z:org.apache.spark.api.python.PythonRDD.runJob 时出错
- python - 如何在 python nmap 中提供 inputfilefile(-iL) 选项?