Este equipo de trabajo ha estado mucho tiempo investigando para darle soluciones a tu interrogante, te regalamos la solución por esto esperamos que sea de gran apoyo.
Solución:
Muchos de los operadores utilizados en las fórmulas del modelo (asterisco, más, signo de intercalación) en R tienen un significado específico del modelo y este es uno de ellos: el símbolo ‘uno’ indica una intersección.
En otras palabras, es el valor que se espera que tenga la variable dependiente cuando las variables independientes son cero o no tienen influencia. (Para usar el significado matemático más común de los términos del modelo, los envuelve en I()
). Las intersecciones generalmente se asumen, por lo que es más común verlo en el contexto de establecer explícitamente un modelo sin una intersección.
Aquí hay dos formas de especificar el mismo modelo para un modelo de regresión lineal de y sobre x. El primero tiene un término de intersección implícito y el segundo uno explícito:
y ~ x
y ~ 1 + x
Aquí hay formas de dar una regresión lineal de y en x a través del origen (es decir, sin un término de intersección):
y ~ 0 + x
y ~ -1 + x
y ~ x - 1
En el caso específico que menciona ( y ~ 1 ), y no está siendo predicho por ninguna otra variable, por lo que la predicción natural es la media de y, como dijo Paul Hiemstra:
> data(city)
> r <- lm(x~1, data=city)
> r
Call:
lm(formula = x ~ 1, data = city)
Coefficients:
(Intercept)
97.3
> mean(city$x)
[1] 97.3
Y quitando el intercepto con un -1
te deja sin nada:
> r <- lm(x ~ -1, data=city)
> r
Call:
lm(formula = x ~ -1, data = city)
No coefficients
formula()
es una función para extraer fórmulas de objetos y su archivo de ayuda no es el mejor lugar para leer sobre la especificación de fórmulas modelo en R. Le sugiero que consulte esta explicación o el Capítulo 11 de Introducción a R.
si tu modelo fuera de la forma y ~ x1 + x2
Esto (en términos generales) representa:
y = β0 + β1(x1) + β2(x2)
Which is of course the same as
y = β0(1) + β1(x1) + β2(x2)
Hay un implícito +1
en la fórmula anterior. Así que realmente, la fórmula anterior es y ~ 1 + x1 + x2
Podríamos tener una fórmula muy simple, en la que y no depende de ninguna otra variable. Esta es la fórmula a la que hace referencia,
y ~ 1
que equivaldría aproximadamente a
y = β0(1) = β0
Como señala @Paul, cuando resuelves el modelo simple, obtienes β0 = mean (y)
Aquí hay un ejemplo
# Let's make a small sample data frame
dat <- data.frame(y= (-2):3, x=3:8)
# Create the linear model as above
simpleModel <- lm(y ~ 1, data=dat)
## COMPARE THE COEFFICIENTS OF THE MODEL TO THE MEAN(y)
simpleModel$coef
# (Intercept)
# 0.5
mean(dat$y)
# [1] 0.5
En general, dicha fórmula describe la relación entre las variables dependientes e independientes en forma de modelo lineal. El lado izquierdo son las variables dependientes, el lado derecho las independientes. Las variables independientes se utilizan para calcular el componente de tendencia del modelo lineal, luego se supone que los residuos tienen algún tipo de distribución. Cuando los independientes son iguales a uno ~ 1
el componente de tendencia es un valor único, por ejemplo, el valor medio de los datos, es decir, el modelo lineal solo tiene una intersección.
Si aceptas, puedes dejar un artículo acerca de qué le añadirías a esta crónica.