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

Python で lmfit を使用してデータ自体の信頼区間というタイトル(データがありません)、またはlmfit パッケージを使用してカーブ フィッティングを行っている最初の文(適合するデータが必要)を理解するのは少し難しいです。

あなたが求めているのは、データに最もよく一致するモデル関数の極端な値を取得する方法だと思います。もしそうなら、パラメータ値のすべての組み合わせで関数を評価しbest +/- delta(delta任意の不確実性レベルがどこにある可能性があるか)、モデル関数の極値を取るのはうまくいくでしょうか? これはあまり自動化されていませんが、それほど難しくはありません。

于 2015-10-24T01:45:36.783 に答える