2015-10-21 4 views
0

enter image description hereдоверительный интервал для самих данных с использованием lmfit в питона

Вот ссылка для реализации 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) 
+0

Не могли бы вы изменить свой вопрос? Первая часть текста вырезана; вторую часть невозможно прочитать, спасибо! – Cleb

ответ

0

Немного сложно понять заголовок Доверительный интервал для самих данных с использованием lmfit в python (нет данных) или первое предложение Я выполняю настройку кривой с использованием пакета lmfit (вам нужны данные для соответствия).

Я думаю, что вы просите - это способ получить экстремальные значения для функции модели, которая наилучшим образом соответствует вашим данным. Если да, то будет ли это работать для оценки вашей функции со всеми комбинациями значений параметров best +/- delta (где delta может быть любым неуверенным уровнем, который вам нравится) и принимать экстремальные значения функции модели? Это не очень автоматизировано, но не должно быть слишком сложно.

+0

Он ищет доверительные группы: https://en.wikipedia.org/wiki/Confidence_and_prediction_bands. –

 Смежные вопросы

  • Нет связанных вопросов^_^