3 votos

Trazado del modelo lineal de la matriz del sombrero en R

Esta pregunta se refiere a la diferencia entre la suma de lm.influence(model)$hat y la traza de la matriz del sombrero $H := X (X' X)^{-1} X'$ calculado "a mano".

Tomemos por ejemplo el coches conjunto de datos y el modelo lineal $dist = \beta \cdot speed + \varepsilon$

data(cars)
mod <- lm(dist ~ speed, cars)

Utilizando lm.influence para calcular la traza obtengo 2. lm.influence se supone que devuelve los elementos diagonales de $H$ (ver ?lm.influence ).

sum(lm.influence(mod)$hat)
[1] 2

Calcular la traza de $H$ "a mano" obtengo 1:

X <- cars$speed
H <- X %*% solve(t(X) %*% X) %*% t(X)
sum(diag(H))
[1] 1

Desde mi punto de vista debería ser 1 como el rango de un vector de 1 columna $\equiv$ 1.

Para los modelos lineales, la traza de la matriz del sombrero es igual al rango de X, que es el número de parámetros independientes del modelo lineal. Fuente: http://en.wikipedia.org/wiki/Hat_matrix

7voto

Silverfish Puntos 6909

En R, el modelo lm(dist ~ speed, cars) incluye un término de intercepción automáticamente. Por lo tanto, se ha ajustado $dist = \beta_0 + \beta_1 speed + \epsilon$ .

Rara vez se quiere dejar el término de intercepción pero si lo hiciste, puedes hacer lm(dist ~ 0 + speed, cars) o incluso lm(dist ~ speed - 1, cars) . Ver esta pregunta en Stack Overflow para más detalles.

Sin el término de intercepción, obtenemos el resultado que coincide con el obtenido "a mano":

> data(cars)
> mod <- lm(dist ~ 0 + speed, cars)
> sum(lm.influence(mod)$hat)
[1] 1

Esto se puede ver geométricamente considerando la matriz del sombrero como una proyección ortogonal sobre el espacio de columnas de $X$ . Con el término de intercepción en su lugar, el espacio de columnas de $X$ está atravesado por $\mathbf{1}_n$ y el vector de observaciones para su variable explicativa, por lo que forma un plano bidimensional. Una proyección ortogonal sobre un espacio bidimensional tiene un rango de 2 - establezca sus vectores base de manera que dos se encuentren en el plano y los otros sean ortogonales a él, y su representación matricial se simplifica a $H = \text{diag}(1,1,0,0,...,0). $ Esto tiene claramente un rango 2 y una traza 2; nótese que ambos se conservan bajo el cambio de base, por lo que se aplican también a su matriz original del sombrero.

Dejar de lado el término de intercepción es como dejar de lado el $\mathbf{1}_n$ del conjunto de extensión, por lo que ahora su espacio de columnas de $X$ es unidimensional. Por un argumento similar, la matriz del sombrero tendrá rango 1 y traza 1.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X