Recordemos que definimos el modelo de regresión clásico, en el cual un conjunto de datos \( \{y_i,x_{i1},\ldots ,x_{ip}\}_{i=1}^{n} \) de \( n \) unidades estadísticas, un modelo de regresión lineal supone que la relación entre la variable dependiente \( y_i \) y el vector \( \boldsymbol{x}_i \) de \( p \) regresores es lineal.
\[ {\displaystyle y_{i}=\beta_{01}+\beta_{1}x_{i1}+\cdots +\beta_{p}x_{ip}+\varepsilon_{i}\\= \boldsymbol{x}_i'\boldsymbol{\beta}+\varepsilon_{i},\qquad i=1,\ldots ,n,} \]
Estas \( n \) ecuaciones, pueden ser escritas de forma matricial, de la siguiente manera:
\[ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}, \]
La ecuación toma la forma expandida: \[ \underbrace{\begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix}}_{\boldsymbol{y}} = \underbrace{\begin{bmatrix}1&x_{11}&\cdots &x_{1p}\\1&x_{21}&\cdots &x_{2p}\\\vdots &\vdots &\ddots &\vdots \\1&x_{n1}&\cdots &x_{np}\end{bmatrix}}_{\boldsymbol{X}} \underbrace{ \begin{bmatrix}\beta_{0}\\\beta_{1}\\\beta_{2}\\\vdots \\\beta_{p}\end{bmatrix}}_{\boldsymbol{\beta}} + \underbrace{\begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \vdots \\ \varepsilon_n \end{bmatrix}}_{\boldsymbol{\varepsilon}} \]
Se deben satisfacer los siguientes supuestos:
En algunos problemas el supuesto de homocedasticidad en los errores no es razonable. En estos casos es necesario definir el modelo con diferentes supuestos para los errores. Esto es,
\[ \boldsymbol{Y} = \boldsymbol{X\beta} + \boldsymbol{\varepsilon}, \]
donde \( \boldsymbol{\varepsilon}_i \sim N(\boldsymbol{0}, \sigma^2 \boldsymbol{V}) \) para una matriz \( \boldsymbol{V} \) conocida y definida positiva. Los supuestos para el modelo implican que:
El estimador se conoce como el estimador de mínimos cuadrados generalizados dado por
\[ \hat{\boldsymbol{\beta}}_{GLS} = (\boldsymbol{X}'\boldsymbol{V}^{-1}\boldsymbol{X})^{-1}\boldsymbol{X}'\boldsymbol{V}^{-1}\boldsymbol{Y} \]
En estudios con diseños muestrales donde \( Var(Y_i) = \sigma^2/w_i \) para pesos positivos \( w_i \) , el estimador \( \hat{\boldsymbol{\beta}}_{GLS} \) se conoce como estimador de mínimos cuadrados ponderado. Al igual que el estimador de mínimos cuadrados ordinario, la media y la varianza del estimador \( \hat{\boldsymbol{\beta}}_{GLS} \) están dadas por
\[ E(\hat{\boldsymbol{\beta}}_{GLM}) = \hat{\boldsymbol{\beta}} \]
y
\[ Var(\hat{\boldsymbol{\beta}}_{GLM}) = \sigma^2(\boldsymbol{X}'\boldsymbol{V}^{-1}\boldsymbol{X})^{-1} \]
El estimador \( \hat{\boldsymbol{\beta}}_{GLM} \) satisface las condiciones de optimalidad del Teorema de Gauss-Markov cuando \( \boldsymbol{V} \) es
En general, la matriz \( \boldsymbol{V} \) es desconocida y se debe estimar con los datos disponibles.
En este caso el estimador \( \hat{\boldsymbol{\beta}}_{GLM} \) no es insesgado y su varianza no tiene una fórmula exacta.
La estimación de los parámetros en el modelo demanda métodos iterativos que oscilan entre la estimación de \( \boldsymbol{\beta} \) y \( \boldsymbol{V} \) hasta lograr convergencia.
Es importante notar que el estimador de mínimos cuadrados ordinarios \( \hat{\boldsymbol{\beta}}_{LS} \) se puede usar para estimar \( \boldsymbol{\beta} \) en el modelo \( \boldsymbol{Y} = \boldsymbol{X\beta} + \boldsymbol{\varepsilon} \); ya que es insesgado y consistente.
El estimador es menos eficiente \( \hat{\boldsymbol{\beta}}_{LS} \) que el estimador \( \hat{\boldsymbol{\beta}}_{GLM} \).
Las implicaciones de este resultado es que en la práctica los errores estándar del estimador LS ordinario podrían ser mayores que los del estimador GLS.
Note que los estimadores coinciden cuando \( \boldsymbol{V} = \boldsymbol{I} \).
Recordemos que la función de densidad(probabilidad) para la distribución normal viene dada por:
\[ P(x) = \frac{1}{\sqrt{2\pi}\sigma}e^{-(x-\mu)^2/(2\sigma^2)} \]
Tenemos los datos a los que nos gustaría ajustar el PDF, por lo que conocemos el vector \( x \).
Necesitamos encontrar \( \mu \) y \( \sigma \).
Como se conoce el vector \( x \), variaremos los parámetros \( \mu \) y \( \sigma \) para maximizar el valor de la función de verosimilitud \( L(\mu,sigma) \).
\[ L(x|\mu,\sigma)= \frac{1}{\sqrt{2\pi}\sigma}e^{-(x-\mu)^2/(2\sigma^2)} \]
Supongamos que las variables \( x_1,x_2, \dots,x_n \) tienen distribución normal con parametros \( \mu \) y \( \sigma \). entonces la función de verosimilitud toma la forma: \( L(x_1,x_2, \dots,x_n\mu,\sigma) \). Por simplicidad solo escribiremos \( L(\mu,\sigma) \).
\[ \begin{align*} L(\mu, \sigma) &= \frac{1}{\sqrt{2\pi}\sigma}e^{-(x_1-\mu)^2/(2\sigma^2)} \times \frac{1}{\sqrt{2\pi}\sigma}e^{-(x_2-\mu)^2/(2\sigma^2)} \times \cdots \times \frac{1}{\sqrt{2\pi}\sigma}e^{-(x_n-\mu)^2/(2\sigma^2)}\\ &= \prod_{i=1}^n \frac{1}{\sqrt{2\pi}\sigma}e^{-(x_i-\mu)^2/(2\sigma^2)}\\ &= \left[\frac{1}{\sqrt{2\pi}\sigma}\right]^{n} \prod_{i=1}^n e^{-(x_i-\mu)^2/(2\sigma^2)}\\ &= \frac{(2\pi)^{-2/n}}{\sigma^n} \exp\left[ -\frac{ \sum_{i=1}^n(x_i-\mu)^2}{2\sigma^2}\right] \end{align*} \]
Continuamos tomando el logaritmo de la función de verosimilitud porque es más fácil trabajar con sumas en lugar de productos.
\[ \ln[L(\mu,\sigma)] = -\frac{n}{2}\ln(2\pi) - \frac{n}{2}\ln(\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^{n} (x_i-\mu)^2 \]
El primer término es una constante podemos descomponer el logaritmo. Del mismo modo hacemos con \( n \) del numerador en el segundo término. Nos quedamos con
\[ \ln[L(\mu,\sigma)] = - \frac{1}{2}\ln(\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^{n} (x_i-\mu)^2 \]
Derivando \( \ln[L(\mu,\sigma)] \) respecto a \( mu \) y \( \sigma \) y luego despejando para, \( \mu \) y \( \sigma \) tenemos que:
\[ \frac{\partial (\ln L)}{\partial \mu} = \frac{ \sum_{i=1}^n(x_i-\mu)}{\sigma^2} =0 \]
luego \[ \hat\mu= \frac{\sum_{i=1}^n x_i}{n} \].
Similarmente, para \( \sigma \) tenemos que:
\[ \frac{\partial (\ln L)}{\partial \sigma} = -\frac{n}{\sigma} - \frac{ \sum_{i=1}^n(x_i-\mu)^2}{\sigma^3} =0 \]
luego,
\[ \hat\sigma=\sqrt{\frac{\sum_{i=1}^n(x_i-\mu)^2}{n}} \].
De acuerdo con el modelo clásico (\( \boldsymbol{Y} = \boldsymbol{X\beta} + \boldsymbol{\varepsilon} \)) las observaciones \( Y_i \) son independientes y normalmente distribuidas. Por lo tanto, se puede definir la función de verosimilitud:
\[ L(\boldsymbol{\beta}, \sigma^2; \boldsymbol{y})=\frac{1}{(2\pi\sigma^2)^{n/2}}\prod_{i=1}^n\exp\left[ -\frac{(y_i-\boldsymbol{x}'_i\boldsymbol{\beta})^2}{2\sigma^2}\right] \]
Los estimadores de máxima verosimilitud de los parámetros del modelo están dados por
\[ \hat{\boldsymbol{\beta}}_{ML} = (\boldsymbol{X}'\boldsymbol{X})^{-1}\boldsymbol{X}'\boldsymbol{Y} \]
y
\[ \hat{\sigma}_{ML}=\sqrt{\frac{\sum_i^n(y_i-\hat{y}_i)^2}{n}} \]
Podemos ver, que para
\[ \hat{\boldsymbol{\beta}}_{ML} = (\boldsymbol{X}'\boldsymbol{X})^{-1}\boldsymbol{X}'\boldsymbol{Y} \]
y
\[ \hat{\sigma}_{ML}=\sqrt{\frac{\sum_i^n(y_i-\hat{y}_i)^2}{n}} \]
tenemos que:
El estimador ML de \( \boldsymbol{\beta} \) es igual que el estimador LS pero el estimador ML de \( \sigma^2 \) tiene un sesgo negativo (anteriormente vimos que \( s^2 \) es un estimador insesgado para \( \sigma^2 \)).
Este sesgo se debe a que la estimación de \( \boldsymbol{\beta} \) no tiene en cuenta al calcular \( \sigma^2_{ML} \) (no ajusta el denominador o los grados de libertad).
El problema con el método de ML se puede corregir si se usan los datos transformados que no dependan de entonces se puede definir el logaritmo de la los coeficientes del modelo. Esto es, si definimos \( r_i = y_i - \boldsymbol{x}'_i\hat{\boldsymbol\beta} \) función de verosimilitud basada en \( r_i \) la cual se conoce como función de verosimilitud restringida (REML).
\[ l_{REML}(\sigma^2;\boldsymbol y) = \frac{n-p}{2}log(\sigma^2)-\frac{1}{2\sigma^2}\sum_{i=1}^nr_i^2 \]
y
\[ \hat{\sigma}^2_{REML}=\frac{\sum_i^n(y_i-\hat{y}_i)^2}{n-p} \]
el cual coincide con el estimador de mínimos cuadrados. El estimador REML para \( \boldsymbol \beta \) es igual al estimador ML. Estas coincidencias son ciertas para el caso del modelo clásico (observaciones independientes y varianza constante) pero no surgen en modelos más complejos.
La matriz de covarianza del estimador de los coeficientes en el modelo clásico esta dada por
\[ Var(\hat {\boldsymbol \beta}) = \sigma^2 (\boldsymbol{X}'\boldsymbol{X})^{-1} \]
Un estimador para la matriz de covarianza esta dado por
\[ \hat{Var}(\hat {\boldsymbol \beta}) = \hat{\sigma}^2 (\boldsymbol{X}'\boldsymbol{X})^{-1} \]
donde \( \hat{\sigma}^2 \) puede ser el estimador LS, ML o REML de \( \sigma^2 \), dependiendo del método de estimación usado. También note que a pesar de que \( \hat{\boldsymbol\beta} \) basado en ML o REML son iguales sus matrices de covarianza estimadas no son iguales debido a la estimación de \( \sigma^2 \).
Usando la normalidad de \( \hat{\boldsymbol\beta} \) es posible llevar a cabo inferencia acerca de los parámetros en el modelo (\( \boldsymbol\beta \) y \( \sigma^2 \)). Esto incluye tanto llevar a cabo pruebas de hipótesis como intervalos de confianza usando las distribuciones clásicas derivadas de la normalidad tales como \( t \), \( \chi^2 \) y \( F \).
La mayoría de libros tradicionales de regresión hacen referencia a las técnicas de selección de variables tales como:
Forward
Backward
Stepwise
entre otras. A pesar de sus críticas, estas técnicas están implementadas en la mayoría de programas estadísticos tanto comerciales como gratuitos.
Algunas técnicas modernas de selección de modelos usan métodos de penalización para estimar los parámetros del modelo para aquellas variables que no son significativas las estimaciones de los coeficientes para estas variables son iguales a cero.
Por ejemplo, el famoso método o estimador LASSO (Least Absolute Selection and Shrinkage Operator) estima los coeficientes y al mismo tiempo selecciona variables al arrojar coeficientes iguales a 0 para las variables no relevantes en el modelo.
Para el modelo clásico el LASSO básicamente resuelve el siguiente problema que involucra la norma \( L_1 \) o valor absoluto en la penalidad de los coeficientes
\[ Q =\min_{\beta}\left(\frac{1}{2}SSE + \lambda \sum_k |\beta_k| \right) \]
donde \( \lambda \) es una constante de regularización también llamado un parámetro de ajuste (tuning parameter). Cuando \( \lambda = 0 \) entonces el problema de la función de minimización \( Q \), se reduce al método de mínimos cuadrados tradicional.
Otros ejemplos de estos métodos de regularización usan otras funciones de penalización tales como SCAD, LASSO adaptivo, entre otros.
Estos métodos están especialmente diseñados para problemas con dimensiones grandes en los cuales \( n << p \). Este tipo de problemas se ven frecuentemente en genética.
El método LASSO y algunos de sus semejantes se encuentran implementados en algunas librerías de R.
En este ejemplo se emplea el set de datos Hitters del paquete ISLR que contiene 19 variables con información técnica sobre jugadores de béisbol. El objetivo es encontrar el modelo que permita predecir con mayor precisión el salario de un jugador.
# Estructura de la base de datos
library(ISLR)
data(Hitters)
names(Hitters)
[1] "AtBat" "Hits" "HmRun" "Runs" "RBI"
[6] "Walks" "Years" "CAtBat" "CHits" "CHmRun"
[11] "CRuns" "CRBI" "CWalks" "League" "Division"
[16] "PutOuts" "Assists" "Errors" "Salary" "NewLeague"
str(Hitters) # tipo de datos
'data.frame': 322 obs. of 20 variables:
$ AtBat : int 293 315 479 496 321 594 185 298 323 401 ...
$ Hits : int 66 81 130 141 87 169 37 73 81 92 ...
$ HmRun : int 1 7 18 20 10 4 1 0 6 17 ...
$ Runs : int 30 24 66 65 39 74 23 24 26 49 ...
$ RBI : int 29 38 72 78 42 51 8 24 32 66 ...
$ Walks : int 14 39 76 37 30 35 21 7 8 65 ...
$ Years : int 1 14 3 11 2 11 2 3 2 13 ...
$ CAtBat : int 293 3449 1624 5628 396 4408 214 509 341 5206 ...
$ CHits : int 66 835 457 1575 101 1133 42 108 86 1332 ...
$ CHmRun : int 1 69 63 225 12 19 1 0 6 253 ...
$ CRuns : int 30 321 224 828 48 501 30 41 32 784 ...
$ CRBI : int 29 414 266 838 46 336 9 37 34 890 ...
$ CWalks : int 14 375 263 354 33 194 24 12 8 866 ...
$ League : Factor w/ 2 levels "A","N": 1 2 1 2 2 1 2 1 2 1 ...
$ Division : Factor w/ 2 levels "E","W": 1 2 2 1 1 2 1 2 2 1 ...
$ PutOuts : int 446 632 880 200 805 282 76 121 143 0 ...
$ Assists : int 33 43 82 11 40 421 127 283 290 0 ...
$ Errors : int 20 10 14 3 4 25 7 9 19 0 ...
$ Salary : num NA 475 480 500 91.5 750 70 100 75 1100 ...
$ NewLeague: Factor w/ 2 levels "A","N": 1 2 1 2 2 1 1 1 2 1 ...
Dimensión de la matriz de datos y nombre de las variables
dim(Hitters) # dimension
[1] 322 20
Veamos si los datos Hitters estan completos (no tienen NA)
1 - (sum(complete.cases(Hitters)) / nrow(Hitters))
[1] 0.18
El dataset contiene aproximadamente un 18\% de observaciones a las que les falta al menos una variable (missing value). Existen técnicas para manejar missing values pero en este caso simplemente se van a excluir los registros que no estén completos.
datos.Hitters <- na.omit(Hitters)
dim(datos.Hitters)
[1] 263 20
Creemos la matriz de diseño y el vector de respuesta
# x e y son la matriz modelo y el vector respuesta creados anteriormente con
# los datos de Hitters
X <- model.matrix(Salary~., data = datos.Hitters)[, -1]
y <- datos.Hitters$Salary
head(X)
AtBat Hits HmRun Runs RBI Walks Years CAtBat CHits
-Alan Ashby 315 81 7 24 38 39 14 3449 835
-Alvin Davis 479 130 18 66 72 76 3 1624 457
-Andre Dawson 496 141 20 65 78 37 11 5628 1575
-Andres Galarraga 321 87 10 39 42 30 2 396 101
-Alfredo Griffin 594 169 4 74 51 35 11 4408 1133
-Al Newman 185 37 1 23 8 21 2 214 42
CHmRun CRuns CRBI CWalks LeagueN DivisionW PutOuts
-Alan Ashby 69 321 414 375 1 1 632
-Alvin Davis 63 224 266 263 0 1 880
-Andre Dawson 225 828 838 354 1 0 200
-Andres Galarraga 12 48 46 33 1 0 805
-Alfredo Griffin 19 501 336 194 0 1 282
-Al Newman 1 30 9 24 1 0 76
Assists Errors NewLeagueN
-Alan Ashby 43 10 1
-Alvin Davis 82 14 0
-Andre Dawson 11 3 1
-Andres Galarraga 40 4 1
-Alfredo Griffin 421 25 0
-Al Newman 127 7 0
El proceso para realizar un ajuste mediante LASSO y la identificación del mejor valor de \( \lambda \) indicando en la función glmnet() que alpha=1.
library(glmnet)
library(ggfortify)
modelos_lasso = glmnet(X, y, family = "gaussian", alpha = 1)
autoplot(modelos_lasso)
Encontramos el valor lambda que reduce el MSE (means squre error) y gráficamos.
cv_error_lasso <- cv.glmnet(x = X, y = y, alpha = 1)
cv_error_lasso$lambda.1se
[1] 92
library(ggfortify)
plot(cv_error_lasso)
Reajuste del modelo final LASSO con el lamda óptimo
# Se reajusta el modelo con todas las observaciones empleando el valor de
# lambda optimo
modelo_final_lasso <- glmnet(x = X, y = y, alpha = 1, lambda = cv_error_lasso$lambda.1se)
coef(modelo_final_lasso)
20 x 1 sparse Matrix of class "dgCMatrix"
s0
(Intercept) 193.910
AtBat .
Hits 1.216
HmRun .
Runs .
RBI .
Walks 1.292
Years .
CAtBat .
CHits .
CHmRun .
CRuns 0.123
CRBI 0.321
CWalks .
LeagueN .
DivisionW .
PutOuts 0.025
Assists .
Errors .
NewLeagueN .
los datos Boston de la librería MASS, contiene las siguientes columnas:
realizar el mismo procedimiento para la selección de variables LASSO y comparar con cualquiera de los métodos anteriormente vistos en clase. (usar medv como variable respuesta y las demás variables como explicativas)
Cuando se quieren comparar dos modelos anidados se puede usar la teoría de verosimilitud.
Supongamos que queremos comparar dos modelos \( M_0 \) y \( M_1 \) donde \( M_0 \subset M_1 \) , es decir, los parámetros en el modelo \( M_0 \) se obtienen imponiendo restricciones a los parámetros de \( M_1 \) .
En otras palabras, el modelo \( M_0 \) es un caso especial del modelo \( M_1 \) . Por ejemplo, supongamos que tenemos los modelos lineales
\[ Y_i = \beta_0 + \beta_1X_1 + \beta_2X_2 +\varepsilon_i \qquad (M_1) \]
y
\[ Y_i = \beta_0 + \beta_1X_1 +\varepsilon_i \qquad (M_0) \]
Note que podemos obtener el modelo \( M_0 \) del modelo \( M_1 \) al agregar la restricción \( \beta_2 = 0 \).
En otras palabras, podemos probar cuál de los dos modelos es preferido usando los datos simplemente probando la hipótesis nula que
\[ H_0 : \beta_2 = 0vs. H_1 : \beta_2 \neq 0 \]
Este tipo de hipótesis se pueden probar usando la razón de verosimilitud. Suponga que \( l_0 \) y \( l_1 \) es el logaritmo de la verosimilitud bajo \( H_0 \) y \( H_1 \) , respectivamente.
\[ \Lambda_{LRT} = -2[l_0(\hat{\boldsymbol\theta}_0;datos) - l_1(\hat{\boldsymbol\theta}_1;datos)] \stackrel{asint.}{\sim} \chi_{p_1-p_2}^2, \]
donde \( p_0 \) y \( p_1 \) es el número de parámetros en \( \theta_0 \) y \( \theta_0 \), respectivamente.
Note que la distribución de \( \Lambda \) LRT es aproximada o asintótica (es decir, cuando \( n \rightarrow \infty \)).
En el caso de los modelos lineales vistos anteriormente, \( \theta \) incluiría tanto \( \beta \) como \( \sigma^2 \) .
Lo anterior significa que si rechazamos \( H_0 \) (modelo reducido) entonces la evidencia sugiere que el modelo completo en \( H_1 \) es preferido. De lo contrario, la evidencia sugiere que el modelo reducido es preferido.
Más adelante veremos algunos casos en los cuales la distribución asintótica del estadístico de prueba no se cumple (boundary space problem).
Finalmente, cuando queremos comparar dos modelos no anidados entonces recurrimos a los criterios de información. En el caso general estos criterios se definen como
\[ IC = -2L(\hat{\boldsymbol\theta};datos) + penalidad \]
Dependiendo de la penalidad que se use el criterio toma diferentes nombres. Asumamos que \( n \) es el número de individuos en la muestra y \( p \) es el número de parámetros en el modelo. Estos son los criterios comúnmente usados:
La idea es seleccionar el modelo con el valor más pequeño de BIC o AIC.