Estimaci´on de Máxima Verosimilitud Utilizando la Funci´on optim

Anuncio
Estimación de Máxima Verosimilitud Utilizando la
Función optim en R
Juan F. Olivares-Pacheco*
15 de diciembre de 2006
Resumen
En este trabajo se muestra el método de verosimilitud para la estimación de parámetros
en la distribución normal a modo de ejemplo, utilizando el software estadı́stico R.
Especı́ficamente se hará uso de la función optim explicando su utilización y forma
de optimizar funciones.
KEY WORDS: R, optim, máxima verosimilitud.
*
Departamento de Matemática, Universidad de Atacama, CHILE. E-mail: jolivares@mat.uda.cl
1
1. Introducción
El método de máxima verosimilitud fue introducido primero por R. A. Fisher, genetista
y experto en estadı́stica, en la década de 1920. La mayorı́a de los expertos en estadı́stica recomiendan este método, al menos cuando el tamaño muestral es grande, porque los
estimadores resultantes tienen ciertas propiedades deseables de eficiencia.
Definición 1.1 Sea X una variable aleatoria con función de probabilidad f (x|θ), donde
θ es un parámetro desconocido. Sean X1 , . . . , Xn los valores observados en una muestra
aleatoria de tamaño n. La función de verosimilitud de la muestra es:
L(θ) =
n
Y
f (xi |θ)
(1)
i=1
Debemos considerar que (1) es la función de densidad conjunta de la muestra aleatoria.
Notemos que la función de verosimilitud es una función del parámetro desconocido θ.
Definición 1.2 El estimador de máxima verosimilitud de θ es el valor de θ que maximiza
la función de verosimilitud L(θ).
En ocasiones es más simple maximizar la función log-verosimilitud que (1), dada por:
l(θ) = log (L(θ)) =
n
X
log f (xi |θ)
(2)
i=1
El método de máxima verosimilitud puede emplearse en situaciones donde existen varios parámetros desconocidos, θ1 , θ2 , . . . , θk ), que es necesario estimar. En tales casos, la
función de verosimilitud es una función de los k parámetros desconocidos θ1 , θ2 , . . . , θk y
los estimadores de máxima verosimilitud θ̂1 , θ̂2 , . . . , θ̂k se obtienen al igualar a cero las k
derivadas parciales, dadas por:
∂L(θ1 , θ2 , . . . , θk )
, i = 1, 2, . . . , k
∂θi
y resolver el sistema resultante.
2
2. Ejemplo
Sea X1 , . . . , Xn una muestra aleatoria de una distribución normal. La función de
verosimilitud es:
L(θ) = √
µ
=
1
2πσ 2
1
2πσ 2
e
−(x1 −µ)2
2σ 2
¶n/2
• ··· • √
1
2πσ 2
e
−(xn −µ)2
2σ 2
n
P
e
(xi −µ)2
i=1
2σ 2
ası́
l(θ) = log(L(θ))
n
1 X
n
2
(xi − µ)2
= − log(2πσ ) − 2
2
2σ i=1
Para encontrar los valores crı́ticos de µ y σ 2 debemos tomar las derivadas parciales de l(θ)
con respecto a µ y σ 2 , igualarlas a cero y resolver las dos ecuaciones resultantes. Si se
omiten los detalles, los estimadores máximos verosı́miles resultantes son:
n
µ̂ =
σ̂ 2 =
3.
1X
Xi
n i=1
n
P
(Xi − X)2
i=1
n
optim
El comando optim en un método de optimización de funciones de propósito gen-
eral, basado el los algoritmos Nelder-Mead, quasi-Newton y conjugate-gradient. La forma de utilizar este comando se muestra a continuación: optim(par, fn, method
= c("L-BFGS-B"), lower = -Inf, upper = Inf, . . . ), donde par corresponde al valor inicial del parámetro a ser optimizado, fn la función a ser minimizada,
method el método a ser utilizado, el método L-BFGS-B permite definir intervalos en
donde tomara valores el o los parámetros que se desean buscar, lower y upper son los
3
lı́mites inferiores y superiores de los parámetros a encontrar, respectivamente, y ... argumentos adicionales que se van ha pasar a fn. Los valores que retorna el comando optim
son: par que corresponde al conjunto de los mejores parámetros encontrados, var el valor de fn correspondiente a los parámetros encontrados, convergence la convergencia
satisfactoria será indicada con un 0. Para más información consultar >help(optim), en
R.
4. Un ejemplo práctico
Consideremos que nos interesa encontrar los estimadores máximos verosı́miles de la
densidad N (µ, σ 2 ), a utilizando la siguientes muestra aleatoria de tamaño 100, con valores
iniciales para µ = 6 y σ = 3.
3,899
6,442
7,213
5,824
7,000
5,584
3,408
6,579
3,071
5,062
2,124
2,913
1,460
6,609
11,152
7,358
6,083
8,624
2,336
1,201
9,875
3,033
9,432
4,725
3,848
9,426
3,102 11,555
4,148
3,224
8,021
10,687
4,166
3,121
6,065
5,498 10,883
8,446
3,249
6,431
2,482
5,168
3,006
9,456
5,055
8,219
2,855 10,277
5,317
5,747
0,834
5,467
7,528 10,024
7,245
6,904
3,651
9,140
6,576
7,049
5,168
10,665
6,703
3,161
7,092
5,401
6,897
9,823 12,713
5,587
5,015
5,683
8,262
6,632
5,989
2,014
6,186
6,358
9,647
8,599
5,442
12,793
7,378
4,959
1,838
4,667
7,201
6,519
7,658
4,066
10,970
6,795
3,332
8,493
7,755
6,414
9,984
6,149
7,441 11,551
Esta muestra aleatoria es almacenada en R, de la siguiente manera: >muestra <c(3.899,...,11.551). Ya definida la variable muestra, que es un vector que contiene a la muestra aleatoria el siguiente paso es definir la función -log-verosimilitud. La
cual se define de la siguiente forma:
4
funcionMenosLog <- function(p, x)
{
p1 <- p[1]
p2 <- p[2]
n <- length(x)
f <- rep(0, n)
for (i in 1:n)
{
f[i] <- -log(dnorm(x[i], p1, p2))
}
sumaf <- sum(f)
return(sumaf)
}
Ya definida en R esta función, ahora es el turno de utilizar el comando optim, como
sigue:
resultado <- optim(par = c(6, 3), fn = funcionMenosLog,
method = c("L-BFGS-B"), lower = c(-Inf, 0), upper = c(Inf,
Inf), x = muestra)
Como se observa la salida de optim ha sido almacenada en una variable llamada
resultado, entonces para acceder a las respectivas estimaciones, utilizamos lo siguiente:
> resultado$par
[1] 6.339275 2.730736
Donde 6,339275 corresponda a la estimación de µ y 2,730736 a la estimación de σ. Para
ver el grado de convergencia, hacemos:
> resultado$convergence
[1] 0
Lo cual indica que la convergencia es satisfactoria.
5
Referencias
[1] Devore, J. L. “Probabilidad y Estadı́stica para Ingenierı́a y Ciencias”. Quinta
Edición.
[2] Bolfarine, H. and Carneiro M. “Introducción a la Inferencia Estadı́stica”. Primera
Edición.
6
Descargar