
TeorÃa
Contexto
Instalar paquetes y llamar
librerÃas
#install.packages("corrplot")
library(corrplot)
## corrplot 0.95 loaded
Instalar la base de datos
#file.choose()
df <- read.csv("C:\\Users\\isemt\\Desktop\\IA en empresas\\M2\\R\\HousePriceData.csv")
Entender la base de datos
summary(df)
## Observation Dist_Taxi Dist_Market Dist_Hospital
## Min. : 1.0 Min. : 146 Min. : 1666 Min. : 3227
## 1st Qu.:237.0 1st Qu.: 6477 1st Qu.: 9367 1st Qu.:11302
## Median :469.0 Median : 8228 Median :11149 Median :13189
## Mean :468.4 Mean : 8235 Mean :11022 Mean :13091
## 3rd Qu.:700.0 3rd Qu.: 9939 3rd Qu.:12675 3rd Qu.:14855
## Max. :932.0 Max. :20662 Max. :20945 Max. :23294
##
## Carpet Builtup Parking City_Category
## Min. : 775 Min. : 932 Length :905 Length :905
## 1st Qu.: 1317 1st Qu.: 1579 N.unique : 4 N.unique : 3
## Median : 1478 Median : 1774 N.blank : 0 N.blank : 0
## Mean : 1511 Mean : 1794 Min.nchar: 4 Min.nchar: 5
## 3rd Qu.: 1654 3rd Qu.: 1985 Max.nchar: 12 Max.nchar: 5
## Max. :24300 Max. :12730
## NAs :7
## Rainfall House_Price
## Min. :-110.0 Min. : 1492000
## 1st Qu.: 600.0 1st Qu.: 4623000
## Median : 780.0 Median : 5860000
## Mean : 786.9 Mean : 6083992
## 3rd Qu.: 970.0 3rd Qu.: 7200000
## Max. :1560.0 Max. :150000000
##
str(df)
## 'data.frame': 905 obs. of 10 variables:
## $ Observation : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Dist_Taxi : int 9796 8294 11001 8301 10510 6665 13153 5882 7495 8233 ...
## $ Dist_Market : int 5250 8186 14399 11188 12629 5142 11869 9948 11589 7067 ...
## $ Dist_Hospital: int 10703 12694 16991 12289 13921 9972 17811 13315 13370 11400 ...
## $ Carpet : int 1659 1461 1340 1451 1770 1442 1542 1261 1090 1030 ...
## $ Builtup : int 1961 1752 1609 1748 2111 1733 1858 1507 1321 1235 ...
## $ Parking : chr "Open" "Not Provided" "Not Provided" "Covered" ...
## $ City_Category: chr "CAT B" "CAT B" "CAT A" "CAT B" ...
## $ Rainfall : int 530 210 720 620 450 760 1030 1020 680 1130 ...
## $ House_Price : int 6649000 3982000 5401000 5373000 4662000 4526000 7224000 3772000 4631000 4415000 ...
head(df)
## Observation Dist_Taxi Dist_Market Dist_Hospital Carpet Builtup Parking
## 1 1 9796 5250 10703 1659 1961 Open
## 2 2 8294 8186 12694 1461 1752 Not Provided
## 3 3 11001 14399 16991 1340 1609 Not Provided
## 4 4 8301 11188 12289 1451 1748 Covered
## 5 5 10510 12629 13921 1770 2111 Not Provided
## 6 6 6665 5142 9972 1442 1733 Open
## City_Category Rainfall House_Price
## 1 CAT B 530 6649000
## 2 CAT B 210 3982000
## 3 CAT A 720 5401000
## 4 CAT B 620 5373000
## 5 CAT B 450 4662000
## 6 CAT B 760 4526000
tail(df,10)
## Observation Dist_Taxi Dist_Market Dist_Hospital Carpet Builtup Parking
## 896 923 9538 11551 12839 1655 1986 Covered
## 897 924 11786 13969 15519 1156 1398 Open
## 898 925 9615 7904 12521 1451 1734 Open
## 899 926 7176 5779 12382 1539 1829 Open
## 900 927 10915 17486 15964 1549 1851 Not Provided
## 901 928 12176 8518 15673 1582 1910 Covered
## 902 929 7214 8717 10553 1387 1663 Open
## 903 930 7423 11708 13220 1200 1436 Open
## 904 931 15082 14700 19617 1299 1560 Open
## 905 932 9297 12537 14418 1174 1429 Covered
## City_Category Rainfall House_Price
## 896 CAT B 1150 7743000
## 897 CAT A 140 9237000
## 898 CAT C 670 3488000
## 899 CAT B 650 4658000
## 900 CAT C 1220 7062000
## 901 CAT C 1080 6639000
## 902 CAT A 850 8208000
## 903 CAT A 1060 7644000
## 904 CAT B 770 9661000
## 905 CAT C 1110 5434000
numericas <- df[, c("Dist_Taxi","Dist_Market","Dist_Hospital","Carpet","Builtup","Rainfall","House_Price")]
correlacion <- cor(numericas)
corrplot(correlacion)

Generar el modelo
regresion <- lm(House_Price~., data=df)
summary(regresion)
##
## Call:
## lm(formula = House_Price ~ ., data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3694478 -799483 -54242 780191 4539531
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.331e+06 3.781e+05 14.097 < 2e-16 ***
## Observation 4.070e+02 1.524e+02 2.670 0.00773 **
## Dist_Taxi 2.777e+01 2.685e+01 1.034 0.30127
## Dist_Market 1.444e+01 2.083e+01 0.693 0.48839
## Dist_Hospital 4.921e+01 3.011e+01 1.634 0.10257
## Carpet 9.894e+03 1.423e+02 69.508 < 2e-16 ***
## Builtup -7.543e+03 2.407e+02 -31.344 < 2e-16 ***
## ParkingNo Parking -6.156e+05 1.388e+05 -4.435 1.04e-05 ***
## ParkingNot Provided -4.975e+05 1.236e+05 -4.027 6.15e-05 ***
## ParkingOpen -2.575e+05 1.127e+05 -2.285 0.02253 *
## City_CategoryCAT B -1.874e+06 9.613e+04 -19.494 < 2e-16 ***
## City_CategoryCAT C -2.897e+06 1.059e+05 -27.367 < 2e-16 ***
## Rainfall -9.559e+01 1.543e+02 -0.620 0.53564
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1224000 on 885 degrees of freedom
## (7 observations deleted due to missingness)
## Multiple R-squared: 0.9433, Adjusted R-squared: 0.9426
## F-statistic: 1228 on 12 and 885 DF, p-value: < 2.2e-16
Ajustar el modelo
regresion2 <- lm(House_Price ~ Carpet + Builtup + Parking + City_Category, data=df)
summary(regresion2)
##
## Call:
## lm(formula = House_Price ~ Carpet + Builtup + Parking + City_Category,
## data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3430967 -802513 -46915 775070 4263090
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6477702.2 272077.2 23.808 < 2e-16 ***
## Carpet 9968.8 143.3 69.584 < 2e-16 ***
## Builtup -7611.6 243.3 -31.279 < 2e-16 ***
## ParkingNo Parking -536301.8 139943.6 -3.832 0.000136 ***
## ParkingNot Provided -457380.4 125020.1 -3.658 0.000269 ***
## ParkingOpen -236576.3 114356.8 -2.069 0.038857 *
## City_CategoryCAT B -1918518.1 97007.4 -19.777 < 2e-16 ***
## City_CategoryCAT C -2908756.6 107359.6 -27.094 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1243000 on 890 degrees of freedom
## (7 observations deleted due to missingness)
## Multiple R-squared: 0.9412, Adjusted R-squared: 0.9407
## F-statistic: 2034 on 7 and 890 DF, p-value: < 2.2e-16
summary(regresion)$adj.r.squared # modelo completo
## [1] 0.9425585
summary(regresion2)$adj.r.squared #modelo reducido
## [1] 0.9407122
LS0tDQogIHRpdGxlOiAiUmVncmVzacOzbiBMaW5lYWwgLSBQcmVjaW8gZGUgbGFzIENhc2FzIg0KICBhdXRob3I6ICJJc2FiZWwgTWFydMOtbmV6IEEwMDgzOTYyOSINCiAgZGF0ZTogIjIwMjYtMDgtMjQiDQogIG91dHB1dDoNCiAgICBodG1sX2RvY3VtZW50Og0KICAgICAgdG9jOiBUUlVFDQogICAgICB0b2NfZmxvYXQ6IFRSVUUNCiAgICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUNCiAgICAgIHRoZW1lOiBjb3Ntbw0KLS0tDQohW10oaHR0cHM6Ly9jZG4uZHJpYmJibGUuY29tL3VzZXJ1cGxvYWQvMzUzMzU0OTEvZmlsZS9vcmlnaW5hbC0yZDUzM2VlMzg4YWNiZjNiZmRlMzA2YzE2ZmZiYmQ5Yi5naWYpDQoNCiMgPHNwYW4gc3R5bGU9ImNvbG9yOm9yYW5nZSI+VGVvcsOtYTwvc3Bhbj4NCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6b3JhbmdlIj5Db250ZXh0bzwvc3Bhbj4NCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6b3JhbmdlIj5JbnN0YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXLDrWFzPC9zcGFuPg0KYGBge3J9DQojaW5zdGFsbC5wYWNrYWdlcygiY29ycnBsb3QiKQ0KbGlicmFyeShjb3JycGxvdCkNCmBgYA0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjpvcmFuZ2UiPkluc3RhbGFyIGxhIGJhc2UgZGUgZGF0b3M8L3NwYW4+DQpgYGB7cn0NCiNmaWxlLmNob29zZSgpDQpkZiA8LSByZWFkLmNzdigiQzpcXFVzZXJzXFxpc2VtdFxcRGVza3RvcFxcSUEgZW4gZW1wcmVzYXNcXE0yXFxSXFxIb3VzZVByaWNlRGF0YS5jc3YiKQ0KYGBgDQoNCiMgPHNwYW4gc3R5bGU9ImNvbG9yOm9yYW5nZSI+RW50ZW5kZXIgbGEgYmFzZSBkZSBkYXRvczwvc3Bhbj4NCmBgYHtyfQ0Kc3VtbWFyeShkZikNCnN0cihkZikNCmhlYWQoZGYpDQp0YWlsKGRmLDEwKQ0KbnVtZXJpY2FzIDwtIGRmWywgYygiRGlzdF9UYXhpIiwiRGlzdF9NYXJrZXQiLCJEaXN0X0hvc3BpdGFsIiwiQ2FycGV0IiwiQnVpbHR1cCIsIlJhaW5mYWxsIiwiSG91c2VfUHJpY2UiKV0NCmNvcnJlbGFjaW9uIDwtIGNvcihudW1lcmljYXMpDQpjb3JycGxvdChjb3JyZWxhY2lvbikNCmBgYA0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjpvcmFuZ2UiPkdlbmVyYXIgZWwgbW9kZWxvPC9zcGFuPg0KYGBge3J9DQpyZWdyZXNpb24gPC0gbG0oSG91c2VfUHJpY2V+LiwgZGF0YT1kZikNCnN1bW1hcnkocmVncmVzaW9uKQ0KYGBgDQoNCiMgPHNwYW4gc3R5bGU9ImNvbG9yOm9yYW5nZSI+QWp1c3RhciBlbCBtb2RlbG88L3NwYW4+DQpgYGB7cn0NCnJlZ3Jlc2lvbjIgPC0gbG0oSG91c2VfUHJpY2UgfiBDYXJwZXQgKyBCdWlsdHVwICsgUGFya2luZyArIENpdHlfQ2F0ZWdvcnksIGRhdGE9ZGYpDQpzdW1tYXJ5KHJlZ3Jlc2lvbjIpDQpgYGANCg0KYGBge3J9DQpzdW1tYXJ5KHJlZ3Jlc2lvbikkYWRqLnIuc3F1YXJlZCAjIG1vZGVsbyBjb21wbGV0bw0Kc3VtbWFyeShyZWdyZXNpb24yKSRhZGouci5zcXVhcmVkICNtb2RlbG8gcmVkdWNpZG8NCg0KYGBg