Estimation du maximum de vraisemblance de la distribution gamma inverse dans R ou RPy

8

J'essaie d'adapter une distribution gamma inverse à trois paramètres à mes données en R ou en Python. Je voudrais le faire en utilisant l'estimation du maximum de vraisemblance (MLE).

Le pdf du gamma inverse à trois paramètres est donné par:

entrez la description de l'image ici

Où Γ est la fonction gamma, ρ est la forme, α est l'échelle et s est le paramètre d'emplacement

Je n'ai pas repéré de package R capable d'exécuter MLE dans cette distribution directement (si vous en connaissez un, faites-le moi savoir!). Je pense donc que cela laisse soit:

  • (A) élaboration de la fonction log-vraisemblance de la formule
  • (B) transformer les données en une distribution gamma. Cependant, cette distribution n'a que deux paramètres, donc je ne sais pas comment je calculerais le troisième paramètre (je ne suis pas très mathématique!).

Toute aide sur une méthode d'utilisation de MLE pour adapter une distribution gamma inverse à mes données serait très appréciée! Merci d'avance.

Foi
la source

Réponses:

9

Puisque vous connaissez la densité, vous pouvez simplement l'utiliser 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
la source
Merci pour ta solution Vincent. Très appréciée! Je vais essayer ça maintenant.
Faith