148 votos

Aumenta la eliminación del término de intercepción estadísticamente significativa $R^2$ en el modelo lineal

En un simple modelo lineal con una sola variable explicativa,

$\alpha_i = \beta_0 + \beta_1 \delta_i + \epsilon_i$

Me parece que la eliminación del término de intersección mejora el ajuste en gran medida (valor de $R^2$ va de 0.3 a 0.9). Sin embargo, el término de intersección parece ser estadísticamente significativa.

Con intersección:

Call:
lm(formula = alpha ~ delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.72138 -0.15619 -0.03744  0.14189  0.70305 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.48408    0.05397    8.97   <2e-16 ***
delta        0.46112    0.04595   10.04   <2e-16 ***
---
Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1 

Residual standard error: 0.2435 on 218 degrees of freedom
Multiple R-squared: 0.316,    Adjusted R-squared: 0.3129 
F-statistic: 100.7 on 1 and 218 DF,  p-value: < 2.2e-16

Sin interceptar:

Call:
lm(formula = alpha ~ 0 + delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.92474 -0.15021  0.05114  0.21078  0.85480 

Coefficients:
      Estimate Std. Error t value Pr(>|t|)    
delta  0.85374    0.01632   52.33   <2e-16 ***
---
Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1 

Residual standard error: 0.2842 on 219 degrees of freedom
Multiple R-squared: 0.9259,   Adjusted R-squared: 0.9256 
F-statistic:  2738 on 1 and 219 DF,  p-value: < 2.2e-16

¿Cómo interpretar estos resultados? Debe un término de intersección ser incluidos en el modelo o no?

Editar

Aquí está el residual de las sumas de cuadrados:

RSS(with intercept) = 12.92305
RSS(without intercept) = 17.69277

186voto

giulio Puntos 166

Primero que todo, debemos entender lo que el R el software está haciendo cuando no interceptar se incluye en el modelo. Recordemos que el habitual de cálculo de $R^2$ cuando una intercepción está presente es $$ R^2 = \frac{\sum_i (\hat y_i - \bar y)^2}{\sum_i (y_i - \bar y)^2} = 1 - \frac{\sum_i (y_i - \hat y_i)^2}{\sum_i (y_i - \bar y)^2} \>. $$ La primera igualdad sólo se produce debido a la inclusión de la intercepto en el modelo, aunque este es probablemente el más popular de las dos formas de escritura. La segunda igualdad en realidad proporciona más en general, de la interpretación! Este punto es también la dirección en este relacionados con la pregunta.

Pero, ¿qué sucede si no hay ninguna intercepción en el modelo?

Bueno, en ese caso, R (silencio!) utiliza el formulario modificado $$ R_0^2 = \frac{\sum_i \hat y_i^2}{\sum_i y_i^2} = 1 - \frac{\sum_i (y_i - \hat y_i)^2}{\sum_i y_i^2} \>. $$

It helps to recall what $R^2$ es tratando de medir. En la antigua caso, que se está comparando el modelo actual para la referencia modelo que sólo incluye una intersección (es decir, el término constante). En el segundo caso, no hay ninguna intercepción, por lo que tiene poco sentido comparar a un modelo. En vez de eso, $R_0^2$ se calcula, que implícitamente se utiliza un modelo de referencia correspondiente a sólo ruido.

En lo que sigue a continuación, me voy a centrar en la segunda expresión para ambos $R^2$$R_0^2$, ya que la expresión se generaliza a otros contextos y, por lo general más natural para pensar las cosas en términos de residuos.

Pero, ¿cómo son diferentes, y cuando?

Echemos una breve digresión en algunos de álgebra lineal y a ver si nos vemos puede averiguar lo que está pasando. Primero de todo, vamos a llamar a la equipada los valores de la modelo con intercepto $\newcommand{\yhat}{\hat {\mathbf y}}\newcommand{\ytilde}{\tilde {\mathbf y}}\yhat$ y el ajustar los valores de la modelo sin intercepto $\ytilde$.

Podemos reescribir las expresiones para $R^2$ $R_0^2$ $$\newcommand{\y}{\mathbf y}\newcommand {\} {\mathbf 1} R^2 = 1 - \frac{\|\y \yhat\|_2^2}{\|\y - \bar y \uno\|_2^2} \>, $$ y $$ R_0^2 = 1 - \frac{\|\y \ytilde\|_2^2}{\|\y\|_2^2} \>, $$ respectivamente.

Ahora, desde la $\|\y\|_2^2 = \|\y - \bar y \one\|_2^2 + n \bar y^2$, $R_0^2 > R^2$ si y sólo si $$ \frac{\|\y \ytilde\|_2^2}{\|\y - \yhat\|_2^2} < 1 + \frac{\bar y^2}{\frac{1}{n}\|\y - \bar y \uno\|_2^2} \> . $$

El lado izquierdo es mayor que uno, puesto que el modelo correspondiente a $\ytilde$ está anidada dentro de la de $\yhat$. El segundo término en la lado derecho es el cuadrado de la media de las respuestas dividido por el error cuadrático medio de una intercepción-sólo modelo. Así, el más grande de la media de la respuesta en relación a la otra variación, el más "flojo" que tenemos y a una mayor probabilidad de $R_0^2$ dominando $R^2$.

Observe que todos los el modelo que dependen de la materia que está en el lado izquierdo y no dependiente del modelo la materia que está a la derecha.

Ok, así que ¿cómo hacemos para que la relación en el lado izquierdo de la pequeña?

Recordemos que $\newcommand{\P}{\mathbf P}\ytilde = \P_0 \y$ $\yhat = \P_1 \y$ donde $\P_0$ $\P_1$ matrices de proyección correspondiente a los subespacios $S_0$ $S_1$ tal que $S_0 \subset S_1$.

Así, con el fin de la relación para estar cerca de uno, necesitamos los subespacios $S_0$ $S_1$ a ser muy similares. Ahora $S_0$ $S_1$ sólo se diferencian por si $\one$ es una base de vectores o no, lo que significa que $S_0$ mejor que ser un subespacio que ya se encuentra muy cerca de a $\one$.

En esencia, esto significa que nuestro predictor es mejor tener un fuerte significa desplazamiento en sí mismo y que este medio de desplazamiento debe dominar la variación del predictor.

Un ejemplo

Aquí tratamos de generar un ejemplo con una intercepción de forma explícita en el modelo y que se comporta de cerca el caso de la pregunta. A continuación se muestra algunos simple R código para demostrar.

set.seed(.Random.seed[1])

n <- 220
a <- 0.5
b <- 0.5
se <- 0.25

# Make sure x has a strong mean offset
x <- rnorm(n)/3 + a
y <- a + b*x + se*rnorm(x)

int.lm   <- lm(y~x)
noint.lm <- lm(y~x+0)  # Intercept be gone!

# For comparison to summary(.) output
rsq.int <- cor(y,x)^2
rsq.noint <- 1-mean((y-noint.lm$fit)^2) / mean(y^2)

Esto da el siguiente resultado. Comenzamos con el modelo con intercepto.

# Include an intercept!
> summary(int.lm)

Call:
lm(formula = y ~ x)

Residuals:
      Min        1Q    Median        3Q       Max
-0.656010 -0.161556 -0.005112  0.178008  0.621790

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  0.48521    0.02990   16.23   <2e-16 ***
x            0.54239    0.04929   11.00   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.2467 on 218 degrees of freedom
Multiple R-squared: 0.3571,     Adjusted R-squared: 0.3541
F-statistic: 121.1 on 1 and 218 DF,  p-value: < 2.2e-16

A continuación, veremos lo que pasa cuando se excluye la intersección.

# No intercept!
> summary(noint.lm)

Call:
lm(formula = y ~ x + 0)

Residuals:
     Min       1Q   Median       3Q      Max
-0.62108 -0.08006  0.16295  0.38258  1.02485

Coefficients:
  Estimate Std. Error t value Pr(>|t|)
x  1.20712    0.04066   29.69   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3658 on 219 degrees of freedom
Multiple R-squared: 0.801,      Adjusted R-squared: 0.8001
F-statistic: 881.5 on 1 and 219 DF,  p-value: < 2.2e-16

Abajo es un dibujo de los datos con el modelo con intercepto en rojo, y el modelo sin intercepto en azul.

Data plot with regression lines

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