0

在此处输入图像描述

这是参数置信区间的 LMFIT 实现的链接:http://lmfit.github.io/lmfit-py/confidence.html 是我正在使用的代码:

import lmfit
import numpy as np

# x = np.linspace(1, 10, 250)
# np.random.seed(0)
# y = 1. -np.exp(-(x)/10.) +  0.1*np.random.randn(len(x))

pars = lmfit.Parameters()
pars.add_many(('n', 1.),  ('tau', 3.))

# def residual(pars,data=None):
def residual(pars):
    v = pars.valuesdict()
    # if data is None:
    #     return 1.0 - np.exp(-(x**v['n'])/v['tau'])
    return 1.0 - np.exp(-(x**v['n'])/v['tau'])-y

# create Minimizer
mini = lmfit.Minimizer(residual, pars)

# first solve with Nelder-Mead
out1 = mini.minimize(method='Nelder')

out2 = mini.minimize(method='leastsq', params=out1.params)

lmfit.report_fit(out2.params, min_correl=0.5)

ci, trace = lmfit.conf_interval(mini, out2, sigmas=[0.95],
                                trace=True, verbose=False)
lmfit.printfuncs.report_ci(ci)
4

1 回答 1

0

标题Confidence interval for the data itself using lmfit in python(没有数据)有点难理解,或者第一句我在用lmfit包做曲线拟合(你需要数据来拟合)。

我认为您所要求的是一种获得与您的数据最匹配的模型函数的极值的方法。如果是这样,是否可以使用参数值的所有组合best +/- deltadelta您喜欢的任何不确定级别)评估您的函数,并获取模型函数的极值?这不是很自动化,但不应该太难。

于 2015-10-24T01:45:36.783 回答