3 votos

Intervalo de confianza para la distribución gamma inversa

Me gustaría saber si existe algún método para encontrar intervalos de confianza para los parámetros de la distribución gamma inversa.

2voto

kjetil b halvorsen Puntos 7012

Algunos ejemplos con R (y varios paquetes de extensión). Primero simule algunos datos de prueba:

library(extraDistr)
library(MASS)
library(fitdistrplus)  

set.seed(7*11*13) # for reproducibility
x  <-  rinvgamma(200, 1, 1)

A continuación, utilizando funciones de fitdistrplus paquete:

> xfit1 <-   fitdist(x, "invgamma", start=list(alpha=1.1,  beta=0.9))
xfit1
confint(xfit1)
> 
Fitting of the distribution ' invgamma ' by maximum likelihood 
Parameters:
      estimate Std. Error
alpha 1.075588 0.09531133
beta  1.089889 0.12185770
>  
         2.5 %   97.5 %
alpha 0.8887813 1.262395
beta  0.8510528 1.328726

Pero no parece que el perfil de verosimilitud esté implementado para estos objetos, así que esto es sólo el intervalo de confianza asintótico habitual, calculado a partir de la información en

 vcov(xfit1)
 coef(xfit1)
            alpha        beta
alpha 0.009084249 0.009205023
beta  0.009205023 0.014849299
>  
  alpha     beta 
1.075588 1.089889 

Así que para el perfil de probabilidad vamos a por el paquete bbmle que también es razonablemente fácil de usar:

library(bbmle)
dat  <-  data.frame(x)

> xfit2  <-  mle2( x ~ dinvgamma(alpha=alpha, beta=beta), start=list(alpha=0.9, beta=0.9), data=dat, lower=c(alpha=0.1, beta=0.1), upper=c(alpha=10, beta=10), method="L-BFGS-B" )
> xfit2

Call:
mle2(minuslogl = x ~ dinvgamma(alpha = alpha, beta = beta), start = list(alpha = 0.9, 
    beta = 0.9), method = "L-BFGS-B", data = dat, lower = c(alpha = 0.1, 
    beta = 0.1), upper = c(alpha = 10, beta = 10))

Coefficients:
    alpha      beta 
0.7987156 0.8081280 

Log-likelihood: -248.01 
> confint(profile(xfit2))
          2.5 %   97.5 %
alpha 0.6239403 1.006797
beta  0.5711298 1.096452

Nótese que los dos intervalos (asintótico y basado en el perfil de verosimilitud) son bastante diferentes, y para estos datos el asintótico parece mejor. Estas diferencias parecen demasiado grandes para ser una cuestión puramente numérica, por lo que justifican una mayor investigación.

1voto

alexs77 Puntos 36

Dado que las distribuciones gamma inversas se utilizan tan a menudo en la inferencia bayesiana, otro enfoque aproximado de inferencia de muestra finita es utilizar MCMC o el muestreo de Gibbs para extraer de una posterior utilizando un previo no informativo para obtener creíble intervalos. Aunque creíble = confianza, la mayoría está de acuerdo en que el enfoque produce una inferencia aproximadamente equivalente cuando se utilizan priores no informativos.

Usando la sugerencia de simulación de @KjetilBHalvorsen, genero el mismo X y ajustar un modelo BUGS con:

model {
  for(i in 1:200) {
    invx[i] <- 1/x[i]
    invx[i] ~ dgamma(shape, scale)
  }
    shape ~ dgamma(0.1, 0.1)
    scale ~ dgamma(0.1, 0.1)

}

Para obtener las siguientes muestras de distribución posterior, que tienen 2,5 y 97,5 cuantiles dados por

Inference for Bugs model at "cat.txt", fit using WinBUGS,
 2 chains, each with 5000 iterations (first 2500 discarded), n.thin = 5
 n.sims = 1000 iterations saved
            mean    sd    2.5%     25%     50%     75%   97.5%  Rhat n.eff
shape      1.070 0.096   0.887   1.009   1.067   1.129   1.280 1.000  1000
scale      1.084 0.122   0.860   1.001   1.078   1.164   1.329 1.002   790
deviance 396.018 1.994 394.100 394.600 395.400 396.800 401.800 1.005   520

For each parameter, n.eff is a crude measure of effective sample size,
and Rhat is the potential scale reduction factor (at convergence, Rhat=1).

DIC info (using the rule, pD = Dbar-Dhat)
pD = 2.0 and DIC = 398.0
DIC is an estimate of expected predictive error (lower deviance is better).

Lo que concuerda en cierta medida con el enfoque de máxima verosimilitud utilizado anteriormente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X