class: center, middle, inverse, title-slide .title[ # Econometría (II / Práctica) ] .subtitle[ ## Magíster en EconomíaTema 2: Repaso OLS y Extensiones (LASSO, Ridge, Quantile) ] .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> --- `$$\newcommand{\myone}{1\!\rm l}$$` # Introducción - Referencias Nota: La siguiente revisión/discusión se encuentra inspirada en los siguientes textos: * Hansen, B. (2022). [Econometrics](https://users.ssc.wisc.edu/~bhansen/econometrics/). Princeton University Press. * Davidson, R., & MacKinnon, J. G. (2004). [Econometric Theory and Methods](http://qed.econ.queensu.ca/ETM/). New York: Oxford University Press.</br> Enlace a la [versión (online) 2021](https://russell-davidson.arts.mcgill.ca/textbooks/ETM-davidson-mackinnon-2021.pdf). * Cameron, A. C., & Trivedi, P. K. (2005). [Microeconometrics: Methods and Applications](https://cameron.econ.ucdavis.edu/mmabook/mma.html). Cambridge university press. </br> .center[] --- # Contenidos ## Parte I: OLS - Repaso **OLS** - Estimación - Inferencia - Aplicación computacional: R, Stata. ## Parte II: Extensiones - Nota sobre OLS como Estimador Extremo - Modelos lineales regularizados (Breve introducción) - **Ridge** Regression (Regresión Ridge o de Cresta) - **LASSO** (Least Absolute Shrinkage and Selection Operator) - Extensión al Modelo lineal - **Quantile** Regression (Regresión Cuantílica) --- class: inverse, middle, mline, center # Parte I: <br> Mínimos Cuadrados Ordinarios - Ordinary least squares, _OLS_ (Un Breve Repaso) --- # Introducción Noción de regresión: * sea un vector de parámetros `\(\boldsymbol{\beta}\)` que define la relación entre un conjunto de datos `\(\{w_i\}_{i=1}^n\)` con `\(w_i=(y_i,\boldsymbol{x}_i)\)` para `\(y_i\in\mathbb{R}\)` y `\(\boldsymbol{x}_i\in\mathbb{R}^k\)`. En este caso, decimos que la variable `\(y_i\)` es una variable cuyo resultado es de interés a 'explicar' o predecir. * Además, el interés del investigador se encuentra en el subconjunto `\(\boldsymbol{\beta}_1\)` de la partición `\(\boldsymbol{\beta}=(\boldsymbol{\beta}_1,\boldsymbol{\beta}_2)\)`, * Por ende, al considerar las variables `\(\boldsymbol{x}\)` como exógenas, se tiene que la f.d.p. `\(f(\boldsymbol{w}|\boldsymbol{\beta})\)` está dada por `$$f(\boldsymbol{w}|\boldsymbol{\beta})=f(y_i|\boldsymbol{x}_i,\boldsymbol{\beta}_1)\cdot f(\boldsymbol{x}_i;\boldsymbol{\beta}_2)$$` con `\(f(\boldsymbol{x}_i;\boldsymbol{\beta}_2)=\int_{-\infty}^{\infty}{f(\boldsymbol{w}|\boldsymbol{\beta})dy}\)` * **Regresión**: inferencia sobre `\(\boldsymbol{\beta}_1\)`. --- # Intuición en Mínimos Cuadrados Ordinarios (_OLS_) El modelo general de regresión con residuales aditivos es una proyección de `\(\boldsymbol{y}\)` sobre el espacio generado por `\(\boldsymbol{X}\)`, `$$\boldsymbol{y}=\mathbb{E}(\boldsymbol{y}|\boldsymbol{X})+\boldsymbol{u}$$` En donde la media condicional `\(\mathbb{E}(u|\boldsymbol{X})\)` es función de `\(\boldsymbol{X}\)`. Así, un candidato, con el que usualmente parte cualquier curso de econometría, es la función lineal. En este caso, suponiendo para efectos de graficar que `\(k=2\)` o `\(\boldsymbol{X}_i=(1,x_i)\)`, tenemos (para el caso muestral) lo siguiente: .center[ ] --- # OLS - Función objetivo (pérdida) basada en residuales Para el ejemplo anterior con `\(k=2\)` e `\(i=1,\ldots,n\)`, `$$Y_i=\beta_1+\beta_2 X_i+u_i$$` organizando observaciones en un vector ('una sobre otra'), `$$\left[ \begin{array}{c} Y_1\\ \vdots \\ Y_n\\ \end{array} \right] = \left[ \begin{array}{c} \beta_1+\beta_2 X_1+u_1\\ \vdots \\ \beta_1+\beta_2 X_n+u_n\\ \end{array} \right] = \left[ \begin{array}{c} \beta_1+\beta_2 X_1\\ \vdots\\ \beta_1+\beta_2 X_n\\ \end{array} \right]+\left[ \begin{array}{c} u_1\\ \vdots\\ u_n\\ \end{array} \right]$$` Equivalente a: `$$\left[ \begin{array}{c} Y_1\\ \vdots\\ Y_n\\ \end{array}\right]_{nx1}= \left[\begin{array}{cc} 1 & X_1\\ \vdots \\ 1 & X_n\\ \end{array} \right]_{nx2} \cdot \left[\begin{array}{c} \beta_1\\ \beta_2\\ \end{array}\right]_{2x1} + \left[ \begin{array}{c} u_1\\ \vdots\\ u_n\\ \end{array} \right]_{nx1}$$` Es decir, en forma matricial se tendría: `$$\underbrace{Y}_{(n\,x\,1)}=\underbrace{X}_{(n\,x\,2)}\underbrace{\beta}_{(2\,x\,1)}+\underbrace{u}_{(n\,x\,1)}$$` --- # OLS - Función objetivo (pérdida) basada en residuales (cont.) O de forma general para `\(k\)` regresores e `\(i=1,\ldots,n\)`, `$$Y_i=\beta_1+\beta_2 X_{2i}+...+\beta_k X_{ki}+u_i$$` organizando observaciones en un vector ('una sobre otra'), `$$\left[\begin{array}{c} Y_1\\ \vdots\\ Y_n\\ \end{array}\right]=\left[ \begin{array}{c} \beta_1+\beta_2 X_{21}+...+\beta_k X_{k1}+u_1\\ \vdots\\ \beta_1+\beta_2 X_{2n}+...+\beta_k X_{kn}+u_n\\ \end{array}\right]$$` Equivalente a: `$$\left[\begin{array}{c} Y_1\\ \vdots\\ Y_n\\ \end{array}\right]_{nx1}= \left[\begin{array}{cccccc} 1 & X_{21}& .&.&.&X_{k1}\\ \vdots\\ 1 & X_{2n}& .&.&.&X_{kn}\\ \end{array}\right]_{nxk} \left[\begin{array}{c} \beta_1\\ \vdots\\ \beta_k\\ \end{array}\right]_{kx1} +\left[\begin{array}{c} u_1\\ \vdots\\ u_n\\ \end{array}\right]_{nx1}$$` Es decir, `$$\underbrace{Y}_{(n\,x\,1)}=\underbrace{X}_{(n\,x\,k)}\underbrace{\beta}_{(k\,x\,1)}+\underbrace{u}_{(n\,x\,1)}$$` --- # OLS - Función objetivo (pérdida) basada en residuales (cont.) La función objetivo (a optimizar o minimizar) es una función de pérdida `\(L\)` basada en residuales al cuadrado: `$$\hat{\boldsymbol{\beta}}=\text{arg min}_{\beta}\,L_i(f_{\beta}(\boldsymbol{X}_i,\boldsymbol{\beta}),Y_i)$$` es decir, `$$\begin{eqnarray*} \min_{\beta}\,\sum_{i=1}^n u^2_i&=&\min_{\beta}\,u'u=\min_{\beta}\,[(Y-X\beta)'(Y-X\beta)]=\min_{\beta}\,[Y'Y-2\beta'X'Y+\beta'X'X\beta] \end{eqnarray*}$$` Por ende, para esta función, las condiciones de primer orden (condiciones necesarias de mínimo) evaluadas en `\(\hat{\beta}=\hat{\beta}_{OLS}\,\)` son: `$$\begin{eqnarray*} \left. \frac{\partial (u'u)}{\partial \beta'} \right|_{\hat{\beta}} =-2X'Y+2X'X\hat{\beta}=0 \hspace{0.5cm}\text{ es decir, }\rightarrow \hspace{0.5cm} (X'X)\hat{\beta}=(X'Y) \end{eqnarray*}$$` Por ende, si la matrix `\(\boldsymbol{X}\)` es de rango completo ( `\(k\)` ), `$$\hat{\boldsymbol{\beta}}=(\boldsymbol{X}'\boldsymbol{X})^{-1}(\boldsymbol{X}'\boldsymbol{Y})$$` --- # OLS - Interpretación coeficientes Dos notas sobre la interpretación (_ceteris paribus_) de los coeficientes. Recordar que: * Es relevante las unidades en que se encuentren las variables, `$$\scriptsize{\begin{array}{lccl} Modelo&Variable\,Dependiente&Variable\,Independiente&Interpretaci\acute{o}n\,de\,\beta_k\\ \hline nivel-nivel& y & x & \Delta y=\beta_j\Delta x\\ nivel-log& y & log(x) & \Delta y=(\beta_j/100)\%\Delta x\\ log-nivel& log(y) & x & \% \Delta y=(100*\beta_j)\Delta x\\ log-log& log(y) & log(x) & \% \Delta y=\beta_j\%\Delta x\\ \hline &&&& \end{array}}$$` * Puede cambiar si hay variables regresoras que son cualitativas (dummy) - en niveles o interacción, `$$D_i= \left\{ \begin{array}{ccl} 1&si&\text{Si se cumple condición}\\ 0&si&\text{Si no se cumple condición}\\ \end{array} \right. \hspace{0.6cm} \rightarrow \hspace{0.6cm} Y_i = \beta_1 + \beta_2 D_i + \beta_3 X_i+\beta_4 (D_i\cdot X_i) + u_i$$` .center[ ] --- # OLS - Análisis de Varianza (ANOVA) Retomando, las condiciones de primer orden implican (matemáticamente) `\(\boldsymbol{X}'\hat{\boldsymbol{u}}=0\)`, por ende, se puede re-escribir `\(\boldsymbol{Y}=\boldsymbol{X}\boldsymbol{\hat{\beta}}+\hat{\boldsymbol{u}}\)` como `$$\boldsymbol{Y}'M\boldsymbol{Y}=\hat{\boldsymbol{Y}}'M\hat{\boldsymbol{Y}}+\hat{\boldsymbol{u}}'\hat{\boldsymbol{u}}$$` donde `\(M=I_N-n^{-1}\iota\iota'\)`, para `\(\iota\)` como un vector `\(n\times 1\)` de unos, es una matriz que al multiplicar por un vector produce desviaciones a la media del vector. De esta forma, `$$SCT=SCE+SCR$$` * SCT: Suma de cuadrados totales, `\(\boldsymbol{Y}'M\boldsymbol{Y}=\sum_i (Y_i-\bar{Y})^2\)`, con `\((n-1)\)` grados de libertad. * SCE: Suma de cuadrados de la parte estimada, `\(\hat{\boldsymbol{Y}}'M\hat{\boldsymbol{Y}}\)`, con `\((k-1)\)` grados de libertad. * SCR: Suma de cuadrados de la parte residual, `\(\sum_i \hat{u}_i^2\)`, con `\((n-k)\)` grados de libertad. Una medida de ajuste lineal (solo en términos de la 'dispersión') es: `$$R^2=\frac{SEC}{STC}=1-\frac{\hat{\boldsymbol{u}}'\hat{\boldsymbol{u}}}{\boldsymbol{Y}'M\boldsymbol{Y}} \hspace{0.6cm};\hspace{0.6cm} \bar{R}^2=1-\frac{\hat{\boldsymbol{u}}'\hat{\boldsymbol{u}}/(n-k)}{\boldsymbol{Y}'M\boldsymbol{Y}/(n-1)}$$` --- # OLS - Inferencia Además de obtener los estimadores, es de interés la inferencia. Inferencia sobre `\(\beta\)` involucra la matrix de varianza-covarianza de los estimadores, `$$\text{Var}(\hat{\boldsymbol{\beta}}|\boldsymbol{X})=\mathbb{E}_X[(\hat{\boldsymbol{\beta}}-\mathbb{E}_X(\hat{\boldsymbol{\beta}}))(\hat{\boldsymbol{\beta}}-\mathbb{E}_X(\hat{\boldsymbol{\beta}}))']$$` Para obtenerla, primero necesitamos `\(\mathbb{E}_X (\boldsymbol{\hat{\beta}})\)` `$$\mathbb{E}_X(\hat{\boldsymbol{\beta}})=\mathbb{E}_X(\beta+(\boldsymbol{X}'\boldsymbol{X})^{-1}(\boldsymbol{X}'\boldsymbol{u}))$$` al incorporar (un primer supuesto? - Ver Angrist y Pischke pag.45) `\(\mathbb{E}(\boldsymbol{u}|\boldsymbol{X})=0\)` (que por ley de esperanza iterada, `\(\mathbb{E}(\boldsymbol{u})=0\)`), se obtiene `$$\mathbb{E}_X(\hat{\boldsymbol{\beta}})=\beta\hspace{1.0cm}\text{(insesgamiento)}$$` --- # OLS - Inferencia (cont.) Empleando el resultado anterior, se obtiene `$$\text{Var}(\hat{\boldsymbol{\beta}}|\boldsymbol{X})=\mathbb{E}_X[(\hat{\boldsymbol{\beta}}-\mathbb{E}_X(\hat{\boldsymbol{\beta}}))(\hat{\boldsymbol{\beta}}-\mathbb{E}_X(\hat{\boldsymbol{\beta}}))']=(\boldsymbol{X}'\boldsymbol{X})^{-1}\boldsymbol{X}'\mathbb{E}_X(\boldsymbol{u}\boldsymbol{u}')\boldsymbol{X}(\boldsymbol{X}'\boldsymbol{X})^{-1}$$` Ahora, en pregrado (y también en algunos comandos de software de computador) se parten del supuesto de homocedasticidad, `\(\mathbb{E}_X(\boldsymbol{u}\boldsymbol{u}')=\sigma^2 I_n\)`, lo que implicaría `$$\widehat{\text{Var}}(\hat{\boldsymbol{\beta}}|\boldsymbol{X})=\hat{\sigma}^2(\boldsymbol{X}'\boldsymbol{X})^{-1}$$` con, `\(\hat{\sigma}^2=(n-k)^{-1}\boldsymbol{\hat{u}}'\boldsymbol{\hat{u}}\)`. Sin embargo, en la práctica se emplea White (1980) ó HAC (_Heteroskedasticity and autocorrelation robust_). Para el caso de White, `$$\widehat{\text{Var}}_{\text{robusta}}(\boldsymbol{\beta}|\boldsymbol{X})= (\boldsymbol{X}'\boldsymbol{X})^{-1}\left(\sum_i{\hat{u}^2_i\boldsymbol{X}_i\boldsymbol{X}_i'}\right)(\boldsymbol{X}'\boldsymbol{X})^{-1}$$` --- # OLS - Inferencia (cont.) y dependiendo de la aplicación práctica, se recomienda emplean errores relacionados en grupos `\(g\)` (_cluster robust_) ya que considera dependencia (correlación) dentro del clusters (e.g., escuelas, industrias, regiones): `$$\widehat{\text{Var}}_{\text{cluster}}(\boldsymbol{\beta}|\boldsymbol{X})= \left(\sum_{g=1}{\boldsymbol{X}_g\boldsymbol{X}_g'}\right)^{-1}\left(\sum_{g=1}{\boldsymbol{X}_g\hat{u}_g\hat{u}_g'\boldsymbol{X}_g'}\right)\left(\sum_{g=1}{\boldsymbol{X}_g\boldsymbol{X}_g'}\right)^{-1}$$` Por ejemplo, en el caso de dos grupos (dos regiones `\(g\)`), `$$\widehat{\text{Var}}_{\text{cluster}}(\boldsymbol{\beta}|\boldsymbol{X}) = \sum_{g=1}^{2} \left( \frac{n_g}{N} \right)^2 \left( \boldsymbol{X}_g'\boldsymbol{X}_g \right)^{-1} \left( \boldsymbol{X}_g'\hat{\boldsymbol{u}}_g\hat{\boldsymbol{u}}_g'\boldsymbol{X}_g \right) \left( \boldsymbol{X}_g'\boldsymbol{X}_g \right)^{-1}$$` donde `\(n_g\)` es el número de observaciones en el cluster o grupo `\(g\)` y `\(N\)` es el número total de observaciones. `$$\,$$` .font80[ Notas: - Ambas ecuaciones son equivalentes ya que `\(\left(\sum_{g=1}^{G} A_g\right)^{-1} = \sum_{g=1}^{G} A_g^{-1} - \sum_{g=1}^{G} A_g^{-1} \left(\sum_{h=1}^{G} A_h\right)^{-1} A_g^{-1}\)` - La confiabilidad de los errores estándar agrupados mejora con un mayor número de clústeres. Un número pequeño de clústeres puede llevar a errores estándar sesgados hacia abajo. - Correlación intra-clúster: Si no hay correlación intra-clúster, los errores estándar agrupados se reducen a los errores estándar OLS habituales. ] --- # OLS - Inferencia (cont.) Para continuar, se requiere la distribución de los parámetros. Antes se solía 'acortar camino' incorporando simplemente un supuesto (fuerte) como `\(u_i\sim\mathbb{N}(0,\sigma^2)\)` (lo que implicaría que `\(\beta\)` sigue una normal). Sin embargo, podemos obtener la distribución al analizar las propiedades asintóticas del estimador. Es decir, a partir de revisar que pasa con el estimador a medida que se aumenta el tamaño de muestra. Dado que `\(\hat{\boldsymbol{\beta}}=\beta+(\boldsymbol{X}'\boldsymbol{X})^{-1}(\boldsymbol{X}'\boldsymbol{u})\)`, puede expresarse como `$$\sqrt{n}(\hat{\boldsymbol{\beta}}-\beta)=\left(\frac{\boldsymbol{X}'\boldsymbol{X}}{n}\right)^{-1}\left(\frac{\boldsymbol{X}'\boldsymbol{u}}{\sqrt{n}}\right)$$` El ingrediente clave, basado en el Teorema del límite ( _CLT_ por la sigla en inglés), es que `\(\boldsymbol{X}'\boldsymbol{u}/\sqrt{n}\)` tiene una distribución normal cuando `\(n\rightarrow\infty\)`. Por ende, empleando la ley de los grandes números ( _LLN_ ) y el teorema de Slutsky ('suma o producto de v.a. con distribuciones asintóticas') `$$\hat{\boldsymbol{\beta}}\stackrel{a}{\sim}\mathbb{N}\left(\boldsymbol{\beta}\, , \, \text{Var}(\hat{\boldsymbol{\beta}})\right)$$` --- # OLS - Inferencia (cont.) Por ende, bajo nomalidad, la prueba de hipótesis de significancia individual (un parámetro `\(j\)` en particular) sería: * .content-box[Hipótesis:] `\(H_0:\,\beta_j=0\)` ; `\(H_1:\,\beta_j\neq0\)` * .content-box[Prueba-t:] `$$\frac{\hat{\beta}_j}{\sqrt{\widehat{\text{Var}}_{jj}(\hat{\boldsymbol{\beta}}|\boldsymbol{X})}}\,\sim\,t\text{-student}_{[\alpha/2;(n-k)]}$$` en donde `\(\widehat{\text{Var}}_{jj}(\hat{\boldsymbol{\beta}}|\boldsymbol{X})\)` se refiere al elemento en la fila `\(j\)` y columna `\(j\)` (es decir en la diagonal) de la matriz de varianza-covarianza. * El .content-box[intervalo de confianza:] `\(\hat{\beta}_j\,\pm\,\,t_{\alpha/2}\cdot\sqrt{\widehat{\text{Var}}_{jj}(\hat{\boldsymbol{\beta}}|\boldsymbol{X})}\)` * Una forma práctica para rechazar o no (concluir respecto a) `\(H_0\)` es usar el valor-p o .content-box[ _pvalue_ ] (por ejemplo, `2(1-cdf(|test|)`) .center[] --- # OLS - Inferencia (cont.) Para la significancia conjunta (significancia global) * .content-box[Hipótesis:] `\(H_0:\,\beta_2=\ldots=\beta_{k-1}=0\)` ; `\(H_1:\)` No todos son simultáneamente 0. * .content-box[Prueba-F:] `$$\frac{SCR_{H_0}/(grados\,libertad\,bajo\,H_0)}{SCR_{sin\,restricción}/(grados\,libertad\,sin\,restricción)}=\frac{SCE/(k-1)}{SCR/(n-k)} \,\sim\,F_{[\alpha;(k-1);(n-k)]}$$` usando la definición de `\(R^2\)`, también se puede expresar de forma más simple como `$$\frac{R^2/(k-1)}{(1-R^2)/(n-k)} \,\sim\,F_{[\alpha;(k-1);(n-k)]}$$` </br></br> (más adelante retomaremos este test en más detalle) --- # OLS vs CLS - Inferencia Una forma más generalizada de aproximar la anterior inferencia es mediante **Mínimos Cuadrados Restringidos** (_CLS_: _Constrained least squares_).</br> Supongamos que en un modelo con `\(k=3\)` se quiere estudiar las siguientes dos ( `\(q=2\)` ) hipótesis - `\(\beta_2+\beta_3=1\)` (por ejemplo, retornos constantes a escala cuando se estima una función de producción) - `\(2\beta_1+\beta_2=2\)` Lo anterior se pueden expresar de forma compacta en forma matricial: `$$\underbrace{ \left[\begin{array}{ccc} 0&1&1\\ 2&1&0 \end{array}\right]}_{\boldsymbol{R}_{2\times 3}} \underbrace{ \left(\begin{array}{c} \beta_1 \\ \beta_2 \\ \beta_3 \end{array}\right)}_{\boldsymbol{\beta}_{3\times 1}} = \underbrace{ \left[\begin{array}{c} 1 \\ 2 \end{array}\right]}_{\boldsymbol{r}_{2\times 1}}$$` Es decir, de forma más general, para un modelo con `\(k\)` parámetros y `\(q\)` restricciones, se pueden expresar de forma matricial como `$$\boldsymbol{R}\boldsymbol{\beta}=\boldsymbol{r}$$` Donde `\(\boldsymbol{R}\)` y `\(\boldsymbol{r}\)` son de dimensiones `\(q\times k\)` y `\(q\times1\)`, respectivamente. --- # OLS vs CLS - Inferencia (cont.) Por ende, para el computo de `\(SCR\)` en el modelo de regresión que incorpora la anterior restricción, se minimiza la suma de residuos al cuadrado (OLS) pero sujeto a la restricción `\(\boldsymbol{R}\boldsymbol{\beta}=\boldsymbol{r}\)`. Es decir, el lagrangiano asociado al problema de optimización se puede expresar como: `$$\ell=(Y-X\beta_{CLS})'(Y-X\beta_{CLS})+2\lambda(r-R\beta_{CLS})$$` Las condiciones de primer orden: - En `\(\beta_{CLS}\)` : `$$-2X'Y+2(X'X)\hat{\beta}_{CLS}-2R'\lambda=0$$` - En el multiplicador `\(\lambda\)` : `$$2(r-R\hat{\beta}_{CLS})=0$$` Así, al despejar, se obtiene `$$\hat{\beta}_{CLS}=\hat{\beta}_{OLS}+(X'X)^{-1}[R(X'X)^{-1}R']^{-1}(r-R\hat{\beta}_{OLS})$$` que es el estimador de **Mínimos Cuadrados Restringidos**. --- # OLS vs CLS - Inferencia (cont.) Para avanzar en la derivación del test, necesitamos primero recordar que: * Como vimos, si `\(u_i\sim\mathbb{N}(0,\sigma^2)\)`, entonces, `\(\hat{\beta}\sim\mathbb{N}(\beta,\sigma^2(X'X)^{-1})\)` * Además, en palabras ' _coloquiales_ ', de estadística básica recordamos que - (1) para una variable aleatoria `\(Z\)` si `\(Z\sim\mathbb{N}(\mu,\Sigma)\)`, entonces, `\((Z-\mu)'\Sigma^{-1}(Z-\mu)\sim\chi^2\)` - (2) la relación entre dos `\(\chi^2\)` sigue una distribución `\(F\)` . Por ende, a partir de `\(\hat{\beta}\sim\mathbb{N}(\beta,\sigma^2(X'X)^{-1})\)`, tenemos que `\((R\hat{\beta}-R\beta)=(R\hat{\beta}-r)\sim\mathbb{N}(0,\sigma^2R(X'X)^{-1}R')\)`, lo que implica `$$(R\hat{\beta}-r)'\left[ \sigma^2R(X'X)^{-1}R' \right]^{-1} (R\hat{\beta}-r)\sim\chi_q^2$$` Así, finalmente, dado que `\(\hat{u}'\hat{u}/\sigma^2\sim\chi_{n-k}^2\)`, se obtiene el siguiente test `$$\frac{(R\hat{\beta}-r)'\left[ \sigma^2R(X'X)^{-1}R' \right]^{-1} (R\hat{\beta}-r)/q}{\hat{u}'\hat{u}/(n-k)}\sim F_{[q,(n-k)]}$$` --- # OLS vs CLS - Inferencia (cont.) Notar a partir de los pasos anteriores (i.e., `\((R\hat{\beta}-r)\sim\mathbb{N}(0,\sigma^2R(X'X)^{-1}R')\)`) que si, por ejemplo, `\(q=1\)` (caso particular en donde `\(R\)` sería de dimensiones `\(1\times k\)`): `$$\frac{(R\hat{\beta}-r)}{[\hat{\sigma}^2R(X'X)^{-1}R']^{1/2}}\sim\,t_{n-k}$$` por ende, para el caso de `\(H_0:\,\beta_j=0\)`, la anterior expresión colapsa en `$$\frac{\hat{\beta}_j}{[\hat{\sigma}^2(X'X)^{-1}_{jj}]^{1/2}}\equiv \frac{\hat{\beta}_j}{\sqrt{\widehat{\text{Var}}_{jj}(\boldsymbol{\beta}|\boldsymbol{X})}}$$` que es la expresión que se había planteado al inicio. Es decir, este sería un caso particular de la prueba F planteada. --- # Ejemplos y Práctica - OLS Revisemos ahora ejemplos en donde realizaremos operaciones 'manuales' y luego empleando el computador. .content-box-blue[Ejemplo ] ('nivel básico'). Supongamos que los siguientes datos corresponden a Ingreso Disponible (X) y Gasto en Consumo (Y) `$$\begin{array}{l|cccc} Y& 2 & 5 & 6 & 7\\ \hline X& 0 & 10 & 18 & 20\\ \end{array}$$` En este caso de ( `\(k=2\)` ) dos variables, estamos interesados en el modelo lineal del tipo `\(Y_i=\hat{\beta}_1+\hat{\beta}_2X_i+\hat{u}_i\)`: `$$\begin{array}{ccccccccc} 2&=&\hat{\beta}_1&+&\hat{\beta}_2&*&0&+&\hat{u}_1\\ 5&=&\hat{\beta}_1&+&\hat{\beta}_2&*&10&+&\hat{u}_2\\ & & & &\vdots & & & & \\ \end{array}$$` Expresado en forma matricial, `$$\left[\begin{array}{c} 2 \\ 5 \\ 6 \\ 7\\ \end{array} \right]= \left[\begin{array}{cc} 1&0 \\ 1&10 \\ 1&18 \\ 1&20\\ \end{array} \right] \left[\begin{array}{c} \hat{\beta}_1 \\ \hat{\beta}_2\\ \end{array} \right]+ \left[\begin{array}{c} \hat{u}_1 \\ \hat{u}_2 \\ \hat{u}_3 \\ \hat{u}_4\\ \end{array} \right] \hspace{0.6cm}\rightarrow \underbrace{Y}_{(4x1)}=\underbrace{X}_{(4x2)}\underbrace{\hat{\beta}}_{(2x1)}+\underbrace{\hat{u}}_{(4x1)}$$` --- # Ejemplos y Práctica - OLS (cont.) Por ende, encontramos los parámetros estimados empleando `\(\hat{\beta}=(X'X)^{-1}(X'Y)\)`: `$$\begin{eqnarray*} \hat{\beta}&=& \left(\begin{array}{c} \hat{\beta}_1\\ \hat{\beta}_2\\ \end{array}\right)= \left( \left[\begin{array}{cccc} 1&1&1&1\\ 0&10&18&20\\ \end{array} \right] \left[\begin{array}{cc} 1&0 \\ 1&10 \\ 1&18 \\ 1&20\\ \end{array} \right] \right)^{-1} \left( \left[\begin{array}{cccc} 1&1&1&1\\ 0&10&18&20\\ \end{array} \right] \left[\begin{array}{c} 2 \\ 5 \\ 6 \\ 7\\ \end{array} \right] \right)= \left(\frac{1}{992} \left[\begin{array}{cc} 824 & -48 \\ -48 & 4\\ \end{array}\right]\right) \left(\left[\begin{array}{c} 20\\ 298\\ \end{array}\right]\right)= \left(\begin{array}{c} 2,1935\\ 0,2338\\ \end{array}\right) \end{eqnarray*}$$` el vector de residuales: `$$\hat{u}= \left[\begin{array}{c} \hat{u}_1 \\ \hat{u}_2 \\ \hat{u}_3 \\ \hat{u}_4 \\ \end{array}\right]=Y-X\hat{\beta}= \left[\begin{array}{c} 2 \\ 5 \\ 6 \\ 7\\ \end{array}\right]- \left[\begin{array}{cc} 1&0 \\ 1&10 \\ 1&18 \\ 1&20\\ \end{array} \right] \left[\begin{array}{c} 2,1935\\ 0,2339\\ \end{array}\right]= \left[\begin{array}{c} -0.1935 \\ \,\,0.4677 \\ -0.4032 \\ \,\,0.1290 \end{array}\right]$$` El estimador de la varianza de los residuales: `$$\hat{\sigma}^{2}=\frac{\sum_{i=1}^{4}\hat{u}_i^{2}}{n-k}=\frac{(-0.1935)^2+(0.4677)^2+(-0.4032)^2+(0.1290)^2}{4-2}=\frac{0.4355}{2}\simeq0.218$$` --- # Ejemplos y Práctica - OLS (cont.) Y esa información la empleamos para inferencia. Pero primero, necesitamos el estimador de la varianza de los coeficientes de regresión: `$$Var(\hat{\beta}|X)=\hat{\sigma}^{2}(X'X)^{-1}=\frac{0.4355}{2} \left[\begin{array}{cc} 4&48 \\ 48& 824\\ \end{array} \right]^{-1}\simeq \left[\begin{array}{cc} 0.1809&-0.0105 \\-0.0105& 0.0008789\\ \end{array} \right]$$` Se evalua la significancia individual de los parámetros, `\(H_0:\beta_j=0\)` vs `\(H_1:\beta_j\neq0\)`; empleando `\(t^{c}_{\alpha/2;n-k}=t^{c}_{0.025;2}=4,3027\)`, * Para `\(\hat{\beta}_1\)`: `\(t_{\hat{\beta}_1}=\frac{2,1935}{\sqrt{0.1809}}=5.158\)`. Como `\(t_{\hat{\beta}_1}>t^{c}_{0.025;2}\)` se rechaza `\(H_0\)`; por ende `\(\hat{\beta}_1\)` es significativo al `\(95\%\)`. * Para `\(\hat{\beta}_2\)`: `\(t_{\hat{\beta}_2}=\frac{0,2338}{\sqrt{0.0008789}}=7.893\)`. Como `\(t_{\hat{\beta}_2}>t^{c}_{0.025;2}\)` se rechaza `\(H_0\)`; por ende `\(\hat{\beta}_2\)` es significativo al `\(95\%\)`. El coeficiente de determinación ( `\(R^{2}\)` ), empleando `\(STC=\sum y_i^{2}=\sum (Y_i-\bar{Y})^2=\sum (Y_i-5)^2=14\)`, y su valor ajustado ( `\(\bar{R}^{2}\)` ): `$$R^{2}=1-\frac{SRC}{STC}=1-\frac{\sum\hat{u}_i^2}{\sum y_i^2}=1-\frac{0.4355}{14}=0.969 \hspace{0.5cm};\hspace{0.5cm} \bar{R}^{2}=1-\frac{\sum\hat{u}_i^2/(n-k)}{\sum y_i^2/(n-1)}=1-\frac{0.4355/2}{14/3}=0.9533$$` --- # Ejemplos y Práctica - OLS (cont.) Finalmente, la prueba F: `$$F=\frac{0.969/(2-1)}{(1-0.969)/(4-2)}=62,2963\,\Rightarrow\,pvalue=0,0157\,\,\,(rechaza\,H_0\,al\,5\%)$$` Notar que, como vimos, para el modelo con `\(k=2\)` el valor de la prueba t elevado al cuadrado corresponde al valor de la prueba `\(F\)`: `$$t_{\hat{\beta}_2}^2=(7.893)^2=62,2963=F$$` Además, los pvalues de ambas pruebas serán iguales. --- # Ejemplos y Práctica - OLS (cont.) ### En
se pueden llevar a cabo el computo anterior. ``` r # Ingreso de datos Y <- c(2,5,6,7) X <- cbind(rep(1,4),c(0,10,18,20)) n <- nrow(X) k <- ncol(X) # Computo usando matrices Beta <- solve(t(X)%*%X)%*%(t(X)%*%Y) u <- Y - X%*%Beta s2 <- t(u)%*%u / (n-k) V.b <- as.numeric(s2)*solve(t(X)%*%X) t.b <- Beta / sqrt(diag(V.b)) p.b <- 2*( 1 - pt(abs(t.b),(n-k)) ) # Resultados # Beta hat, s.e. , t-values, p-values cbind(Beta,sqrt(diag(V.b)),t.b,p.b) ## [,1] [,2] [,3] [,4] ## [1,] 2.193548 0.42528377 5.157846 0.03559438 ## [2,] 0.233871 0.02963092 7.892800 0.01567586 ``` --- # Ejemplos y Práctica - OLS (cont.) ### Nivel usuario: O simplemente el comando `lm(Y~X)` en
``` r # Ingreso de datos creando un Dataframe df <- data.frame( Consumo = c(2,5,6,7), Ingreso = c(0,10,18,20)) # Regresión usnado comando LM para replicar lo realizado manualmente reg<-lm(Consumo~Ingreso, data=df) summary(reg) ## ## Call: ## lm(formula = Consumo ~ Ingreso, data = df) ## ## Residuals: ## 1 2 3 4 ## -0.1935 0.4677 -0.4032 0.1290 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 2.19355 0.42528 5.158 0.0356 * ## Ingreso 0.23387 0.02963 7.893 0.0157 * ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.4666 on 2 degrees of freedom ## Multiple R-squared: 0.9689, Adjusted R-squared: 0.9533 ## F-statistic: 62.3 on 1 and 2 DF, p-value: 0.01568 ``` --- # Ejemplos y Práctica - OLS (cont.) **Nivel usuario: O con el comando `reg Y X` en Stata (en la práctica: `reg Y X, r` )** .center[ ] --- # Sobre las características del estimador El operador de expectativa es un concepto poblacional. Por ejemplo, el **sesgo** involucra una comparación directa entre el valor esperado del estimador y el parámetro poblacional. En la práctica los datos usualmente corresponden a muestras y no a la población completa. Por ende, lo ideal es emplear muestras para hacer inferencia sobre la población. **Consistencia** centra la atención en la convergencia del estimador a medida que se aumenta el tamaño de muestra. Por ejemplo, `\(\text{plim}_{n\rightarrow\infty}\,\hat{\beta}_{ols}=\beta\)`. .center[ ] Un ejercicio de simulación resulta útil para estudiar la consistencia de un estimador. .content-box-blue[Ejemplo.] A continuación se llevan a cabo 1000 simulaciones del modelo `\(y_i=1+2x_i+u_i\)`, con `\(x\sim U[0,1]\)` y `\(u_i\sim\mathbb{N}(0,1)\)`. Notar, `\(\beta=2\)`. Se ilustra la distribución empírica que se obtendría de los estimadores OLS. Nota: Es posible cambiar en cada simulación las variables o el tamaño de muestra ( `\(n\)` ). --- # Simulación usando
.pull-left[ ``` r # Código de programación en R: set.seed(12345) nsim <- 1000 sim <- function(n){ out <- array(numeric(), c(nsim, 1)) for (i in 1:nsim) { x <- runif(n) u <- rnorm(n) Y <- 1 + 2*x + u X <- cbind(rep(1,n), x) b <- solve(t(X)%*%X)%*%(t(X)%*%Y) out[i] <- b[2] } return(out) } df <- data.frame( Beta = rbind(sim(10), sim(100), sim(1e3)), Size = c(rep(10,nsim), rep(100,nsim), rep(1000,nsim))) ggplot() + geom_density(data=df|>subset(Size %in% 1000), aes(x=Beta, col="n=1000"), linewidth=1.2, linetype = "solid") + geom_density(data=df|>subset(Size %in% 100), aes(x=Beta, col="n=100"), linewidth=1.2, linetype = "solid") + geom_density(data=df|>subset(Size %in% 10), aes(x=Beta, col="n=10"), linewidth=1.2, linetype = "solid") + scale_x_continuous(limits = c(0,4)) + xlab(expression(hat(beta))) + scale_color_manual(name = "Tamaño Muestra", values = c("n=10"="#0072B2", "n=100" = "#69b3a2","n=1000" = "#F8766D")) ``` ] .pull-right[ <img src="econometria_2_files/figure-html/fig_sim_out-1.png" width="110%" height="110%" style="display: block; margin: auto;" /> ] --- # Simulación usando `Stata` .center[ ] --- class: inverse, middle, mline, center # Parte II: Extensiones (Modelos Relacionados al contexto de OLS) --- # Estimación vía optimización Después de haber repasado estimación _OLS_ y la forma asociada para llevar a cabo inferencia, un comentario sobre estimadores. Al estimar estamos seleccionado un vector de parámetros `\(\beta\)` que explique los datos observados lo mejor posible. Esto involucra las siguientes ideas: * Modelo: ¿Qué función `\(f\)` representa la relación entre variables? * Objetivo: ¿En qué sentido se requiere que `\(\beta\)` sean óptimo? * Optimización: ¿Cómo se lleva (computacionalmente) a cabo la optimización? Es decir, el 'problema' general puede plantearse como: `$$\hat{\boldsymbol{\beta}}=\text{arg min}_{\beta}\,L_i(f_{\beta}(\boldsymbol{x}_i),Y_i)$$` --- # Una nota en estimación vía optimización (cont.) Por ende, emplear diferentes configuraciones de `\(L\)` y `\(f\)` produce 'diferentes' estimadores: * _L.S._ (_Least Squares_): Usa una función `\(L\)` cuadrática. - _OLS_ (_Ordinary L.S._): `\(f\)` es lineal, es decir, `\(f(X)=X\beta\)`. Además, como vimos, se puede agregar restricciones (_CLS_). - _NLS_ (_Non-linear L.S._): `\(f\)` no es lineal. Por ejemplo, una función logística del tipo `\(f(X)=[1+exp(-X\beta)]^{-1}\)` (redes neuronales), `$$\hat{\boldsymbol{\beta}}=\text{arg min}_{\beta}\,\sum_{i=1}^n {(f(X_i,\beta) - Y_i)^{2}}$$` * _WLS_ (_Weighted Least Squares_): Incorpora ponderadores `\(\omega\)` en el contexto de _L.S._ Es utilizado por ejemplo en _GLS_ (mínimos cuadrados generalizados y/o factibles) para el caso de heterocedasticidad, `$$\hat{\boldsymbol{\beta}}=\text{arg min}_{\beta}\,\sum_{i=1}^n{\omega_i (f(X_i,\beta) - Y_i)^{2}}$$` * _L1_ (_Least Absolute Deviations_): Usa una función `\(L\)` de valor absoluto. Tiene familiaridad con _quantile regresión_ (en p50), `$$\hat{\boldsymbol{\beta}}=\text{arg min}_{\beta}\,\left| {(f(X_i,\beta) - Y_i)} \right|$$` --- # Modelos Lineales Regularizados **Modelos Lineales Regularizados** son una clase de modelos estadísticos que añaden un término de penalización a la función de pérdida para prevenir el sobreajuste y mejorar la generalización del modelo. Este término de penalización ayuda a reducir los coeficientes de características menos importantes, lo que lleva a modelos más simples e interpretables. - OLS: Minimiza las diferencias al cuadrado entre los valores observados y los predichos, **enfocándose en la media condicional**. Es sensible a la presencia de _outliers_, a problemas de multicolinealidad, no es tan amigable para realizar selección de variables y puede sobreajustarse cuando hay muchas variables explicativas. - LASSO y Ridge Regresión: Son versiones regularizadas de OLS que penalizan el tamaño de los coeficientes para **prevenir el sobreajuste.** Siguen centradas en estimar la media condicional, pero con un enfoque en la selección de variables (LASSO) o en reducir la multicolinealidad (Ridge). - **LASSO:** Prioriza la selección de variables relevantes y la creación de modelos más parsimoniosos. - **Ridge Regresión:** Aborda el problema de la multicolinealidad, reduciendo la influencia de variables altamente correlacionadas. --- # Modelos Lineales Regularizados ## Ridge vs LASSO `\(\,\)` | Característica | Ridge Regression | LASSO | |--------------------------|-----------------------------------------|----------------------------------------| | Penalización | `\(\lambda \sum_j \beta_j^2\)` | `\(\lambda\sum_j abs(\beta_j)\)` | | Selección de Variables | No selecciona variables | Puede establecer coeficientes a cero | | Situación Ideal | Todas las variables son relevantes | Subconjunto pequeño de variables relevantes | | Coeficientes | Encoge todos los coeficientes | Algunos coeficientes exactamente cero | | Complejidad Computacional| Menor | Mayor | `\(\,\)` - **Ridge Regression:** Ideal cuando todas las variables explicativas contribuyen al modelo y hay multicolinealidad. - **LASSO:** Útil cuando se necesita selección de variables, especialmente en datasets con muchas variables irrelevantes. - **Elastic Net:** Combinación de LASSO y Ridge que utiliza una penalización mixta `\(\lambda_1\sum_j|\beta_j|+\lambda_2\sum\beta_j^2\)`. --- # Introducción a LASSO **LASSO** es una regresión que realiza selección de variables y regularización al mismo tiempo, por lo que resulta útil cuando se trabaja con un gran número de variables explicativas. Pros: - Ideal para modelos con muchas variables explicativas donde se busca identificar las más relevantes. - Utilizado en machine learning para mejorar la capacidad de predicción, ya que evita el sobreajuste. - En econometría se emplea cuando hay alta dimensionalidad (ej., big data). Por ejemplo, análisis de datos financieros. --- # Introducción a LASSO En la función objetivo se minimiza la suma de los errores cuadráticos con una penalización de la norma `\(L_1\)` de los coeficientes: `$$\widehat{\boldsymbol{\beta}}_{\text{LASSO}} = \arg \min_{\boldsymbol{\beta}} \left( \sum_{i=1}^{N} (y_i - \boldsymbol{x}_i' \boldsymbol{\beta})^2 + \lambda \sum_{j=1}^{p} |\beta_j| \right)$$` donde `\(\lambda\)` es un parámetro de penalización (o hiperparámetro ) que controla el nivel de regularización y `\(\sum_{j=1}^{p} |\beta_j|\)` es un término de penalización que reduce el valor absoluto de los coeficientes `\(\beta_j\)`. Es decir, El término de contracción ( _shrinkage term_ ) se plantea como una penalización `\(L_1\)`: `\(\lambda \sum_{j=1}^{p} |\beta_j|\)`. --- # Introducción a LASSO - **Interpretación del parámetro `\(\lambda\)` (controla el grado de penalización):** - Si `\(\lambda \rightarrow 0\)`: LASSO se reduce a OLS estándar, sin penalización, utilizando todas las variables con sus coeficientes originales. Un valor pequeño lleva a un **modelo más complejo y ajustado**. - Si `\(\lambda\)` es muy grande: Al incrementar `\(\lambda\)`, algunos coeficientes `\(\beta_j\)` se reducen exactamente a cero, resultando en un modelo que no utiliza ninguna variable predictiva (modelo nulo). Un valor grande lleva a un **modelo más simple con menos variables**. - Selección Automática: LASSO selecciona automáticamente las variables más importantes para el modelo al establecer coeficientes a cero para las variables menos relevantes. Se usa **validación cruzada ( _Cross Validation_ )** para encontrar el valor óptimo de `\(\lambda\)`, garantizando que el modelo tenga un buen equilibrio entre precisión predictiva y simplicidad. - **Algoritmo:** El problema de optimización de LASSO no tiene una solución analítica cerrada (a diferencia de OLS o Ridge), por lo que se suelen utilizar algoritmos como **_Gradient Descent_** o **Coordinate Descent** (algoritmos que revisamos en mayor detalle en el curso electivo de métodos numéricos para economía que imparto) para encontrar la solución óptima. - **Gráfico del Path de Regularización:** es una figura que muestra cómo los coeficientes de las variables cambian a medida que varía `\(\lambda\)`. Cada línea en el gráfico representa un coeficiente `\(\beta_j\)`. Al incrementar `\(\lambda\)`, algunas líneas convergen a cero, indicando que esas variables se excluyen del modelo. --- # Ilustración usando
.pull-left[ ``` r library(glmnet) set.seed(123) # Simulación de Datos n <- 100 p <- 10 X <- matrix(rnorm(n * p), n, p) beta0 <- c(3, -2, 0, 0, 0, 4, 0, 0, 0, 0) y <- X%*%beta0 + rnorm(n) # Estimación modelo.lasso <- glmnet(X, y, alpha = 1) # Path de Regularización plot(modelo.lasso, xvar = "lambda", label = TRUE) title("Path de Regularización") ``` ] .pull-right[ <img src="econometria_2_files/figure-html/fig_lasso_out1-1.png" width="110%" height="110%" style="display: block; margin: auto;" /> ] --- # Ilustración usando
.pull-left[ ``` r library(glmnet) set.seed(123) # Simulación de Datos n <- 100 p <- 10 X <- matrix(rnorm(n * p), n, p) beta0 <- c(3, -2, 0, 0, 0, 4, 0, 0, 0, 0) y <- X%*%beta0 + rnorm(n) # Estimación modelo.lasso <- glmnet(X, y, alpha = 1) modelo.cv <- cv.glmnet(X, y, alpha = 1) # Error de CV en función de lambda plot(modelo.cv) title("Validación Cruzada para Seleccionar lambda") ``` ] .pull-right[ <img src="econometria_2_files/figure-html/fig_lasso_out2-1.png" width="110%" height="110%" style="display: block; margin: auto;" /> ] --- # Ilustración usando
.pull-left[ ``` r library(glmnet) set.seed(123) # Simulación de Datos n <- 100 p <- 20 X <- matrix(rnorm(n * p), n, p) beta0 <- c(10, -3, 0, 0, 0, 25, rep(1e-4,14)) y <- X%*%beta0 + rnorm(n) # Estimación modelo.lasso <- glmnet(X, y, alpha = 1) modelo.cv <- cv.glmnet(X, y, alpha = 1) mejor.lambda <- modelo.cv$lambda.min cat("El valor óptimo de lambda seleccionado es:", mejor.lambda, "\n") mejor.modelo <- glmnet(X, y, alpha = 1, lambda = mejor.lambda) coef(mejor.modelo) ``` ] .pull-right[ ``` ## El valor óptimo de lambda seleccionado es: 0.05827588 ## 21 x 1 sparse Matrix of class "dgCMatrix" ## s0 ## (Intercept) -0.117071010 ## V1 9.835898851 ## V2 -2.985462051 ## V3 0.077228797 ## V4 . ## V5 . ## V6 24.895215916 ## V7 . ## V8 -0.051246216 ## V9 . ## V10 . ## V11 0.092750180 ## V12 . ## V13 -0.055219092 ## V14 0.006181239 ## V15 . ## V16 . ## V17 . ## V18 . ## V19 . ## V20 -0.056462420 ``` ] --- # Introducción a Ridge Regression OLS es sensible a problemas de multicolinealidad y puede llevar a estimaciones inestables (grandes s.e. si hay multicolinealidad). Es decir, no penaliza coeficientes altos, lo que lleva a un posible sobreajuste. **Ridge Regression:** técnica de regularización utilizada para manejar problemas de multicolinealidad en modelos de regresión. Básicamente se añade un término de penalización al modelo OLS, que reduce la magnitud de los coeficientes `\(\beta\)`, pero nunca los lleva a cero (a diferencia de LASSO). - **Propiedades:** - Ridge Regression reduce la varianza al "encoger" los coeficientes `\(\beta_j\)`, haciendo el modelo más robusto. - No realiza selección de variables (a diferencia de LASSO), sino que mantiene todas las variables en el modelo. .font80[ **Ejemplo de aplicaciones:** - Predicción de precios de viviendas: La predicción de precios de viviendas suele involucrar muchas variables altamente correlacionadas, como el tamaño de la vivienda, la ubicación, el número de habitaciones, etc. Ridge puede ayudar a estabilizar los coeficientes y mejorar la precisión de las predicciones al penalizar los coeficientes de las variables más correlacionadas. - Predicción de Datos Financieros: Mejora la precisión predictiva en modelos financieros, donde las variables pueden estar correlacionadas. - Modelos con Muchos Predictores: Ideal para situaciones con muchas variables explicativas potencialmente correlacionadas, donde OLS produce estimaciones inestables. ] --- # Introducción a Ridge Regression **Estimación Ridge:** Minimiza la suma de los errores cuadráticos con una penalización de la norma `\(L_2\)` de los coeficientes: `$$\widehat{\boldsymbol{\beta}}_{\text{Ridge}} = \arg \min_{\boldsymbol{\beta}} \left( \sum_{i=1}^{N} (y_i - \boldsymbol{x}_i' \boldsymbol{\beta})^2 + \lambda \sum_{j=1}^{p} \beta_j^2 \right)$$` donde `\(\lambda\)` es el parámetro de penalización que controla la cantidad de regularización, `\(\sum_{j=1}^{p} \beta_j^2\)` es el término de penalización que reduce el tamaño de los coeficientes `\(\beta_j\)`. En este caso, la solución analítica está dada por: `$$\widehat{\boldsymbol{\beta}}_{\text{Ridge}} = (X'X+\lambda I)^{-1}(X'y)$$` --- # Introducción a Ridge Regression - **Propiedades de Ridge Regression:** - El término de contracción ( _shrinkage term_ ) se plantea como una penalización `\(L_2\)`: `\(\lambda \sum_{j=1}^{p} \beta_j^2\)`. - Al aumentar `\(\lambda\)`, los coeficientes `\(\beta_j\)` se reducen, pero no se eliminan (no se vuelven exactamente cero). - Reduce la varianza del modelo, mejorando la estabilidad de las estimaciones cuando hay multicolinealidad. - **Interpretación del Parámetro `\(\lambda\)`:** - Si `\(\lambda \rightarrow 0\)`: Ridge se convierte en OLS, sin regularización. - A medida que `\(\lambda\)` aumenta, los coeficientes se reducen, lo que reduce la sensibilidad del modelo a pequeñas variaciones en los datos. - **Sesgo vs Varianza - Geometría de la Penalización L2:** - Ridge Regression encuentra un equilibrio entre la **varianza** (coeficientes altos) y el **sesgo** (aproximación hacia cero). - La penalización L2 encoge los coeficientes hacia el origen, reduciendo la varianza pero introduciendo un sesgo. --- # Ilustración usando
.pull-left[ ```r library(glmnet) set.seed(123) # Simulación de Datos n <- 100 p <- 10 X <- matrix(rnorm(n*p), n, p) beta0 <- c(10, -3, 0, 0, 0, 25, rep(1e-4,4)) y <- X%*%beta0 + rnorm(n) # Estimación modelo.Ridge <- glmnet(X, y, alpha = 0) cv_ridge <- cv.glmnet(X, y, alpha = 0) mejor.lambda <- cv_ridge$lambda.min mejor.ridge <- glmnet(X, y, alpha = 0, lambda = mejor.lambda) #print(coef(mejor.ridge)) plot(modelo.Ridge, xvar = "lambda", label = TRUE) title("Path de Regularización de Ridge Regression") ``` ] .pull-right[ <img src="econometria_2_files/figure-html/fig_ridge_out-1.png" width="110%" height="110%" style="display: block; margin: auto;" /> ] --- # Introducción a Quantile Regression (Regresión Cuantílica) ## Introducción/Motivación _Quantile Regression_ o Regresión Cuantílica es una extensión de los modelos lineales. A diferencia de los modelos lineales tradicionales que se centran en la media condicional (en OLS el enfoque está en un solo punto de la distribución, `\(\mathbb{E}(Y|X)\)`), la regresión cuantílica ofrece una herramienta más flexible, ya que permite modelar la relación entre las variables en diferentes puntos de la distribución condicional. La **regresión cuantílica** es un modelo lineal que estima cuantiles específicos de la variable dependiente, en lugar de solo la media. La función objetivo está basada en la minimización de residuos absolutos ponderados, lo que permite analizar la relación entre las variables en diferentes puntos de la distribución. --- # Introducción a Quantile Regression ## Introducción/Motivación **Beneficios de Múltiples Quantiles:** - Al estimar varios cuantiles (por ejemplo, 0,1, 0,75, 0,9), se obtiene una vista más completa de la distribución condicional. - Permite entender cómo varían los efectos de los predictores en diferentes partes de la distribución. **Aplicaciones de la Regresión Cuantílica** (cuando el interés va más allá de un efecto promedio): - Análisis de desigualdad de ingresos, donde se estudia cómo los factores afectan a diferentes niveles de la distribución de ingresos. - Evaluación del impacto de intervenciones educativas en diferentes percentiles de rendimiento académico. - Estimación de valor en riesgo condicional (CVaR) para modelar riesgos extremos. **Robustez a Outliers:** - La función de pérdida asimétrica hace que la regresión cuantílica sea menos sensible a outliers que OLS, que minimiza errores cuadráticos. - Ejemplo: En la regresión de ingresos, un outlier extremo afecta menos a la estimación del percentil 10 que en OLS. --- # Introducción a Quantile Regression ## Cuantil - La función de distribución acumulada (CDF) de una v.a. `\(Y\)` es `\(F(y) = Pr(Y \leq y) = \tau\)`, donde `\(\tau\)` representa el cuantil. Por ejemplo, si `\(\tau=0,5\)`, entonces `\(F(y)=0,5\)` corresponde a la mediana. - La función cuantílica, la inversa de la CDF, es `\(F^{-1}(\tau) = \inf\{y: F(y) \geq \tau\}\)` donde inf representa el ínfimo del conjunto. - Llamemos a `\(Y\)` como `\(q_\tau (Y)\)`, el **operador cuantil** (solo notación que usaremos luego): `\(F(Y \leq q_\tau (y)) = \tau\)`. - **Ejemplo** - `\(F(1,80cm)\)` nos da el porcentaje de la población que mide 1,80 cm o menos. - `\(F^{-1}(\tau=0,75) = \inf \{ y : F(y) \geq 0,75 \}\)` correspondería a la pregunta: ¿cuál es la altura que deja por debajo al 75 por ciento de la población?. Esa altura será el cuantil `\(Q_{0,75}\)`. `$$\,$$` Ahora revisaremos funciones de pérdida con un ejemplo. Pero primero, introducimos **la función signo**: `$$\frac{d|u|}{du} = sgn(u) = \begin{cases} \myone\{u>0\} - \myone\{u<0\}, & \text{si } u \neq 0 \\ 0, & \text{si } u = 0 \end{cases}$$` --- # Introducción a Quantile Regression ##Estimadores y funciones de pérdida **Ejemplo ilustrativo** - Supongamos que `\(\hat{\mu}\)` es un estimador y el cuantil de interés es `\(\tau = 0,5\)`. Es decir, `\(\hat{\mu} = \text{mediana}\)`. - Notar que el estimador de mínimos cuadrados (_OLS_) sería `\(\hat{\mu} = \arg \min \mathbb{E}[(Y - \mu)^2]\)`. <br> Es decir, para `\(u=Y-\mu\)`, la función de pérdida es `\(u^2\)`. - Si `\(F(y)\)` es continua, se tiene que `\(\boldsymbol{\mathbb{E}[\text{sgn}(u)] = 0}\)`. Bajo condiciones de regularidad, la mediana satisface `\(\hat{\mu} = \arg \min \mathbb{E} |Y - \mu|\)`. Es decir, la función de pérdida es `\(|u|\)`. Esto es una **"Absolute Loss Function"** que penaliza de manera diferente los outliers. Este estimador se conoce como **LAD**: _Least Absolute Deviations_. - Notar que la función de pérdida `\(|u|=|Y - \mu|\)` puede reescribirse como `$$|u| = 2 \cdot \begin{cases} -u(1 - 1/2), & \text{si } u < 0 \\ u/2, & \text{si } u \geq 0 \end{cases}=2\,\,u\cdot(1/2 - \myone\{u<0\} )=2\,\,\rho_{0,5}(u)$$` Es decir, el estimador puede reescribirse como `$$\hat{\mu} = F^{-1}(0,5) = \arg \min_\mu \mathbb{E}[ \rho_{0,5}(u) ]= \arg \min_\mu \mathbb{E}[ \rho_{0,5}(Y-\mu) ]$$` --- # Introducción a Quantile Regression ## Comparación Funciones Pérdida OLS y ABS .pull-left[ ``` r u <- seq(-2, 2, length.out = 100) loss_abs <- abs(u) loss_squared <- u^2 loss_data <- data.frame(u = u, Loss_Absolute = loss_abs, Loss_Squared = loss_squared) ggplot(loss_data, aes(x = u)) + geom_line(aes(y = Loss_Absolute, color = 'Absolute Loss |u|')) + geom_line(aes(y = Loss_Squared, color = 'Squared Loss u^2')) + labs(title = 'Comparison of Loss Functions |u| vs u^2', x = 'u', y = 'Loss Function Value') + scale_color_manual(name = 'Loss Function', values = c('Absolute Loss |u|' = 'blue', 'Squared Loss u^2' = 'red')) + theme_minimal() ``` ] .pull-right[ <img src="econometria_2_files/figure-html/lossf_quantil_out-1.png" width="100%" height="100%" style="display: block; margin: auto;" /> ] --- # Introducción a Quantile Regression El objetivo está en estimar los cuantiles condicionales en función de los observables ( `\(X\)`'s ), lo que origina el modelo de **regresión cuantílica**. **Cuantil Condicional:** - El cuantil condicional de `\(Y\)` dado `\(X = x\)` es `\(q_{\tau}(x)\)`, tal que `\(F(Y \leq q_{\tau}(x) | X = x) = \tau\)`. - `\(q_{\tau}(x)\)` tambiéntambién se denomina **quantile regression function** o función de regresión cuantílica. - Es una función monótona: Si `\(Y_2 = \phi(Y_1)\)` y `\(q_{\tau}^1(x)\)` y `\(q_{\tau}^2(x)\)` son los cuantiles de `\(Y_1\)` y `\(Y_2\)`, entonces `\(q_{\tau}^2(x) = \phi(q_{\tau}^1(x))\)`. <br> Por ejemplo, si trabajamos con el logaritmo de los salarios, `\(q_{\tau}^{\ast}( \log(\text{wage})) = \log(q_{\tau}(\text{wage}))\)`. **Modelo Quantile Regression** - El modelo de **quantile regression** es, por ende: `$$Y = q_{\tau}(X) + e \hspace{0.5cm},\hspace{0.5cm} \quad Q_{\tau}(e | x) = 0$$` Donde `\(e\)` no está centrado en `\(0\)`, está centrado en tal forma que el cuantil `\(\tau\)` es `\(0\)` (a diferencia de _OLS_). - **Modelo Quantile Regression Lineal** `$$Y = X' \beta_{\tau} + e \hspace{0.5cm},\hspace{0.5cm} \quad Q_{\tau}(e | x) = 0$$` --- # Introducción a Quantile Regression .font90[ Definimos la **Función de Pérdida Absoluta Asimétrica** o simplemente **pérdida cuantílica** ( _Tilted Absolute Loss Function_ ): `$$\rho_{\tau}(u) = \begin{cases} -u \cdot (1 - \tau), & u < 0 \\ u \cdot \tau, & u \geq 0 \end{cases} = u \cdot (\tau - \myone\{u < 0\})$$` También definimos la derivada `\(\psi_{\tau}(u) = \frac{d}{du}\rho_{\tau}(u) = \tau - \mathbb{I}\{u < 0\}\)`, `\(\text{ para } u \neq 0\)`. Esta función la usamos para caracterizar el estimador. ] .content-box-red[**Teorema** (24.2 en Hansen, 2022)] - Si `\(Y\)` tiene una distribución continua, entonces `\(\mathbb{E} \left[ \psi_{\tau}(Y - q_{\tau}) \right] = 0\)`. - Si además `\(\mathbb{E}|Y|<\infty\)`, entonces `\(q_{\tau} = \arg \min_{\theta} \mathbb{E} \left[ \rho_{\tau}(Y - \theta) \right]\)`. - Si `\(F(y | x)\)` dado `\(X = x\)` es continua en `\(y\)`, el error cuantil condicional `\(e = Y - q_{\tau}(x)\)` satisface `\(\mathbb{E} \left[ \psi_{\tau}(e) | X \right] = 0\)`. - y si además `\(\mathbb{E}|Y|<\infty\)`, entonces la función de cuantil condicional satisface: `$$q_{\tau}(x) = \arg \min_{\theta} \mathbb{E} \left[ \rho_{\tau}(Y - \theta) | X = x \right]$$` - Si `\((Y, X)\)` satisface el modelo `\(Y = X' \beta_{\tau} + e\)`, `\(Q_{\tau}(e | x) = 0\)`, y `\(\mathbb{E}|Y|<\infty\)`, entonces `\(\beta_{\tau}\)` satisface ( _Best Linear Quantile Predictor_ ): `$$\beta_{\tau} = \arg \min_{\beta} \mathbb{E} \left[ \rho_{\tau}(Y - X' \beta) \right]$$` --- # Introducción a Quantile Regression ## Estimador de Quantile Regression: El estimador de `\(\beta_{\tau}\)` ( _quantile regression estimator_ ) es: `$$\hat{\beta}_{\tau} = \arg \min_{\beta} \frac{1}{n} \sum_{i=1}^{n} \rho_{\tau}(Y_i - X_i' \beta)$$` **Coeficientes:** - Un coeficiente positivo para un quantil alto (ej., `\(\tau = 0.9\)` ) indica que un aumento en el predictor está asociado con un mayor incremento en la cola superior de la distribución. - Permite analizar desigualdad e impactos heterogéneos en la distribución condicional. .font80[ **Nota sobre los aspectos computacionales:** - No hay solución analítica cerrada, ya que la función objetivo (pérdida) no es diferenciable (valores absolutos). Esto limita el uso de cálculo diferencial como en OLS. - Se usan **técnicas de programación lineal para la estimación**. Métodos como **Simplex** o **métodos de punto interior** permiten resolver problemas de optimización, asegurando que la solución encontrada sea óptima en términos de la función de pérdida cuantílica. En escenarios con grandes datos o modelos complejos, algoritmos como **Gradient Descent** y **Coordinate Descent** son eficaces (aunque no garantizan soluciones globales). ] --- # Introducción a Quantile Regression ## Distribución Asintótica - Supuestos: Si `\((Y_i, X_i)\)` son i.i.d. y se cumplen las condiciones de regularidad (e.g., `\(\mathbb{E}[Y|X] < \infty\)`, `\(\mathbb{E}[\|X\|^2] < \infty\)`, `\(f_{Y}(e | X)\)` existe y satisface `\(f_{Y} \in D < \infty\)`, y el espacio de parámetros es compacto), entonces, cuando `\(n \to \infty\)`, `$$\sqrt{n}(\hat{\beta}_{\tau} - \beta_{\tau}) \xrightarrow{d} \mathcal{N}(0, \mathbb{V}_{\tau})$$` .font90[ - En donde - Bajo **cuantil-independencia**: `\(\hat{\mathbb{V}}_{\tau} = \tau(1 - \tau) \cdot \hat{f}_{\tau}(0)^{-2} \cdot \hat{Q}^{-1}, \quad \text{con} \quad \hat{Q} = \frac{1}{n} \sum_{i} X_i X_i'\)`; `\(\hat{f}_{\tau}(0)^{-2}\)` es un estimador no parametrico de `\(f_{\tau}^{-2}(0)\)`. - Bajo supuesto de **especificación correcta**: `\(\hat{\mathbb{V}}_{\tau} = \tau(1 - \tau) \cdot \hat{Q}_{\tau}^{-1} \cdot \hat{\Omega}_{\tau} \cdot \hat{Q}_{\tau}^{-1}, \quad \text{con} \quad \hat{\Omega}_{\tau} = \frac{1}{2nh} \sum X_i X_i' \Lambda_{i} [\hat{e}_i] K_h\)` ] **Manejo de Heterocedasticidad:** - Notar que la regresión quantílica no asume varianza constante en los errores, permitiendo estimar efectos que varían en diferentes puntos de la distribución. Por ejemplo, el impacto de la educación en los salarios puede ser mayor en los salarios altos que en los bajos. --- # Ilustración usando
**Con el comando `rq()` en
** .pull-left[ ``` r # En la práctica, la estimación se puede # llevar a cabo usando quantreg en r: library(quantreg) set.seed(123) X <- matrix(rnorm(1000), ncol = 5) y <- X[, 1] + rnorm(200) + abs(X[, 2]) * rnorm(200) quant_model <- rq(y ~ X, tau = c(0.1, 0.5)) summary(quant_model) ``` ] .pull-right[ ``` ## ## Call: rq(formula = y ~ X, tau = c(0.1, 0.5)) ## ## tau: [1] 0.1 ## ## Coefficients: ## coefficients lower bd upper bd ## (Intercept) -1.95750 -2.14629 -1.60365 ## X1 1.02719 0.97179 1.36979 ## X2 0.38629 0.01427 0.57184 ## X3 0.34984 0.04727 0.62594 ## X4 0.06522 -0.07933 0.52222 ## X5 -0.00350 -0.26306 0.44907 ## ## Call: rq(formula = y ~ X, tau = c(0.1, 0.5)) ## ## tau: [1] 0.5 ## ## Coefficients: ## coefficients lower bd upper bd ## (Intercept) 0.00995 -0.17999 0.21260 ## X1 0.92978 0.71022 1.11019 ## X2 0.07900 -0.13391 0.22011 ## X3 0.06005 -0.09529 0.24386 ## X4 0.03183 -0.20375 0.22552 ## X5 0.02005 -0.17911 0.30986 ``` ] --- # Ilustración usando Stata **O con el comando `qreg Y X, quantile(.5)` en Stata** .center[ ] --- # Cierre </br></br></br> ## <center>¿Preguntas?</center> .center[ ] `$$\,$$` .center[O vía E-mail: [lchanci1@binghamton.edu](mailto:lchanci1@binghamton.edu)]