R - vom Histogramm zur Funktionsgleichung durch nichtlineare Regression
-
Hi,
ich habe einen Datensatz mit 1000 Zeilen und einer Spalte. Aus den Daten baue
ich ein Histogramm und zeichne die kumulative Verteilungsfunktion. Die
entstehenden Grafik und den Datensatz kann man hier sehen:
http://www.jochen-bauer.net/downloads/curve-fitting-tutorial/curvefit-plot.png
http://www.jochen-bauer.net/downloads/curve-fitting-tutorial/data01.txtDie Daten stammen aus einer Simulation, die das statistische Rauschen
wiedergibt. Später wird dann nur noch ein einziger Wert gelesen und man soll den
P-Wert vorhersagen können, wie wahrscheinlich das Ergebnis durch Zufall
entstanden ist.In der Grafik sind neben den Daten (grüne Kurve) die Normalverteilung (blau) mit
den Parametern mue und sigma passend zur Datenmenge eingezeichnet. Zusätzlich
ist eine rote Kurve in der Abbildung, das ist die Gumbel-Verteilung, diese ist
der heiße Verteilungs-Kandidat auf den gefittet werden soll.Die Gumbel-Verteilung hat die Parameter mue und beta, wobei mue das Maximum der
Funktion nach rechts oder links verschiebt und beta die Breite der Verteilung
steuert. Für einige der Histogramme liefert mue = 0.925 * median(Datenmenge) und
beta = 0.9 * Standardabweichung(Datenmenge) brauchbare Ergebnisse, also
Ergebnisse, bei denen eine Gumbelverteilung durch den Kolmogorov-Smirnov
bestätigt wird (der P-Wert in der Abbildung). Ich habe die Kurven optisch
angenähert, habe also herumprobiert und die Gumbel-Verteilung verschoben, um
diese Werte für mue und beta zu finden.Ich soll aber die Parameter errechnen, als Tipp für derartige Verfahren bekam
ich den Levenberg-Marquardt-Algorithmus, für diese nichtlineare Regression. Ich
weiss nicht, wie ich dies nun in R auf mein Problem anwenden kann? Ich finde
kein leichtes Beispiel, dass ich transferieren kann!Außerdem zeigen meine bisherigen Beobachtungen, dass ein Zusammenhang zwischen
Konserviertheit und der Zufallswerteverteilung besteht - das muss ja dann auch
irgendwie in der Parametrisierung berücksichtigt werden - später will ich also
diese Wertefolge, die aktuell zum Histogramm führt, gar nicht mehr berechnen,
sondern direkt sagen können, wie wahrscheinlich das gemessene Ergebnis durch
Zufall entstanden sein könnte. Die Konserviertheit zum Datensatz steht im
R-Skript in Zeile 17.
Das R-Skript ist hier:
http://www.jochen-bauer.net/downloads/curve-fitting-tutorial/curvefit.txtDie Gleichung für die kumulierte Gumbel-Verteilung lautet:
|.....................(-x)
|...............(-e)^
| F(x) = e^Hier sind noch die Links zu den weiteren Daten-Textdateien.
http://www.jochen-bauer.net/downloads/curve-fitting-tutorial/data02.txt
http://www.jochen-bauer.net/downloads/curve-fitting-tutorial/data03.txtDanke vorab für den ein oder anderen Aha-Effekt oder Denkanstoß seitens der
versierteren Mathefüxxe.