Maximum-Likelihood-Schätzung der inversen Gammaverteilung in R oder RPy

8

Ich versuche, eine inverse Gammaverteilung mit drei Parametern an meine Daten in R oder Python anzupassen. Ich möchte dies mit der Maximum Likelihood Estimation (MLE) tun.

Das PDF des inversen Gammas mit drei Parametern ist gegeben durch:

Geben Sie hier die Bildbeschreibung ein

Wobei Γ die Gammafunktion ist, ρ die Form ist, α die Skala ist und s der Ortsparameter ist

Ich habe kein R-Paket gefunden, das MLE direkt für diese Distribution ausführen kann (wenn Sie eines kennen, lassen Sie es mich bitte wissen!). Also ich denke das lässt entweder:

  • (A) Erarbeiten der Log-Likelihood-Funktion der Formel
  • (B) Transformieren der Daten in eine Gammaverteilung. Diese Verteilung hat jedoch nur zwei Parameter, sodass mir nicht klar ist, wie ich den dritten Parameter berechnen würde (ich bin keine sehr mathematische Person!).

Jede Hilfe zu einer Methode zur Verwendung von MLE, um eine inverse Gammaverteilung an meine Daten anzupassen, wäre sehr dankbar! Vielen Dank im Voraus.

Vertrauen
quelle

Antworten:

9

Da Sie die Dichte kennen, können Sie einfach verwenden fitdistr.

# Sample data
library(LaplacesDemon) 
x <- rinvgamma(1000, 1,2)

library(MASS)
f <- function(x, rho, a, s)
  1/(a*gamma(rho)) * (a / (x-s))^(rho+1) * exp( - a/(x-s) )
fitdistr( x, f, list(rho=1, a=1, s=0) )
Vincent Zoonekynd
quelle
Vielen Dank für Ihre Lösung Vincent. Sehr geschätzt! Werde das jetzt versuchen.
Glaube