LabVIEWForum.de - nichtlinearer Kurvenfit, Kovarianzmatrix

LabVIEWForum.de

Normale Version: nichtlinearer Kurvenfit, Kovarianzmatrix
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen,

zum Auswertung von Daten verwende ich das VI "Nichtlineare Kurvenanpassung - LM-Formel-String". Der Fit-Algorithmus funktioniert sehr zuverlässig. Dieses VI liefert zusätzlich die Kovarianzmatrix, aus welcher Angaben über die Zuverlässigkeit der Variablen möglich sind. In der Hauptdiagonale der Kovarianzmatrix stehen die Varianzen der einzelnen Variablen.

In meinem Fall fitte ich eine Standard Exponentialfunktion y = a0 + a1*exp(-x/a2) an Wachstumsdaten. Die Varianzen der drei Variablen (a0, a1, a2) stehen in der Hauptdiagonale der Kovarianzmatrix (Elemente [0;0], [1;1], [2;2]). Die Standardabweichung ist die Wurzel der Varianz. Soweit scheint alles eigentlich sehr einfach zu sein. Leider erscheinen mir die Werte für Varianz/Standardabweichung viel zu groß.

Um nicht lange beschreiben zu müssen, habe ich ein kleines Beispiel erstellt. Für die Variable a2 liefert der Fit-Algorithmus 124. Die Standardabweichung beträgt laut Kovarianzmatrix 166, also über 130%. Die Messdaten streuen rel. gering und lassen sich sehr gut mit einer Exponentialfunktion beschreiben. Intuitiv erscheint mir daher eine Unsicherheit von über 100% viel zu groß. Augenblicklich habe ich keine Ahnung, was ich hier falsch verstehe. Hat jemand eine Idee? Ist mit "Kovarianzmatrix" evtl. hier etwas anders gemeint?

Vielen Dank!

Viele Grüße
st.
Hallo st.,

die Kovarianzen sind von den Eingangsdaten abhängig.
Wenn man die Y-Werte in einen ähnlichen Wertebereich wie deine X-Werte skaliert, bekommst du wesentlich geringere Standardabweichungen:
[attachment=60151]
Die Rechnung selbst wird kurz in der Hilfe zur Funktion erwähnt - ich habe mich aber schon lange nicht mehr mit dieser Mathematik auseinandergesetzt. Du kannst aber jederzeit anschauen, wie die Covariance berechnet wird…
Hallo Gerd,

danke für den Hinweis. Vielleicht liegt es an den x-Werten. Vor Jahren hatte ich mal ein ähnliches Problem. Die Messdaten sind physikalische Werte. Die rein mathematischen Algorithmen berücksichtigen das nicht. Es ist natürlich mathematisch völlig korrekt, aber als Anwender muss man nochmal genau darüber nachdenken und evtl. irgendwelche Transformationen bzw. Rücktransformationen durchführen. Ich werde eine Normierung versuchen.

Vielen Dank und viele Grüße
st.
Wäre es hier nicht einfacher, die Funktion "Exponential Fit" zu verwenden?
Hallo Lucki,

ja, grundsätzlich schon. Dieser VI hat sogar den Vorteil, dass man verschiedene Methoden auswählen kann. Leider liefert es keine Varianzen/Standardabweichungen der Variablen. Es gibt zwar noch das VI "Intervalle der Exponentialanpassung", aber dieses gibt für den Gleichanteil kein Fehlerintervall aus.
Vielleicht versuche ich es jetzt mit dem VI "Nichtlineare Kurvenintervalle" und verwende zum Fitten "Nichtlineare Kurvenanpassung - F(x,a) ist VI". Damit erhält man die Grenzen für ein Konfidenzintervall. Es wäre schön gewesen, wenn ich die Werte direkt aus der Kovarianzmatrix ableiten könnte.

Vielen Dank und viele Grüße
st.
Referenz-URLs