¿Qué es la matriz y apalancamiento de Hat en la regresión múltiple clásica? ¿Cuáles son sus roles? ¿Y por qué usarlos?

Explíquelos o proporcione referencias de libros / artículos satisfactorios para comprenderlos.

Comentarios

Respuesta

La matriz de sombrero, $ \ bf H $ , es la matriz de proyección que expresa los valores de las observaciones en la variable independiente, $ \ bf y $ , en términos de las combinaciones lineales de los vectores de columna de la matriz del modelo, $ \ bf X $ , que contiene las observaciones de cada una de las múltiples variables en las que está retrocediendo.

Naturalmente, $ \ bf y $ normalmente no estará en el espacio de columna de $ \ bf X $ y habrá una diferencia entre esta proyección, $ \ bf \ hat Y $ y los valores reales de $ \ bf Y $ . Esta diferencia es el residuo o $ \ bf \ varepsilon = YX \ beta $ :

ingrese la descripción de la imagen aquí

Los coeficientes estimados, $ \ bf \ hat \ beta_i $ se entienden geométricamente como la combinación lineal de los vectores de columna (observaciones sobre las variables $ \ bf x_i $ ) necesarias para producir el vector proyectado $ \ bf \ hat Y $ . Tenemos ese $ \ bf H \, Y = \ hat Y $ ; de ahí el mnemónico, " la H pone el sombrero en la y. "

La matriz del sombrero se calcula como : $ \ bf H = X (X ^ TX) ^ {- 1} X ^ T $ .

Y el $ \ bf \ hat \ beta_i $ se calcularán naturalmente como $ \ bf (X ^ TX) ^ {- 1} X ^ T $ .

Cada punto del conjunto de datos intenta tirar de la línea de mínimos cuadrados ordinarios (MCO) hacia sí mismo. Sin embargo, los puntos más alejados en el extremo de los valores regresores tendrán más apalancamiento. Aquí hay un ejemplo de un punto extremadamente asintótico (en rojo) que realmente aleja la línea de regresión de lo que sería un ajuste más lógico:

ingrese la descripción de la imagen aquí

Entonces, ¿dónde está la conexión entre estos dos conceptos: la puntuación de apalancamiento de una fila en particular o La observación en el conjunto de datos se encontrará en la entrada correspondiente en la diagonal de la matriz del sombrero. Entonces, para la observación $ i $ , la puntuación de apalancamiento se encontrará en $ \ bf H_ {ii} $ . Esta entrada en la matriz hat tendrá una influencia directa en la forma en que la entrada $ y_i $ dará como resultado $ \ hat y_i $ (alto apalancamiento de la $ i \ text {-th} $ observación $ y_i $ para determinar su propio valor de predicción $ \ hat y_i $ ):

ingrese la descripción de la imagen aquí

Dado que la matriz de sombrero es una matriz de proyección, sus valores propios son $ 0 $ y $ 1 $ . Se deduce entonces que la traza (suma de elementos diagonales, en este caso la suma de $ 1 $ «s) será el rango del espacio de la columna, mientras que» habrá tantos ceros como la dimensión del espacio nulo. Por lo tanto, los valores en la diagonal de la matriz hat serán menores que uno (trace = suma de valores propios), y se considerará que una entrada tiene un alto apalancamiento si $ > 2 \ sum_ {i = 1} ^ {n} h_ {ii} / n $ siendo $ n $ el número de filas.

El apalancamiento de un punto de datos atípicos en la matriz del modelo también se puede calcular manualmente como uno menos la relación del residual para el valor atípico cuando el valor atípico real se incluye en el modelo MCO sobre el residual para el mismo punto cuando la curva ajustada se calcula sin incluir la fila correspondiente al valor atípico: $$ Apalancamiento = 1- \ frac {\ text {MCO residual con valor atípico}} {\ text {MCO residual sin valor atípico}} $$ En R, la función hatvalues() devuelve estos valores para cada punto.

Usando el primer punto de datos en el conjunto de datos {mtcars} en R:

 fit = lm(mpg ~ wt, mtcars) # OLS including all points X = model.matrix(fit) # X model matrix hat_matrix = X%*%(solve(t(X)%*%X)%*%t(X)) # Hat matrix diag(hat_matrix)[1] # First diagonal point in Hat matrix fitwithout1 = lm(mpg ~ wt, mtcars[-1,]) # OLS excluding first data point. new = data.frame(wt=mtcars[1,"wt"]) # Predicting y hat in this OLS w/o first point. y_hat_without = predict(fitwithout1, newdata=new) # ... here it is. residuals(fit)[1] # The residual when OLS includes data point. lev = 1 - (residuals(fit)[1]/(mtcars[1,"mpg"] - y_hat_without)) # Leverage all.equal(diag(hat_matrix)[1],lev) #TRUE 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *