1. Estimaci´ n de M´ xima Verosimilitud Utilizando la
o
a
Funci´ n optim en R
o
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
e
o
a
en la distribuci´ n normal a modo de ejemplo, utilizando el software estad´stico R.
o
ı
Espec´ficamente se har´ uso de la funci´ n optim explicando su utilizaci´ n y forma
ı
a
o
o
de optimizar funciones.
KEY WORDS: R, optim, m´ xima verosimilitud.
a
*
Departamento de Matem´ tica, Universidad de Atacama, CHILE. E-mail: jolivares@mat.uda.cl
a
1
2. 1. Introducci´ n
o
El m´ todo de m´ xima verosimilitud fue introducido primero por R. A. Fisher, genetista
e
a
y experto en estad´stica, en la d´ cada de 1920. La mayor´a de los expertos en estad´stiı
e
ı
ı
ca recomiendan este m´ todo, al menos cuando el tama˜ o muestral es grande, porque los
e
n
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
o
o
θ es un par´ metro desconocido. Sean X1 , . . . , Xn los valores observados en una muestra
a
aleatoria de tama˜ o n. La funci´ n de verosimilitud de la muestra es:
n
o
n
L(θ) =
f (xi |θ)
(1)
i=1
Debemos considerar que (1) es la funci´ n de densidad conjunta de la muestra aleatoria.
o
Notemos que la funci´ n de verosimilitud es una funci´ n del par´ metro desconocido θ.
o
o
a
Definici´ n 1.2 El estimador de m´ xima verosimilitud de θ es el valor de θ que maximiza
o
a
la funci´ n de verosimilitud L(θ).
o
En ocasiones es m´ s simple maximizar la funci´ n log-verosimilitud que (1), dada por:
a
o
n
l(θ) = log (L(θ)) =
log f (xi |θ)
(2)
i=1
El m´ todo de m´ xima verosimilitud puede emplearse en situaciones donde existen vare
a
ios par´ metros desconocidos, θ1 , θ2 , . . . , θk ), que es necesario estimar. En tales casos, la
a
funci´ n de verosimilitud es una funci´ n de los k par´ metros desconocidos θ1 , θ2 , . . . , θk y
o
o
a
ˆ ˆ
ˆ
los estimadores de m´ xima verosimilitud θ1 , θ2 , . . . , θk se obtienen al igualar a cero las k
a
derivadas parciales, dadas por:
∂L(θ1 , θ2 , . . . , θk )
, i = 1, 2, . . . , k
∂θi
y resolver el sistema resultante.
2
3. 2. Ejemplo
Sea X1 , . . . , Xn una muestra aleatoria de una distribuci´ n normal. La funci´ n de
o
o
verosimilitud es:
L(θ) = √
=
1
2πσ 2
1
2πσ 2
e
−(x1 −µ)2
2σ 2
• ··· • √
1
2πσ 2
e
−(xn −µ)2
2σ 2
n
n/2
e
(xi −µ)2
i=1
2σ 2
as´
ı
l(θ) = log(L(θ))
1
n
= − log(2πσ 2 ) − 2
2
2σ
n
(xi − µ)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:
a
ı
µ =
ˆ
1
n
n
σ2 =
ˆ
3.
n
Xi
i=1
(Xi − X)2
i=1
n
optim
El comando optim en un m´ todo de optimizaci´ n de funciones de prop´ sito gene
o
o
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
o
= 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,
a
o
method el m´ todo a ser utilizado, el m´ todo L-BFGS-B permite definir intervalos en
e
e
donde tomara valores el o los par´ metros que se desean buscar, lower y upper son los
a
3
4. l´mites inferiores y superiores de los par´ metros a encontrar, respectivamente, y ... arguı
a
mentos 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 vala
or de fn correspondiente a los par´ metros encontrados, convergence la convergencia
a
satisfactoria ser´ indicada con un 0. Para m´ s informaci´ n consultar >help(optim), en
a
a
o
R.
4. Un ejemplo pr´ ctico
a
Consideremos que nos interesa encontrar los estimadores m´ ximos veros´miles de la
a
ı
densidad N (µ, σ 2 ), a utilizando la siguientes muestra aleatoria de tama˜ o 100, con valores
n
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
o
cual se define de la siguiente forma:
4
5. 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
o
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
o
o
ver el grado de convergencia, hacemos:
> resultado$convergence
[1] 0
Lo cual indica que la convergencia es satisfactoria.
5
6. Referencias
[1] Devore, J. L. “Probabilidad y Estad´stica para Ingenier´a y Ciencias”. Quinta
ı
ı
Edici´ n.
o
o
ı
[2] Bolfarine, H. and Carneiro M. “Introducci´ n a la Inferencia Estad´stica”. Primera
Edici´ n.
o
6