You are on page 1of 2

DE LA PRACTICA

GUION
3 (1a parte)

1. Estimaci
on de m
axima verosimilitud para una distribuci
on gamma
La distribuci
on gamma de par
ametros > 0 y > 0, (, ), tiene funcion de densidad
f (x; , ) =

1
x1 ex/ ,
()

donde

Z
() =

0 < x < ,

t1 et dt

es la funci
on gamma.
El parametro se denomina par
ametro de forma porque es el que determina el grado de asimetra

y apuntamiento de la densidad (por ejemplo, el coeficiente de asimetra de una (, ) es 2/ ).


El parametro se denomina par
ametro de escala porque donde mas influye es en la dispersi
on
de la distribuci
on. Si X (, ) se puede probar que
E(X) =

V(X) = 2 .

La distribuci
on gamma se utiliza en diversos contextos: fiabilidad, analisis de supervivencia,
gestion de riesgos, hidrologa, . . . Sirve, por ejemplo, para modelizar el coste economico que
supone una reclamaci
on para una compa
na de seguros, el volumen de precipitacion (de lluvia)
mensual en una localizaci
onel tiempo de vida u
til de un componente o de una maquinaria, . . .
Comprobar (en casa) que la funci
on de logverosimilitud de la (, ) es
log L(, ) = n log () n log + ( 1)

n
X
i=1

n
1X
xi ,
log xi

(1)

i=1

y que las ecuaciones de verosimilitud son


n

0 ()
log L(, ) = n
n log +
log xi

()
i=1
!
n
1
1X

log L(, ) =
n +
xi .
0=

0=

(2)

(3)

i=1

Es evidente que podemos despejar de la ecuacion (3) obteniendo:


=
donde x
=

Pn

i=1 xi /n

(4)

es la media muestral. Si sustituimos (4) en (2) obtenemos la ecuacion


0 = n() n log x
+ n log +

n
X

log xi ,

(5)

i=1

donde

d
0 ()
() :=
log () =
=
d
()

Z
0

 t
e

et

t
1 et


dt

es la llamada funci
on digamma.
Observemos que es imposible obtener una expresion explcita para
, el e.m.v. de , que es raz
de la ecuaci
on (5). Pero s podemos aproximar el valor de
por metodos numericos. Denotemos
g() = n() n log x
+ n log +

n
X
i=1

log xi ,

de manera que la ecuaci


on (5) es 0 = g(). El metodo de Newton aproxima la raz de esta
ecuacion mediante la sucesi
on


g(m1 )
(m1 ) + log x
log(m1 ) log x
m = m1 0
,
(6)
= m1 1 +
g (m1 )
1 m1 0 (m1 )
P
donde log x := ni=1 log xi /n y
n
g 0 () = n 0 () + .

La funcion 0 es la funci
on trigamma. Tanto como 0 estan implementadas en R. Se puede
tomar como valor inicial de la iteracion el estimador de por el metodo de los momentos
0 = x
2 /s2 .
Se puede probar el procedimiento ejecutando el script Practica3Script1.R. En la funci
on
GammaNewton.R se ha programado la sucesion (6). La funcion emvalphaGamma.R calcula el e.m.v.
del parametro .
> source(GammaNewton.R)
> source(emvalphaGamma.R)
> source(Practica3Script1.R)
Practica3Script1.R
n = 50
alpha = 5
beta = 2
X = rgamma(n,shape=alpha,scale=beta)
m = mean(X)
emvalpha = emvalphaGamma(X)
emvbeta = m/emvalpha
writeLines(paste(n =,n))
writeLines(paste(alpha =,alpha, e.m.v.(alpha) =,round(emvalpha,digits=4)))
writeLines(paste(beta =,beta, e.m.v.(beta) =,round(emvbeta,digits=4)))
emvalphaGamma.R
emvalphaGamma = function(muestra){
# Calcula el e.m.v. del parametro alpha de una Gamma
m = mean(muestra)
v = var(muestra)
alpha0 = m^2/v # punto de inicio = estimador de los momentos
error = 1
while(error>1E-4){
alpha1 = GammaNewton(muestra,alpha0)
error = abs(alpha1-alpha0)
alpha0 = alpha1
}
alpha1
}
GammaNewton.R
GammaNewton = function(muestra,alpha0){
# Sucesion que converge al e.m.v. del parametro alpha de la gamma
m = mean(muestra)
mlog = mean(log(muestra))
alpha1 = alpha0 *(1+(digamma(alpha0)+log(m/alpha0)-mlog)/(1-alpha0*
trigamma(alpha0)))
}

You might also like