boston_test <- read.csv("boston_test.csv")
summary(boston_test)
## ID crim zn indus
## Min. : 3.0 Min. : 0.01381 Min. : 0.00 Min. : 0.46
## 1st Qu.:136.0 1st Qu.: 0.08221 1st Qu.: 0.00 1st Qu.: 5.32
## Median :268.0 Median : 0.25199 Median : 0.00 Median : 8.56
## Mean :258.4 Mean : 4.10086 Mean :12.66 Mean :10.84
## 3rd Qu.:381.0 3rd Qu.: 3.67367 3rd Qu.:20.00 3rd Qu.:18.10
## Max. :505.0 Max. :88.97620 Max. :95.00 Max. :27.74
## chas nox rm age
## Min. :0.00000 Min. :0.392 Min. :4.138 Min. : 2.90
## 1st Qu.:0.00000 1st Qu.:0.447 1st Qu.:5.895 1st Qu.: 42.80
## Median :0.00000 Median :0.538 Median :6.223 Median : 79.20
## Mean :0.08671 Mean :0.550 Mean :6.321 Mean : 69.25
## 3rd Qu.:0.00000 3rd Qu.:0.624 3rd Qu.:6.674 3rd Qu.: 94.60
## Max. :1.00000 Max. :0.871 Max. :8.780 Max. :100.00
## dis rad tax ptratio
## Min. : 1.178 Min. : 1.000 Min. :187.0 Min. :12.60
## 1st Qu.: 2.011 1st Qu.: 4.000 1st Qu.:279.0 1st Qu.:17.00
## Median : 3.421 Median : 5.000 Median :330.0 Median :19.10
## Mean : 3.959 Mean : 9.387 Mean :406.2 Mean :18.47
## 3rd Qu.: 5.401 3rd Qu.:24.000 3rd Qu.:666.0 3rd Qu.:20.20
## Max. :12.127 Max. :24.000 Max. :711.0 Max. :22.00
## black lstat
## Min. : 0.32 Min. : 1.92
## 1st Qu.:371.72 1st Qu.: 6.87
## Median :390.07 Median :12.12
## Mean :351.30 Mean :12.92
## 3rd Qu.:396.06 3rd Qu.:17.21
## Max. :396.90 Max. :34.37
cor(boston_test)
## ID crim zn indus chas nox
## ID 1.00000000 0.35738248 -0.01072457 0.3552994 -0.02675126 0.3215486
## crim 0.35738248 1.00000000 -0.19661068 0.4106378 -0.07765088 0.3841380
## zn -0.01072457 -0.19661068 1.00000000 -0.5641558 -0.07550395 -0.5410379
## indus 0.35529940 0.41063782 -0.56415583 1.0000000 0.11256174 0.7918823
## chas -0.02675126 -0.07765088 -0.07550395 0.1125617 1.00000000 0.1133467
## nox 0.32154861 0.38413798 -0.54103795 0.7918823 0.11334665 1.0000000
## rm -0.01728381 -0.11018215 0.28074203 -0.2896868 0.05329250 -0.2313390
## age 0.09673532 0.33012609 -0.61844629 0.6616316 0.11487227 0.7257459
## dis -0.21880014 -0.37108820 0.70547787 -0.7279097 -0.13060026 -0.7730646
## rad 0.64462032 0.59811660 -0.32691160 0.6477944 -0.03046204 0.6100453
## tax 0.62735792 0.56500458 -0.32199990 0.7477097 -0.05829884 0.6637890
## ptratio 0.25463220 0.26918488 -0.41314336 0.3693802 -0.11771377 0.1829672
## black -0.33648014 -0.28263667 0.19229271 -0.4057231 0.03546857 -0.4036798
## lstat 0.21205833 0.36969851 -0.46055410 0.5889903 -0.06403228 0.5798366
## rm age dis rad tax ptratio
## ID -0.01728381 0.09673532 -0.21880014 0.64462032 0.62735792 0.2546322
## crim -0.11018215 0.33012609 -0.37108820 0.59811660 0.56500458 0.2691849
## zn 0.28074203 -0.61844629 0.70547787 -0.32691160 -0.32199990 -0.4131434
## indus -0.28968682 0.66163157 -0.72790967 0.64779437 0.74770969 0.3693802
## chas 0.05329250 0.11487227 -0.13060026 -0.03046204 -0.05829884 -0.1177138
## nox -0.23133896 0.72574592 -0.77306464 0.61004526 0.66378895 0.1829672
## rm 1.00000000 -0.22672279 0.09688527 -0.08566760 -0.16102173 -0.3351298
## age -0.22672279 1.00000000 -0.73272840 0.47381293 0.49661987 0.2656049
## dis 0.09688527 -0.73272840 1.00000000 -0.52736903 -0.55041918 -0.2377446
## rad -0.08566760 0.47381293 -0.52736903 1.00000000 0.92396981 0.4535429
## tax -0.16102173 0.49661987 -0.55041918 0.92396981 1.00000000 0.4486282
## ptratio -0.33512980 0.26560486 -0.23774459 0.45354288 0.44862821 1.0000000
## black 0.08812462 -0.28311413 0.30929030 -0.51457548 -0.50995963 -0.1990410
## lstat -0.61521030 0.62719864 -0.49166582 0.49836595 0.54521369 0.3726978
## black lstat
## ID -0.33648014 0.21205833
## crim -0.28263667 0.36969851
## zn 0.19229271 -0.46055410
## indus -0.40572305 0.58899030
## chas 0.03546857 -0.06403228
## nox -0.40367981 0.57983664
## rm 0.08812462 -0.61521030
## age -0.28311413 0.62719864
## dis 0.30929030 -0.49166582
## rad -0.51457548 0.49836595
## tax -0.50995963 0.54521369
## ptratio -0.19904099 0.37269779
## black 1.00000000 -0.38093967
## lstat -0.38093967 1.00000000
modelo <- lm(nox~indus, data=boston_test)
#coeficinete de modelo de regresion
coef(modelo)
## (Intercept) indus
## 0.39672219 0.01414459
#Intervalos de confianza
confint(modelo)
## 2.5 % 97.5 %
## (Intercept) 0.37585179 0.41759260
## indus 0.01249805 0.01579114
#Supuestos del modelo lineal
#1. se distribuyen de manera normal
#2. La media de los errores es cero.
#3. Los errores independientes
plot(boston_test$indus, boston_test$nox, xlab="Proporción de acres de negocios no minoristas por ciudad.", ylab="concentración de óxidos de nitrógeno")
abline(modelo)
residuos <- residuals(modelo)
#Normalidad de los residuos:
hist(residuos, breaks = 10)
shapiro.test(residuos)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.94107, p-value = 1.452e-06
Como tiene un P valor casi 0, se rechaza la hipotesis nula de que los residuos provienen de errores normalmente distribuidos, por lo tanto este supuesto no se cumple.
#Media 0
plot(residuos)
abline(h=0)
t.test(residuos,mu=0)
##
## One Sample t-test
##
## data: residuos
## t = -8.257e-17, df = 172, p-value = 1
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.010798 0.010798
## sample estimates:
## mean of x
## -4.517036e-19
R// De acuerdo a los datos obtenidos anteriormente, podemos concluir que la media es significativamente igual a 0
#Supuesto de independencia
plot(residuos[1: length(residuos)-1], residuos[2: length(residuos)], xlab="Residuos", ylab="Residuos resagados")
library(lmtest)
dwtest(modelo, alternative = "two.sided")
##
## Durbin-Watson test
##
## data: modelo
## DW = 0.71709, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is not 0
R// Se rechaza la hipotesis nula, por lo tanto no son independientes y hay una estructura de correlación
#varianza homogenea
plot(residuos)
abline(h=0)
bptest(modelo)
##
## studentized Breusch-Pagan test
##
## data: modelo
## BP = 19.915, df = 1, p-value = 8.098e-06
R// La hipotesis nula nos dice que no hay homocedesticidad porque se rechaza la hipotesis nula.
En conclusión no todos los supuestos se cumplieron, por lo tanto, no sería factible asignarle un medelo lineal simple