A continuación se encuentran las respuestas y su código correspondiente a los enunciados presentados en la sexta sesión de Ejercicio del Ramo de Estadística Computacional.
Se utilizará el dataset airquality, analizando las variables Ozone (Promedio de ozono en partes por miles de millones) y Temp (Temperatura máxima en grados Fahrenheit).
data(airquality)
#Se grafican las variables Ozone vs Temperatura.
plot(Temp~Ozone, data=airquality)
#Se calcula su regresión lineal
lm.fit=lm(Temp~Ozone, data=airquality)
lm.fit
##
## Call:
## lm(formula = Temp ~ Ozone, data = airquality)
##
## Coefficients:
## (Intercept) Ozone
## 69.4107 0.2008
#Se grafica la regresión lineal
plot(Temp~Ozone, data=airquality)
abline(69.4107, 0.2008, col="blue")
#Aquí se predicen los datos de pw para la regresión lineal de Ozone y Temp.
pw<-c(50, 78, 120, 124, 152)
predict.lm(lm.fit, data.frame(Ozone=pw))
## 1 2 3 4 5
## 79.45120 85.07387 93.50788 94.31112 99.93379
#Se agregan los nuevos datos con su predicción al data.frame
datos <- data.frame(airquality$Ozone, airquality$Temp)
datos <- rbind(datos, c(50, 79.45120))
datos <- rbind(datos, c(78, 85.07387))
datos <- rbind(datos, c(120, 93.50788))
datos <- rbind(datos, c(124, 94.31112))
datos <- rbind(datos, c(152, 99.93379))
#Se grafican los nuevos datos
plot(airquality.Temp~airquality.Ozone, data=datos)
lm.fit=lm(airquality.Temp~airquality.Ozone, data=datos)
lm.fit
##
## Call:
## lm(formula = airquality.Temp ~ airquality.Ozone, data = datos)
##
## Coefficients:
## (Intercept) airquality.Ozone
## 69.4107 0.2008
Se puede apreciar que, agregando los nuevos datos al data.frame, los coeficientes de su regresión se mantienen. Esto es lo esperado, ya que los datos de la predicción son creados a partir de la ecuación conseguida de la regresión. Esto se aprecia al observar la imagen de las variables airquality.Ozone en el gráfico, que aparecen sobre la recta de regresión.
#Se grafica la nueva regresión lineal
plot(airquality.Temp~airquality.Ozone, data=datos)
abline(69.4107, 0.2008, col="blue")
#### Actividad 3: Tome un punto cualquiera de su conjunto de datos y
multiplíquelo por 100, calcule nuevamente la regresión lineal simple ¿Se
observa algún cambio en los coeficientes?
#Se multiplica un dato por 100.
datos2 <- data.frame(airquality$Ozone, airquality$Temp)
#Se agrega el dato multiplicado
datos2 <- rbind(datos2, c(50*100, 79.45120))
datos2 <- rbind(datos2, c(78, 85.07387))
datos2 <- rbind(datos2, c(120, 93.50788))
datos2 <- rbind(datos2, c(124, 94.31112))
datos2 <- rbind(datos2, c(152, 99.93379))
#Se grafican los nuevos datos
plot(airquality.Temp~airquality.Ozone, data=datos2)
lm.fit=lm(airquality.Temp~airquality.Ozone, data=datos2)
lm.fit
##
## Call:
## lm(formula = airquality.Temp ~ airquality.Ozone, data = datos2)
##
## Coefficients:
## (Intercept) airquality.Ozone
## 78.266755 0.001448
Se obtiene que los coeficientes cambian por completo, entregando una ecuación que no representa la correlación de los datos, debido a este valor modificado.
#Se grafica la nueva regresión lineal
plot(airquality.Temp~airquality.Ozone, data=datos2)
abline(78.266755, 0.001448, col="blue")