Estimativa de máxima verossimilhança da distribuição gama inversa em R ou RPy

8

Estou tentando ajustar uma distribuição gama inversa de três parâmetros aos meus dados em R ou Python. Eu gostaria de fazer isso usando a estimativa de máxima verossimilhança (MLE).

O pdf dos três parâmetros gama inversa é dado por:

insira a descrição da imagem aqui

Onde Γ é a função gama, ρ é a forma, α é a escala es é o parâmetro de localização

Não localizei um pacote R que possa executar o MLE diretamente nessa distribuição (se você souber de um, entre em contato!). Então, acho que isso também deixa:

  • (A) elaborando a função log-verossimilhança da fórmula
  • (B) transformar os dados em uma distribuição gama. No entanto, essa distribuição tem apenas dois parâmetros, portanto, não estou claro como calcularia o terceiro parâmetro (não sou uma pessoa muito matemática!).

Qualquer ajuda em um método para usar o MLE para ajustar uma distribuição gama inversa aos meus dados seria muito apreciada! Muito obrigado antecipadamente.


fonte

Respostas:

9

Desde que você conhece a densidade, você pode apenas usar 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
fonte
Obrigado pela sua solução Vincent. Muito apreciado! Vai tentar isso agora.