Las hipótesis nulas son que TV, radio o periódico no tienen efecto en las ventas, es decir que sus respectivos valores de beta son cero. Los p-values para TV y radio son bajos, por lo que se rechaza la hipótesis nula y se dice que estos sí afectan. El p-value de periódico es alto, por lo que no se puede rechazar.
El clasificador busca crear categorías y resolver problemas de clasificación. La regresión KNN es un método no paramétrico para resolver problemas de regresión. Según el número de predictores se construyen las regiones para una función.
y = 50 + 20 * X1 + 0.07 * X2 + 35 * X3 + 0.01 * X4 - 10 * X5
Esto significa
y = 50 + 20 * GPA + 0.07 * IQ + 35 * Género + 0.01 * (GPA * IQ) - 10 * (GPA * Género)
Como hombre se representa con X3 = 0, entonces para los hombres:
y = 50 + 20 * GPA + 0.07 * IQ + 0.01 * (GPA * IQ)
Y para mujeres:
y = 50 + 20 * GPA + 0.07 * IQ + 35 + 0.01 * (GPA * IQ) - 10 * GPA = 85 + 10 * GPA + 0.07 * IQ + 0.01 * (GPA * IQ)
El GPA influye más en los hombres, 20 * GPA vs 10 * GPA, entonces con un GPA alto la opción que aplica es “iii. males earn more on average than females provided that the GPA is high enough”
y = 85 + 10 * 4.0 + 0.07 * 110 + 0.01 * (110 * 4.0) = 137.10
No se puede decir que el efecto es poco de esta forma, se debe probar la hipótesis nula, y ver el p-value correspondiente a este predictor
Si sabemos que la relación entre X y Y es lineal, es probable que el RSS de la regresión lineal sea menor al de la regresión cúbica.
No se tiene suficiente información pues no se conoce cómo son los datos de test
Una regresión polinomial es más flexible, por lo que su RSS suele ser menor que el de una lineal. La regresión cúbica tiene un RSS de training más bajo.
De nuevo no hay suficiente información. No conocemos la forma de la relación X y Y ni tenemos información sobre los datos de test.
. . .
Nuestra regresión es \[ y = \beta_0 + \beta_1X_1 \] Si sustituimos tenemos \[ y = \beta_0 + \beta_1\bar{x} = \bar{y}\] Al despejar obtenemos (3.4)
. . .
library(ISLR)
lm.fit <- lm(mpg ~ horsepower, data = Auto)
summary(lm.fit)
##
## Call:
## lm(formula = mpg ~ horsepower, data = Auto)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.5710 -3.2592 -0.3435 2.7630 16.9240
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 39.935861 0.717499 55.66 <2e-16 ***
## horsepower -0.157845 0.006446 -24.49 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.906 on 390 degrees of freedom
## Multiple R-squared: 0.6059, Adjusted R-squared: 0.6049
## F-statistic: 599.7 on 1 and 390 DF, p-value: < 2.2e-16
predict(lm.fit, data.frame(horsepower = 98), interval = "confidence")
## fit lwr upr
## 1 24.46708 23.97308 24.96108
predict(lm.fit, data.frame(horsepower = 98), interval = "prediction")
## fit lwr upr
## 1 24.46708 14.8094 34.12476
plot(Auto$horsepower, Auto$mpg, xlab = "horsepower", ylab = "mpg")
abline(lm.fit, col = "red")
plot(lm.fit)
Residuals vs Fitted: Parece tener forma cuadrática y no lineal Residuals vs Leverage: PUntos con alto leverage, muy separados de los demás
pairs(Auto)
# name es la novena variable
cor(Auto[1:8])
## mpg cylinders displacement horsepower weight
## mpg 1.0000000 -0.7776175 -0.8051269 -0.7784268 -0.8322442
## cylinders -0.7776175 1.0000000 0.9508233 0.8429834 0.8975273
## displacement -0.8051269 0.9508233 1.0000000 0.8972570 0.9329944
## horsepower -0.7784268 0.8429834 0.8972570 1.0000000 0.8645377
## weight -0.8322442 0.8975273 0.9329944 0.8645377 1.0000000
## acceleration 0.4233285 -0.5046834 -0.5438005 -0.6891955 -0.4168392
## year 0.5805410 -0.3456474 -0.3698552 -0.4163615 -0.3091199
## origin 0.5652088 -0.5689316 -0.6145351 -0.4551715 -0.5850054
## acceleration year origin
## mpg 0.4233285 0.5805410 0.5652088
## cylinders -0.5046834 -0.3456474 -0.5689316
## displacement -0.5438005 -0.3698552 -0.6145351
## horsepower -0.6891955 -0.4163615 -0.4551715
## weight -0.4168392 -0.3091199 -0.5850054
## acceleration 1.0000000 0.2903161 0.2127458
## year 0.2903161 1.0000000 0.1815277
## origin 0.2127458 0.1815277 1.0000000
lm.fit2 <- lm(mpg ~ . -name, data = Auto)
summary(lm.fit2)
##
## Call:
## lm(formula = mpg ~ . - name, data = Auto)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.5903 -2.1565 -0.1169 1.8690 13.0604
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -17.218435 4.644294 -3.707 0.00024 ***
## cylinders -0.493376 0.323282 -1.526 0.12780
## displacement 0.019896 0.007515 2.647 0.00844 **
## horsepower -0.016951 0.013787 -1.230 0.21963
## weight -0.006474 0.000652 -9.929 < 2e-16 ***
## acceleration 0.080576 0.098845 0.815 0.41548
## year 0.750773 0.050973 14.729 < 2e-16 ***
## origin 1.426141 0.278136 5.127 4.67e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.328 on 384 degrees of freedom
## Multiple R-squared: 0.8215, Adjusted R-squared: 0.8182
## F-statistic: 252.4 on 7 and 384 DF, p-value: < 2.2e-16
plot(lm.fit2)
Residuals vs Fitted: no parece tener forma lineal Residuals vs Leverage: Hay outliers, están encima de 2. Hay high leverage, el punto que está a la derecha.
# Las interacciones mas altas son
# cylinders vs displacement
# weight vs displacement
# weight vs cylinders
lm.fit2cor <- lm(mpg ~ cylinders * displacement + weight * displacement + weight * cylinders, data = Auto)
summary(lm.fit2cor)
##
## Call:
## lm(formula = mpg ~ cylinders * displacement + weight * displacement +
## weight * cylinders, data = Auto)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.1599 -2.5204 -0.3546 1.7851 17.8829
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.903e+01 6.743e+00 7.271 2.01e-12 ***
## cylinders 1.851e+00 2.075e+00 0.892 0.37289
## displacement -9.357e-02 3.919e-02 -2.387 0.01746 *
## weight -8.351e-03 3.026e-03 -2.759 0.00607 **
## cylinders:displacement -2.026e-03 3.826e-03 -0.529 0.59682
## displacement:weight 2.499e-05 8.250e-06 3.029 0.00262 **
## cylinders:weight -3.801e-04 6.720e-04 -0.566 0.57197
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.106 on 385 degrees of freedom
## Multiple R-squared: 0.7275, Adjusted R-squared: 0.7232
## F-statistic: 171.3 on 6 and 385 DF, p-value: < 2.2e-16
weight y displacement*weight afectan bastante al resultado, las demás correlaciones no
# según su t-statistic, weight era la variable que más afectaba
plot(Auto$weight, Auto$mpg)
plot(log(Auto$weight), Auto$mpg)
plot(sqrt(Auto$weight), Auto$mpg)
plot((Auto$weight)^2, Auto$mpg)
Elevar al cuadrado hace que parezca menos lineal. Logaritmo lo hace parecer más lineal.