Ableitung(en) Gammaverteilung

Hallo liebe Matheexperten,

ich brauche mal wieder ein bisschen Hilfe. Ich bastel grade etwas am Levenberg-Marquardt-Algorithmus rum, damit ich verschiedene Verteilungen an gesampelte Daten fitten kann. Dazu brauche ich natürlich auch die Ableitungen der entsprechenden PDFs nach den verschiedenen Parametern. Und genau da habe ich grade ein kleines Problem.

Eine von den Verteilungen, die ich gerne an meine Daten fitten würde, ist eine drei Parameter Gammaverteilung:

f(x)=\frac{a^b*(x-m)^{b-1}*e^{-a*(x-m)}}{\Gamma(b)}

mit

a > 0
b > 0
x-m > 0

Und diese Gammafunktion im Nenner gibt mir ein bisschen Rätsel auf. Die Ableitung des Zählers bekomme ich hin, aber wie schauen denn die Ableitungen nach a, b und m der kompletten Funktion aus?

Ich hoffe, Ihr könnt mir dabei helfen.

Viele Grüße
Schorsch

Hossa :smile:

ich brauche mal wieder ein bisschen Hilfe. Ich bastel grade
etwas am Levenberg-Marquardt-Algorithmus rum, damit ich
verschiedene Verteilungen an gesampelte Daten fitten kann.

Dieser Algorithmus ist eher suboptimal zum Fitten geeignet. Ich habe deutlich bessere Erfahrungen mit der Methode der konjugierten Gradienten gemacht:

http://de.wikipedia.org/wiki/CG-Verfahren

Und diese Gammafunktion im Nenner gibt mir ein bisschen Rätsel
auf. Die Ableitung des Zählers bekomme ich hin, aber wie
schauen denn die Ableitungen nach a, b und m der kompletten
Funktion aus?

Die Ableitung der Gamma-Funktion erhälst du wie folgt:

\Gamma(x)=\int\limits_{0}^{\infty}e^{-t},t^{x-1},dt

\Gamma^\prime(x)=\frac{d}{dx}\left(\int\limits_{0}^{\infty}e^{-t},t^{x-1},dt\right)=\int\limits_{0}^{\infty}e^{-t},\frac{d}{dx}\left(t^{x-1}\right),dt

\Gamma^\prime(x)=\int\limits_{0}^{\infty}e^{-t},t^{x-1},\ln(t),dt

Der neu hinzugekommene Logarithmus ist lästig. Vermutlich musst du die Ableitung der Gamma-Funktion nummerisch bestimmen.

Viele Grüße

Hasenfuß

Huhu,

Dieser Algorithmus ist eher suboptimal zum Fitten geeignet.
Ich habe deutlich bessere Erfahrungen mit der Methode der
konjugierten Gradienten gemacht:

welches Verfahren am besten passt, hängt total vom konkreten Fall ab. Falls die Daten z.B. stark verrauscht sind, versagen meist die Verfahren, die mit Ableitungen arbeiten. Ich finde das Downhill-Simplex-Verfahren am schönsten, weil es schon mal gar keine Ableitungen braucht:

http://de.wikipedia.org/wiki/Downhill-Simplex-Verfahren

Und wenn der Computer schnell genug ist, kann man auch Monte-Carlo-Verfahren versuchen.

Gruß
Olaf

Hallo Hasenfuß,

vielen Dank für die Ableitung. Und auch für den Hinweis zum Algorithmus. Ich werde mal schauen, ob ich mit Conjugate Gradient etwas hinbekomme.

Viele Grüße
Schorsch

Hallo Olaf,

vielen Dank für den Hinweis zu Downhill Simplex. Ich habe es heute morgen mal ausprobiert. Die Fits sind nicht so gut wie die, die ich mit Levenberg Marquardt erhalte. Das kann natürlich auch am Start Simplex liegen. Ich probiere mal noch etwas rum.

Viele Grüße
Schorsch