0

当我试图解释我正在尝试做的事情时,请耐心等待。

我正在尝试将反正切模型拟合到某些数据。我的数据集中有两个独立的测量值;其中之一具有未知的不确定性。

测量

我要拟合的模型具有以下形式:

def model(x, s, d, c):
    return (s/np.pi) * np.arctan(x/d) + c

我可以将模型拟合到点云数据(具有未知的不确定性)。使用类似的东西:

params = lmfit.Parameters()
params['s'] = lmfit.Parameter(name='s', value=-3, min=-10, max=10)
params['d'] = lmfit.Parameter(name='d', value=15, min=0, max=30)
params['c'] = lmfit.Parameter(name='c', value=5, min=-10, max=10)

emcee_kws = dict(steps=10000, burn=300, thin=20, progress=True)
m = lmfit.Model(model)
result_emcee = m.fit(data=y, x=x, params=params, method='emcee', fit_kws=emcee_kws)

但我真正想做的是同时拟合这两个数据集,同时考虑到可变数据的不确定性。

非常感谢任何帮助!

4

1 回答 1

0

首先,请举一个更完整的例子。如lmfit文档所示,您可以为数据提供不确定性。如果您认为您不知道不确定性,请尝试将它们设置为“无穷大”,然后希望您会意识到您确实对不确定性的规模有所了解。

其次,不要使用该emcee方法。它不适合将数据拟合到模型中。

于 2022-01-08T21:02:07.270 回答