Seite 1 von 1
Mehrere Funktionen parallel mit globalen Parametern fitten möglich?
Verfasst: Freitag 25. November 2016, 08:39
von HrSumsemann
Hallo allerseits,
ich habe mehrere Datensätze, welche jeweils mit einer anderen Funktion beschrieben werden. Die zu fittenden Prameter sind jedoch bei jeder Funktion gleich. Ist es möglich einen Fit für alle Funktinen und Datensätze parallel durchzuführen und so einen Parametersatz zu erzeugen, welcher einen Bestfit für alle darstellt?
Danke
Re: Mehrere Funktionen parallel mit globalen Parametern fitten möglich?
Verfasst: Freitag 25. November 2016, 08:58
von Sirius3
@HrSumsemann: Dazu mußt Du ja nur eine Funktion schreiben, die die drei Einzel-Merit-Funktionen passend kombiniert.
Re: Mehrere Funktionen parallel mit globalen Parametern fitten möglich?
Verfasst: Freitag 9. Dezember 2016, 13:13
von HrSumsemann
Danke für die Antwort,
ich habe jetzt erstmal zum Üben versucht, eine einzelne Funktion mit Minimize anzufitten, jedoch passiert da nichts:
Code: Alles auswählen
from lmfit import minimize, Parameters, Parameter, report_fit
import numpy as np
x = np.array([1., 2., 3., 4., 5., 6., 7., 8.])
y = np.array([2., 4., 6., 8., 10., 12., 14., 16.])
def simple_fit(params, x, y):
a = params['a'].value
_y = a * x
return _y - y
params = Parameters()
params.add('a', value=0, min=0, max=1000)
result = minimize(simple_fit, params, args=(x, y))
report_fit(params)
Das bekomme ich raus:
[[Variables]]
a: 0 (init= 0)
[[Correlations]] (unreported correlations are < 0.100)
Hat jemand einen Tipp, was ich falsch mache?
Re: Mehrere Funktionen parallel mit globalen Parametern fitten möglich?
Verfasst: Montag 12. Dezember 2016, 06:21
von HrSumsemann
Hat niemand einen Tip?
Re: Mehrere Funktionen parallel mit globalen Parametern fitten möglich?
Verfasst: Montag 12. Dezember 2016, 13:10
von HrSumsemann
Habe es hinbekommen, fehler war: report_fit(params)
Es muss report_fit(result.params) heißen.
Danke