Seite 1 von 1

doppelter Fit

Verfasst: Dienstag 16. August 2016, 21:30
von trublu
Hallo,

ich soll einen (indirekten?) Fit nachbauen und hab da so meine Probleme mit. Ein ehemaliger Kollege hat das mal gemacht, er hat aber mittlerweile die Firma verlassen und kann nicht mehr gefragt werden.

Und zwar gibt es Messgrößen x. Aus diesen Daten soll eine andere Größe y = f(x;a) bestimmt werden, wobei a ein freier Parameter ist. Dieser Parameter soll nun so bestimmt werden, dass eine andere Funktion g(y;b) mit freiem Parameter b bestmöglich gefittet wird, z.B. die berechneten y-Werte auf einer Geraden liegen.

Gesucht sind also die freien Parameter a und b und deren Kovarianzmatrix. Ich weiß aber nur wie man Funktionen direkt fittet, d.h. für feste a die Funktion g zu fitten. Wie aber schaffe ich es, dass auch der a Parameter mit gefittet wird? Ich hoffe es ist halbwegs nachvollziehbar war ich erreichen will.

Re: doppelter Fit

Verfasst: Mittwoch 17. August 2016, 06:52
von Sr4l
trublu hat geschrieben:ich soll einen (indirekten?) Fit nachbauen und hab da so meine Probleme mit. Ein ehemaliger Kollege hat das mal gemacht, er hat aber mittlerweile die Firma verlassen und kann nicht mehr gefragt werden.
Und der hat nur Endergebnisse hinterlassen und keinen Weg? Ist das eine gute Art der Dokumentation? ;-)

trublu hat geschrieben:Und zwar gibt es Messgrößen x. Aus diesen Daten soll eine andere Größe y = f(x;a) bestimmt werden, wobei a ein freier Parameter ist. Dieser Parameter soll nun so bestimmt werden, dass eine andere Funktion g(y;b) mit freiem Parameter b bestmöglich gefittet wird, z.B. die berechneten y-Werte auf einer Geraden liegen.
Dem kann ich nicht folgen. X sind verrauschte Messwerte? Daraus machst du eine Funktion (z.B eine Gerad)? Dann stelle ich mir vor das y eine Funktion ist die diese Gerade modifiziert (offset oder Steigung z.B). Dann ist g aber doch auch eine Funktion von f(x;a;b) oder nicht?

Re: doppelter Fit

Verfasst: Mittwoch 17. August 2016, 09:39
von trublu
Sr4l hat geschrieben: Und der hat nur Endergebnisse hinterlassen und keinen Weg? Ist das eine gute Art der Dokumentation? ;-)
Natürlich ist es das nicht. Ich kann aber nicht ändern was bereits passiert ist. Ich kann es jetzt lediglich für die Zukunft besser machen :)
trublu hat geschrieben:Dem kann ich nicht folgen. X sind verrauschte Messwerte? Daraus machst du eine Funktion (z.B eine Gerad)? Dann stelle ich mir vor das y eine Funktion ist die diese Gerade modifiziert (offset oder Steigung z.B). Dann ist g aber doch auch eine Funktion von f(x;a;b) oder nicht?
hmmm eigentlich schon. Entweder habe ich das schlecht beschrieben oder ich bin nicht in der Lage das für mein Problem anzupassen. Also mal etwas konkreter.

Meine Messgröße heißt jetzt Z. Aus diesem Z berechne ich das Y als Y = Z/A. Wenn ich jetzt Y gegen X plotte hätte ich gerne eine Gerade Y = B*X. Und das überfordert mich.

Re: doppelter Fit

Verfasst: Mittwoch 17. August 2016, 13:48
von ChGr
Also willst Du einfach eine lineare Regression machen? Das geht z.B. damit:

http://docs.scipy.org/doc/scipy-0.14.0/ ... gress.html

Code: Alles auswählen

from scipy import stats
import numpy as np
x = np.random.random(10)
y = np.random.random(10)
slope, intercept, r_value, p_value, std_err = stats.linregress(x,y)

Re: doppelter Fit

Verfasst: Mittwoch 17. August 2016, 15:28
von trublu
eigentlich nicht. Ich hab ja keine festen y Werte, sondern da steckt ja auch ein Parameter drin der gefittet werden soll und das klappt so ja nicht oder?

Re: doppelter Fit

Verfasst: Mittwoch 17. August 2016, 19:23
von Sirius3
trublu hat geschrieben:Meine Messgröße heißt jetzt Z. Aus diesem Z berechne ich das Y als Y = Z/A. Wenn ich jetzt Y gegen X plotte hätte ich gerne eine Gerade Y = B*X. Und das überfordert mich.
Du hast also Wertepaare (Z, X). Deine Gleichung heißt also Z/A = B*X oder Z = A*B*X. Also hast Du doch eine Form der linearen Regression und wie Du leicht sehen kannst, kannst Du nur A*B bestimmen, aber niemals A und B getrennt.

Re: doppelter Fit

Verfasst: Mittwoch 17. August 2016, 20:37
von trublu
oh man dämlich dämlich dämlich... ja natürlich, das wird funktionieren. Vielen Dank