class: center, middle, inverse, title-slide .title[ # Econometría (II / Práctica) ] .subtitle[ ## Magíster en EconomíaTema 3: MLE ] .author[ ### Prof. Luis Chancí ] .date[ ###
www.luischanci.com
] --- layout:true <div style="position:absolute; left:60px; bottom:11px; font-size: 10pt; color:#DDDDDD;">Prof. Luis Chancí - Econometría (II / Práctica)</div> --- # Estimador de Máxima Verosimilitud ( _MLE_ ) ## Introducción En _OLS_ los parámetros se obtenían a partir de optimizar (minimizar) una función de pérdida basada en residuales al cuadrado. Ahora revisaremos otro estimador que también se basa en optimizar una función. Sin embargo, a diferencia de OLS, este estimador emplea una función de probabilidad. </br> .content-box[ **Estimador de Máxima Verosimilitud ( _Maximum Likelihood Estimator_ - MLE):** ] Dado un conjunto de datos, `\(\{\boldsymbol{w}_i\}_{i=1}^n\)`, se busca el vector de parámetros `\(\boldsymbol{\theta}\)` que generen la mayor probabilidad de haber observado ese conjunto particular de datos. Es decir, el `\(\boldsymbol{\theta}\)` que haga más **verosímil** ('con apariencia de verdadero') el resultado que hemos obtenido. --- # Estimador de Máxima Verosimilitud ( _MLE_ ) ## Introducción MLE (cont.) Sea `\(f(w_1,…,w_n; \boldsymbol{\theta})=f(\boldsymbol{w};\boldsymbol{\theta})\)` la f.d.p. conjunta asociada a la muestra, denominada también función de verosimilitud ( _likelihood function_ , en inglés). La verosimilitud es la probabilidad conjunta de los datos, evaluada en la muestra observada y vista como una función de los parámetros. La denotaremos como `\(\mathcal{L}_n(\boldsymbol{\theta})=f(\boldsymbol{w};\boldsymbol{\theta})\)`. Por ende, buscar 'parámetros que den la mayor probabilidad' significase traduce en </br> `$$\hat{\boldsymbol{\theta}}_{MLE}=\text{arg max}_{\boldsymbol{\theta}}\,\ln(f(\boldsymbol{w};\boldsymbol{\theta}))$$` </br> en donde el logaritmo se emplea como una transformación monótona que facilita la optimización. A la función `\(\ell=\ln(\mathcal{L}_n(\boldsymbol{\theta}))=\ln(f(\boldsymbol{w};\boldsymbol{\theta}))\)` se le denomina _log-likelihood function_ . --- # Estimador de Máxima Verosimilitud ( _MLE_ ) A partir de lo anterior, algunas definiciones asociadas son: * La función Score es el gradiente de la log-likelihood (las condiciones necesarias de primer orden - _F.O.C._ ): `$$S(\boldsymbol{\theta})=\frac{\partial ln(\mathcal{L}_n(\boldsymbol{\theta}))}{\partial \boldsymbol{\theta}}$$` * La matriz de información (de Fisher, - _Fisher Information_ ) `\(I(\boldsymbol{\theta})\)` - es el producto interno del vector _score_ `$$I(\boldsymbol{\theta})=\mathbb{E}\left\{S(\boldsymbol{\theta})\cdot S(\boldsymbol{\theta})'\right\}$$` - o, por igualdad de la Matriz de Información, es también el negativo de la _matriz hesiana_ `$$\mathbb{E}_f\left\{S(\boldsymbol{\theta})\cdot S(\boldsymbol{\theta})'|_{\boldsymbol{\theta}_0}\right\}=-\mathbb{E}_f\left\{H|_{\boldsymbol{\theta}_0}\right\}$$` en donde `\(H\)` es la matriz hessiana que organiza todas las derivadas parciales de segundo orden, `\(\boldsymbol{H}=\frac{\partial^2\mathcal{L}_n(\boldsymbol{\theta})}{\partial \boldsymbol{\theta} \partial \boldsymbol{\theta}'}\)` Altos valores en `\(I\)` se asocian con que pequeños cambios en `\(\theta\)` conllevan a grandes cambios en la log-likelihood, lo que significa que hay información considerable sobre `\(\theta\)`. --- # Estimador de Máxima Verosimilitud ( _MLE_ ) ## Distribución asintótica Bajo los siguientes supuestos (o condiciones) * El proceso generador de los datos es la densidad condicional `\(f(\cdot)\)` empleada para definir la función de verosimilitud. * la función de densidad satisface `\(f(w_i,\boldsymbol{\theta}^{(1)})=f(w_i,\boldsymbol{\theta}^{(2)})\)` si y solo si `\(\boldsymbol{\theta}^{(1)}=\boldsymbol{\theta}^{(2)}\)`. * La matriz `$$\text{plim }n^{-1} H(\boldsymbol{\theta})$$` existe y es no singular. * Las operaciones de diferenciación e integración de la función (log) verosimilitud son reversibles. entonces, * `\(\hat{\boldsymbol{\theta}}\)` es un estimadores consistente de `\(\boldsymbol{\theta}\)`. * converge a tasa `\(\sqrt{n}\)` a una distribución normal `$$\hat{\boldsymbol{\theta}}\sim\mathbb{N}\left(\boldsymbol{\theta},-\boldsymbol{H}(\boldsymbol{\theta})^{-1} \right)$$` --- # Estimador de Máxima Verosimilitud ( _MLE_ ) **Efficiencia:** `\(\hat{\boldsymbol{\theta}}_{MLE}\)` alcanza la cota inferior de Cramer-Rao `$$Var(\hat{\boldsymbol{\theta}}_{MLE}(\boldsymbol{w}))\geq [I(\boldsymbol{\theta}_0)]^{-1}$$` **Invarianza:** Si `\(\gamma=g(\boldsymbol{\theta})\)`, se tiene que `\(\hat{\gamma}=g(\hat{\boldsymbol{\theta}})\)`, para `\(g(\cdot)\)` continua y diferenciable. --- # Ejemplo 1 MLE .content[ Sea `\(\epsilon_i\sim i.i.d.\, N(\mu,\sigma^2)\)`. 1. Planear la función log-verosimilitud. 2. Realizar en el computador simulación de 100 datos con `\(\mathbb{N}(\mu_0,\sigma_0^2)=\mathbb{N}(1.7,3^2)\)` y estimación ML. ] --- # Ejemplo 1 MLE usando
**Se muestra (pizarra) que** `$$\ell(\boldsymbol{\theta})=-\frac{n\cdot log(2\pi)}{2}-\frac{n\cdot log(\sigma^2)}{2}-\sum_{i=1}^N{\frac{(\epsilon_i-\mu)^2}{2\cdot \sigma^2}}$$` **Así, una propuesta a la parte computacional en
sería:** .pull-left[ ```r # Código de programación en R: library(maxLik) set.seed(123) n <- 100 eps <- rnorm(n, 1.7, 3) logL<- function(theta) { mu <- theta[1] sigma <- theta[2] return( sum(-log(2*pi*sigma^2)/2 - (eps-mu)^2/(2*sigma^2)) ) } theta.guess <- c(mu = 1, sigma = 1) mle <- maxLik(logLik=logL, start=theta.guess) summary(mle) ``` ] .pull-right[ ``` ## -------------------------------------------- ## Maximum Likelihood estimation ## Newton-Raphson maximisation, 8 iterations ## Return code 8: successive function values within relative tolerance limit (reltol) ## Log-Likelihood: -242.1305 ## 2 free parameters ## Estimates: ## Estimate Std. error t value Pr(> t) ## mu 1.9712 0.2724 7.235 4.65e-13 *** ## sigma 2.7247 0.1925 14.151 < 2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## -------------------------------------------- ``` ] --- # Ejemplo 1 MLE usando Stata o usando `Stata` sería .center[ ] --- # Ejemplo 2 MLE ## Bajo normalidad, MLE y OLS dan el mismo `\(\hat{\boldsymbol{\beta}}\)` en el modelo lineal. Sea, `$$Y=\boldsymbol{X}\boldsymbol{\beta}+u \hspace{0.5cm};\hspace{0.5cm}u_i\sim N(0,\sigma^2)$$` 1. Planear la función log-verosimilitud 2. Encontrar `\(\hat{\boldsymbol{\theta}}_{MLE}=(\hat{\boldsymbol{\beta}},\hat{\sigma}^2)\)` 3. Encontrar la matriz de información 4. Realizar en el computador simulación de 100 datos para `\(y_i=\beta_0+\beta_1x_{1i}+\beta_2x_{2i}+u_i\)`, donde `\(x_1\sim U[0,10]\)`, `\(x_2\sim\chi^2_1\)`, `\(u_i\sim\mathbb{N}(0,\sigma^2=3^2)\)` y `\(\boldsymbol{\beta}'=(\beta_0,\beta_1,\beta_2)'=(1,0.75,3.2)\)`. Realizar estimación ML de los parámetros y comparar con OLS. --- # Ejemplo 2 MLE (NLRM) Mostraremos (en pizzara) que para `\(\boldsymbol{x}=(1,X_1,x_2)'\)` y `\(u_i=y_i-\boldsymbol{x}_i'\boldsymbol{\beta}\)` con `\(\boldsymbol{\beta}'=(\beta_0,\beta_1,\beta_2)'\)` se tiene que `$$\ell(\boldsymbol{\theta})=-\frac{n\cdot log(2\pi\sigma^2)}{2}-\frac{(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta})'(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\beta})}{2\sigma^2}$$` y a partir de las condiciones de primer orden (_F.O.C._) evaluadas en el estimador ML, se obtiene: `$$\hat{\boldsymbol{\beta}}_{MLE}=(X'X)^{-1}(X'Y)\hspace{0.5cm},\hspace{0.5cm}\hat{\sigma}^2_{MLE}=u'u/n$$` Notar que la expresión para `\(\beta\)` corresponde a la misma que se obtiene por OLS. Además, después de resolver, se obtiene la siguiente matriz de información `$$I(\boldsymbol{\beta}_0)= \left[\begin{array}{cc} \frac{1}{\sigma_0^2}(X'X) & 0\\ 0 & \frac{N}{2\sigma_0^4} \end{array}\right]$$` --- # Ejemplo 2 MLE (NLRM) usando
.pull-left[ ```r # Código de programación en R Ejemplo 2. n <- 100 s0 <- 3; b0 <- c(1, 0.75, 3.2); x1 <- runif(n,0,10); x2 <- rchisq(n,1); X <- cbind(rep(1,n) , x1 , x2); u <- rnorm(n,0,s0); y <- X%*%b0 + u logLikFun <- function(param) { sigma <- param[1] b <- param[-1] mu <- X%*%b sum(dnorm(y, mean = mu, sd = sigma, log = TRUE)) } .guess <- c(sigma = 1, beta1 = 1, beta2 = 1, beta3=1) library(maxLik) mle <- maxLik(logLik = logLikFun, start = .guess) summary(mle) # Comparación con OLS: summary(lm(y~X-1)) ``` ] .pull-right[ ``` ## -------------------------------------------- ## Maximum Likelihood estimation ## Newton-Raphson maximisation, 10 iterations ## Return code 1: gradient close to zero (gradtol) ## Log-Likelihood: -246.4867 ## 4 free parameters ## Estimates: ## Estimate Std. error t value Pr(> t) ## sigma 2.84604 0.20122 14.144 <2e-16 *** ## beta1 0.53229 0.57205 0.930 0.352 ## beta2 0.89770 0.09746 9.211 <2e-16 *** ## beta3 2.86173 0.18127 15.787 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## -------------------------------------------- ## ## Call: ## lm(formula = y ~ X - 1) ## ## Residuals: ## Min 1Q Median 3Q Max ## -7.8445 -1.8828 0.0685 2.3769 7.8375 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## X 0.53229 0.58040 0.917 0.361 ## Xx1 0.89770 0.09886 9.081 1.3e-14 *** ## Xx2 2.86173 0.18413 15.542 < 2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.89 on 97 degrees of freedom ## Multiple R-squared: 0.916, Adjusted R-squared: 0.9134 ## F-statistic: 352.6 on 3 and 97 DF, p-value: < 2.2e-16 ``` ] --- # Ejemplo 2 MLE usando Stata o usando `Stata` sería .center[ ] --- # Cierre </br></br></br> ## <center>¿Preguntas?</center> .center[ ] `$$\,$$` .center[O vía E-mail: [lchanci1@binghamton.edu](mailto:lchanci1@binghamton.edu)]