Supongamos que tenemos un conjunto de datos con 5 variables en el espacio \(\mathcal{X}\): \(X_1=GPA, \ X_2=IQ, \ X_3=Genero, \ X_4=Interacción \ X_1*X_2, \ X_5=Interacción \ X_1*X_3\).
La variable dependiente es el primer salario después de graduarse. Supongamos que ajustamos un modelo de regresión lineal y obtenemos:
¿Cuál de las siguientes es correcta y por qué?
1.1 Para valores fijos de IQ y GPA, los hombres ganan, en promedio, más que las mujeres.
1.2 Para valores fijos de IQ y GPA, las mujeres ganan, en promedio, más que los hombres.
1.3 Para valores fijos de IQ y GPA, los hombres ganan, en promedio, más que las mujeres siempre que el GPA sea suficientemente alto.
1.4 Para valores fijos de IQ y GPA, las mujeres ganan, en promedio, más que los hombres siempre que el GPA sea suficientemente alto.
Respuesta:
Opción 3. Para valores fijos de IQ y GPA, los hombres ganan, en promedio, más que las mujeres siempre que el GPA sea suficientemente alto.
Esto porque al fijar los valores de IQ y GPA, es la variable de Género la que puede variar (ya que \(X_4\) y \(X_5\) son interacciones que dependen de las variables fijas), entonces hay que ver como esta afecta al modelo. Primero, supongamos que \(A\) es el monto base que recibe un trabajador sin importar el sexo, con las variables IQ y GPA fijas. \(A\) no toma en cuenta \(X_3\) ni \(X_5\), ya que estas dependen de la variable Género.
Ahora, empezando el análisis, si \(X_3\) es igual a 1, tenemos que ese registro es una mujer y como \(\beta_3=35\), el sueldo de la mujer es \(A+35\), a diferencia del sueldo de un hombre que sería \(A\). Pero esto no acaba aquí, \(\beta_5=-10\), esto se interpreta de la siguiente forma: como \(X_5=X_1*X_3\), por cada aumento de un punto en el GPA, el sueldo de la mujer baja en 10 unidades, pudiendo bajar hasta un máximo de 40 (ya que el valor máximo del GPA es 4), por lo que contrarestaría el aumento de 35 unidades que mencionamos anteriormente.
Para esto, hay que sustituir los valores en la ecuación del modelo lineal:
iq <- 110
gpa <- 4
genero <- 1 # mujer
y <- 50 + 20*gpa + 0.07*iq + 35*genero + 0.01*gpa*iq - 10*gpa*genero
Entonces, tenemos que el sueldo esperado para una mujer con IQ de 110 y un GPA de 4.0 es de 137.1 unidades monetarias.
Falso: a pesar de que la beta es muy pequeña, eso no es prueba estadística de nada, solo es un valor obtenido por los calculos del modelo. Para probar o refutar la existencia de la interacción hay que fijarnos en el summary del modelo y ver la significancia de la variable.
Considere una regresión lineal sin intercepto, es decir \[y_i=x_i\beta\]
con \[\displaystyle \beta=\frac{\sum_{i=1}^nx_iy_i}{\sum_{i'=1}^nx_{i'}^2}\]
Muestre que podemos escribir: \[y_i = \sum_{i'=1}^na_{i'}y_{i'}\]
Demostración. Sustituimos \(\beta\) en la ecuación \(y_i=x_i\beta\)
\[ y_i = x_i\left( \frac{\sum_{i=1}^nx_iy_i}{\sum_{i'=1}^nx_{i'}^2} \right) = \frac{x_i}{\sum_{i'=1}^nx_{i'}^2}\left( \sum_{i=1}^nx_iy_i \right) = A \left(\sum_{i=1}^nx_iy_i \right) = \sum_{i=1}^nAx_iy_i = \sum_{i=1}^n a_iy_i \] ¿Quién es \(a_i\)?
\[ a_i = Ax_i = \frac{x_i}{\sum_{i'=1}^nx_{i'}^2} \left(x_i\right) = \frac{x^2_i}{\sum_{i'=1}^nx_{i'}^2} \]
Pruebe que en el caso de regresión lineal simple, la \(R^2\) es igual al cuadrado de la correlación entre \(x\) y \(y\)
Demostración. Primero, ponemos algunas definiciones
\[ R^{2}=\frac{\sum_{i=1}^{n}\left(\hat{y}_{i}-\bar{y}\right)^{2}}{\sum_{i=1}^{n}\left(y_{i}-\bar{y}\right)^{2}} \quad \hat{\beta}=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \quad \hat{y}_i = \hat{\alpha} + \hat{\beta}x_i \]
Ahora, probamos la siguiente igualdad
\[\begin{align*} \sum_{i=1}^{n}\left(\hat{y}_{i}-\bar{y}\right)^{2} &=\sum_{i=1}^{n}\left(\hat{\alpha}+\hat{\beta} x_{i}-\bar{y}\right)^{2} \\ &=\sum_{i=1}^{n}\left(\bar{y}-\hat{\beta} \bar{x}+\hat{\beta} x_{i}-\bar{y}\right)^{2} \\ &=\hat{\beta}^{2} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2} \\ &=\frac{\left[\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)\right]^{2} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}{\left[\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}\right]^{2}} \\ &=\frac{\left[\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)\right]^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \end{align*}\]
Esto lo sustituimos en en la fórmula de \(R^2\)
\[\begin{align*} R^{2} &=\frac{\sum_{i=1}^{n}\left(\hat{y}_{i}-\bar{y}\right)^{2}}{\sum_{i=1}^{n}\left(y_{i}-\bar{y}\right)^{2}} \\ &=\frac{\left[\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)\right]^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2} \sum_{i=1}^{n}\left(y_{i}-\bar{y}\right)^{2}} \\ &=\left(\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)}{\sqrt{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2} \sum_{i=1}^{n}\left(y_{i}-\bar{y}\right)^{2}}}\right)^{2} \\ &= \left( \frac{Cov(x,y)}{\sqrt{Var(x)Var(y)}} \right)^2 \end{align*}\]
Y esa es la definición al cuadrado de \(Cor(x,y)\), por lo que terminamos la demostración.
La siguiente tabla corresponde a la salida de un modelo de regresión con el cual se busca explicar ventas con inversiones en marketing en TV, radio y periódicos.
Coefficient | Std. error | t-statistic | p-value | |
---|---|---|---|---|
Intercept | 2.939 | 0.3119 | 9.42 | < 0.0001 |
TV | 0.046 | 0.0014 | 32.81 | < 0.0001 |
radio | 0.189 | 0.0086 | 21.89 | < 0.0001 |
newspaper | −0.001 | 0.0059 | −0.18 | 0.8599 |
Describa la hipótesis nula que se realiza. Explique que conclusiones puede obtener basado en la tabla (la explicación no debe ser técnica).
Respuesta: La tabla mostrada es un resumen de la regresión lineal ¿Qué podemos entender de ella? Varias cosas importantes.
No sabemos el nombre de a variable que queremos explicar, pero sabemos que intentamos explicarla con 3 variables, por lo que es una regresión lineal múltiple
La primera columna nos da los coeficientes de la regresión, que queda de la siguiente forma
\[ y_i = 2.939 + 0.046x_1 + 0.189x_2 - 0.001x_3 \] 3. También nos dice las variables que son significativas para el modelo
Para explicar mejor el último punto, primero hay que mencionar algo ¿a qué me refiero con “significativo”? Bueno, cuando se construye toda esta teoría de la regresión, se crean pruebas para ver que tan bueno es nuestro modelo y una de estas sirve para ver cuales variables deberían de quedarse en el modelo y cuales no. Planteamos una hipótesis nula que dice que el coeficiente de \(x_i\) sea igual a 0. Si aceptamos esta hipótesis, quiere decir que esa variable no debería ir en el modelo, ya que su coeficiente es igual a 0, pero si no la aceptamos, podemos decir que la evidencia estadística no nos dice que debamos de sacar esa variable. Pero ¿cómo sabemos que variable cumple la hipótesis nula (se va del modelo)? Para eso, nos fijamos en la última columna, si el valor es muy pequeño (normalmente menor a 0.05) entonces no aceptamos la hipótesis nula y la variable se puede quedar en el modelo.
Ya explicado todo esto y aplicando esta teoría en este ejmplo, tenemos que todas las variables se quedan excepto newspaper
, ya que su \(p-value\) es muy grande.
Para el modelo de regresión logística pruebe que si: \[p(X)=\frac{e^{\beta_0+\beta_1X}}{1+e^{\beta_0+\beta_1X}}\] entonces: \[\frac{p(X)}{1-p(X)}=e^{\beta_0+\beta_1X}\]
Demostración. Primero, veamos a que es igual \(1-p(X)\)
\[ 1-p(X) = 1 - \frac{e^{\beta_0+\beta_1X}}{1+e^{\beta_0+\beta_1X}} = \frac{1+e^{\beta_0+\beta_1X} - e^{\beta_0+\beta_1X}}{1+e^{\beta_0+\beta_1X}} = \frac{1}{1+e^{\beta_0+\beta_1X}} \] Entonces, ya podemos sustituir eso en el cociente de arriba
\[ \frac{p(X)}{1-p(X)} = \frac{\frac{e^{\beta_0+\beta_1X}}{1+e^{\beta_0+\beta_1X}}}{\frac{1}{1+e^{\beta_0+\beta_1X}}} = \frac{(e^{\beta_0+\beta_1X})(1+e^{\beta_0+\beta_1X})}{1+e^{\beta_0+\beta_1X}} = e^{\beta_0+\beta_1X} \]
Suponga que recolectamos datos para un grupo de estudiantes de una clase del seminario de estadística y medimos \(X_1=horas \ de\ estudio, \ X_2=promedio, \ Y = sacará \ 10\). Ajustamos un modelo de regresión logística y obtenemos:
\(\beta_0=-6\)
\(\beta_1=0.05\)
\(\beta_2=1\)
Respuesta:
b0 = -6
b1 = 0.05
b2 = 1
he = 40
prom = 9
y <- b0 + b1*he + b2*prom
p <- exp(y)/(1+exp(y))
Entonces tenemos que la probabilidad de que el estudiante saque 10 en la clase es de 0.9933.
Respuesta: 0.9933 es una buena probabilidad, pero si el alumno prefiere estudiar menos, puede arriesgarse, siempre y cuando no pase su límite (digamos \(p=0.6\)).
p1 <- 0.6
y1 <- log(p1/(1-p1))
study <- (y1 - b2*prom - b0)/b1
Entonces, para asegurar una probabilidad de 0.6 de sacar 10 en la clase, el estudiante tiene que estudiar -51.8907. Esto se ve mal ¿acaso va a “desestudiar” -51.8907 horas? No exactamente, el resultado tiene sentido matemáticamente hablando, pero en la práctica no. Veamos que pasa si el estudiante estudia 0 horas para el examen.
he = 0
y <- b0 + b1*he + b2*prom
p2 <- exp(y)/(1+exp(y))
Tenemos que la probabilidad de que saque 10 sin estudiar es de 0.9526, apenas cambió. Así podemos ver que tiene un 10 casi seguro, ni siquiera vale la pena que estudie, ya que 40 horas de trabajo aumentaron su probabilidad apenas 0.0407. Es también esta la razón que tengamos horas negativas de estudio, su promedio es fijo (de ñoño btw) y para bajar la probabilidad hasta 0.6 depende de las horas de estudio.
Este ejercicio debe hacerse con los datos Weekly del paquete ISLR
.
library(ISLR)
## Warning: package 'ISLR' was built under R version 3.6.3
library(MASS)
library(ggplot2)
w <- Weekly
w1 <- w[,-c(1,8)]
mod1 <- glm(Direction ~ ., family = 'binomial', data = w1)
summary(mod1)
##
## Call:
## glm(formula = Direction ~ ., family = "binomial", data = w1)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.6949 -1.2565 0.9913 1.0849 1.4579
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.26686 0.08593 3.106 0.0019 **
## Lag1 -0.04127 0.02641 -1.563 0.1181
## Lag2 0.05844 0.02686 2.175 0.0296 *
## Lag3 -0.01606 0.02666 -0.602 0.5469
## Lag4 -0.02779 0.02646 -1.050 0.2937
## Lag5 -0.01447 0.02638 -0.549 0.5833
## Volume -0.02274 0.03690 -0.616 0.5377
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1496.2 on 1088 degrees of freedom
## Residual deviance: 1486.4 on 1082 degrees of freedom
## AIC: 1500.4
##
## Number of Fisher Scoring iterations: 4
Viendo el summary, no parece el mejor modelo, hay muchas variables poco significativas (variables que es probable que no deban de estar en el modelo). Además, los indicadores de si el modelo es bueno o no, no son favorables, tenemos una devianza y un AIC muy altos, valores que mientras más bajos sean, mejor.
train <- Weekly[Weekly$Year!=2009 & Weekly$Year != 2008,]
test <- Weekly[Weekly$Year==2009 | Weekly$Year == 2008,]
mod2 <- glm(Direction ~ Lag2, family = 'binomial', data = train)
Ya entrenamos el modelo, ahora hay que probarlo. Para eso, primero hay que definir la probabilidad de corte
ggplot(train, aes(x=Lag2)) + geom_point(aes(y=Direction, colour=Direction)) +
geom_line(aes(y=mod2$fitted.values+1))
Con el modelo que creamos, no se ve un comportamiento muy claro para la probabilidad y es difícil definir un punto de corte.No hay una diferencia clara entre los registros con “Up” y “Down”,por lo que ajustar un modelo logístico puede ser complicado.