Bienes raices
Objetivo
Una compañía quiere analizar las carácteristicas que tienen las casas con un mayor precio.
Para poder determinar que caracteristicas físicas de la casa tienen relación al costo de la casa.
Una vista de nuestros datos
| MSSubClass | MSZoning | LotFrontage | LotArea | Street | Alley | LotShape | LandContour | |
|---|---|---|---|---|---|---|---|---|
| 1 | 60 | RL | 65 | 8450 | Pave | No Alley | Reg | Lvl |
| 2 | 20 | RL | 80 | 9600 | Pave | No Alley | Reg | Lvl |
| 3 | 60 | RL | 68 | 11250 | Pave | No Alley | IR1 | Lvl |
| 4 | 70 | RL | 60 | 9550 | Pave | No Alley | IR1 | Lvl |
| 5 | 60 | RL | 84 | 14260 | Pave | No Alley | IR1 | Lvl |
| 6 | 50 | RL | 85 | 14115 | Pave | No Alley | IR1 | Lvl |
| Utilities | LotConfig | LandSlope | Neighborhood | Condition1 | Condition2 | BldgType | |
|---|---|---|---|---|---|---|---|
| 1 | AllPub | Inside | Gtl | CollgCr | Norm | Norm | 1Fam |
| 2 | AllPub | FR2 | Gtl | Veenker | Feedr | Norm | 1Fam |
| 3 | AllPub | Inside | Gtl | CollgCr | Norm | Norm | 1Fam |
| 4 | AllPub | Corner | Gtl | Crawfor | Norm | Norm | 1Fam |
| 5 | AllPub | FR2 | Gtl | NoRidge | Norm | Norm | 1Fam |
| 6 | AllPub | Inside | Gtl | Mitchel | Norm | Norm | 1Fam |
| HouseStyle | OverallQual | OverallCond | YearBuilt | YearRemodAdd | RoofStyle | RoofMatl | |
|---|---|---|---|---|---|---|---|
| 1 | 2Story | 7 | 5 | 2003 | 2003 | Gable | CompShg |
| 2 | 1Story | 6 | 8 | 1976 | 1976 | Gable | CompShg |
| 3 | 2Story | 7 | 5 | 2001 | 2002 | Gable | CompShg |
| 4 | 2Story | 7 | 5 | 1915 | 1970 | Gable | CompShg |
| 5 | 2Story | 8 | 5 | 2000 | 2000 | Gable | CompShg |
| 6 | 1.5Fin | 5 | 5 | 1993 | 1995 | Gable | CompShg |
Datos de entrenamiento y de prueba
Se tomaron las variables de la base de datos de mayor relevancia para el objetivo en cuestión.
Se escogieron el 20% de los datos para tomarlos como datos de prueba y se modela el arbol de clasificación con el 80% de los datos (1460 observaciones).
Se preparo la base de datos pues de las características recolectadas sobre las casas son variables y no existe ninguna casa que telga todas las caracteristicas recolectadas. Por lo que se actualizaron los datos para modificar los niveles de algunas variables factor y que pudieran tener un nivel donde se especificara que no existia esa caracteristica en determinada casa.
La variable continua a modelar es el precio de la casa por lo que buscamos que todas las casas en entrenamiento tengan un precio asignado, por lo tanto tambien se hara la busqueda y eliminación de estos datos.
Arbol de regresión
Los nodos obtenidos del modelo son los siguientes, con sus respectivas probabilidades.
## n= 917
##
## node), split, n, deviance, yval
## * denotes terminal node
##
## 1) root 917 5.873917e+12 185976.60
## 2) OverallQual< 7.5 765 1.694821e+12 160977.40
## 4) Neighborhood=Blueste,BrDale,BrkSide,Edwards,IDOTRR,MeadowV,Mitchel,NAmes,NPkVill,OldTown,Sawyer,SWISU 429 4.681088e+11 136403.40
## 8) GrLivArea< 1377 268 1.742947e+11 124658.20
## 16) Neighborhood=BrDale,BrkSide,Edwards,IDOTRR,MeadowV,OldTown,SWISU 122 6.851690e+10 109363.80
## 32) OverallCond< 4.5 20 7.131780e+09 83410.55 *
## 33) OverallCond>=4.5 102 4.527228e+10 114452.60
## 66) X1stFlrSF< 1054 76 2.586617e+10 108506.90
## 132) TotalBsmtSF< 619.5 17 5.117847e+09 91423.12 *
## 133) TotalBsmtSF>=619.5 59 1.435719e+10 113429.30
## 266) MSSubClass< 37.5 25 6.689494e+09 105782.00 *
## 267) MSSubClass>=37.5 34 5.130629e+09 119052.40 *
## 67) X1stFlrSF>=1054 26 8.865777e+09 131832.50 *
## 17) Neighborhood=Blueste,Mitchel,NAmes,NPkVill,Sawyer 146 5.339242e+10 137438.50
## 34) X1stFlrSF< 1058.5 78 2.422425e+10 128071.80
## 68) BsmtFullBath< 0.5 39 1.137937e+10 118670.30 *
## 69) BsmtFullBath>=0.5 39 5.950569e+09 137473.30 *
## 35) X1stFlrSF>=1058.5 68 1.447504e+10 148182.70
## 70) GarageYrBlt< 1962.5 34 5.049165e+09 141255.10 *
## 71) GarageYrBlt>=1962.5 34 6.162464e+09 155110.30 *
## 9) GrLivArea>=1377 161 1.953036e+11 155954.30
## 18) GarageFinish=Unf 111 1.045425e+11 145972.10
## 36) KitchenQual=Fa,TA 76 3.941934e+10 137687.80
## 72) BsmtFinSF1< 191.5 44 2.196730e+10 128710.80 *
## 73) BsmtFinSF1>=191.5 32 9.030689e+09 150031.20 *
## 37) KitchenQual=Ex,Gd 35 4.858157e+10 163960.80 *
## 19) GarageFinish=Fin,RFn 50 5.514639e+10 178114.70
## 38) GarageArea< 485.5 24 1.003546e+10 158677.10 *
## 39) GarageArea>=485.5 26 2.767300e+10 196057.20 *
## 5) Neighborhood=Blmngtn,ClearCr,CollgCr,Crawfor,Gilbert,NoRidge,NridgHt,NWAmes,SawyerW,Somerst,StoneBr,Timber,Veenker 336 6.368727e+11 192353.20
## 10) GrLivArea< 1725.5 236 2.281228e+11 176242.30
## 20) GrLivArea< 1204 50 1.808124e+10 142034.00
## 40) YearRemodAdd< 1977.5 17 6.294410e+09 127050.00 *
## 41) YearRemodAdd>=1977.5 33 6.003697e+09 149753.10 *
## 21) GrLivArea>=1204 186 1.358027e+11 185438.10
## 42) TotalBsmtSF< 1469 156 8.395260e+10 179697.70
## 84) Neighborhood=Crawfor,Gilbert,NWAmes,SawyerW,Somerst,Timber 104 3.595292e+10 173253.50
## 168) YearRemodAdd< 1980.5 26 1.513334e+10 160057.70 *
## 169) YearRemodAdd>=1980.5 78 1.478312e+10 177652.10
## 338) TotalBsmtSF< 705.5 21 3.123532e+09 165182.40 *
## 339) TotalBsmtSF>=705.5 57 7.191183e+09 182246.20
## 678) OpenPorchSF< 42 32 2.241727e+09 177526.10 *
## 679) OpenPorchSF>=42 25 3.323921e+09 188288.00 *
## 85) Neighborhood=Blmngtn,ClearCr,CollgCr,NridgHt,Veenker 52 3.504315e+10 192586.00
## 170) BsmtFullBath< 0.5 32 1.245962e+10 182410.80 *
## 171) BsmtFullBath>=0.5 20 1.396938e+10 208866.40 *
## 43) TotalBsmtSF>=1469 30 1.997855e+10 215288.30 *
## 11) GrLivArea>=1725.5 100 2.029276e+11 230375.00
## 22) BsmtFinSF1< 848.5 82 1.045567e+11 218708.90
## 44) KitchenQual=TA 24 1.417998e+10 189462.20 *
## 45) KitchenQual=Ex,Gd 58 6.135316e+10 230811.00
## 90) GrLivArea< 1941 28 1.311849e+10 212928.20 *
## 91) GrLivArea>=1941 30 3.092312e+10 247501.60 *
## 23) BsmtFinSF1>=848.5 18 3.637056e+10 283520.70 *
## 3) OverallQual>=7.5 152 1.294801e+12 311795.00
## 6) TotRmsAbvGrd< 9.5 125 5.198467e+11 289566.00
## 12) BsmtFinSF1< 1227 95 2.912517e+11 271463.40
## 24) GarageArea< 537.5 25 5.441718e+10 223651.10 *
## 25) GarageArea>=537.5 70 1.592733e+11 288539.20
## 50) Neighborhood=CollgCr,Mitchel,NAmes,NWAmes,Somerst,StoneBr,Timber 35 6.173956e+10 266979.90 *
## 51) Neighborhood=NoRidge,NridgHt,OldTown 35 6.499754e+10 310098.50 *
## 13) BsmtFinSF1>=1227 30 9.887921e+10 346890.80 *
## 7) TotRmsAbvGrd>=9.5 27 4.272328e+11 414707.30 *
Las personas que asistieron a la última campaña promocional tienen una gran probabilidad de asistir a la siguiete, más aún las personas que asistieron a la primera y a la última campaña tienen una probabilidad del 0.81 de asistir a la siguiente campaña.
Por otro lado las personas que solo asistieron a la última campaña sin haber asistido a la primera y su última compra se realizó a lo más hace 22 días tendrán un 0.74 de probabilidad de asistir a la siguiente campaña. De esta forma nuestro modelo clasifica bien el 74% de nuestros datos.
El arbol es el siguiente:
Predicción
Realizamos la predicción de los datos respecto a los datos que elegimos de prueba
## 1438 630 640 1420 594 NA
## 346890.8 155110.3 266979.9 283520.7 149753.1 128071.8
Las siguientes características son las que le dan un mayor o menor precio a una casa
- Si se tiene una calidad en los materiales payor a 7.5 u 8.5
- Si la superficie habitable es mayor que 1921.5 pies
- Si el área total sel sotano es mayor o igual que 1394.5 en pies cuadrados
- Si el área del primer piso es mayor igual que 1305.5 en pies cuadrados del primer piso
Las caracteristicas de una casa con alto precio son la calidad de los materiales con los cuales esta hecha la casa, el tamaño de del primer pisi y el tamaño del sotano son caracteristicas determinantes, otro de caracteristicas es el garage de una casa y el tamaño de la alberca con el que cuente dicha casa.
Random Forest
Es conveniente muchas veces realizar un random Forest para evitar overfitting en el ajuste por lo tanto se modelara un bosque donde escencialmente se hacen particiones de los datos de entrenamiento para podeteriormente modelar con esa pequeña partición los datos y encontrar un ajuste generalizado para los datos.
## randomForest 4.6-14
## Type rfNews() to see new features/changes/bug fixes.
##
## Attaching package: 'randomForest'
## The following object is masked from 'package:dplyr':
##
## combine
set.seed(123)
# Ajustar modelo
modelo <- randomForest(SalePrice~., data=dat_train)
# Resumen del ajuste del modelo
modelo##
## Call:
## randomForest(formula = SalePrice ~ ., data = dat_train)
## Type of random forest: regression
## Number of trees: 500
## No. of variables tried at each split: 26
##
## Mean of squared residuals: 922628750
## % Var explained: 85.6
La impotancia de las variables es la siguiente:
## IncNodePurity
## MSSubClass 1.020786e+10
## MSZoning 7.555093e+09
## LotFrontage 2.840529e+10
## LotArea 9.008740e+10
## Street 6.112503e+07
## Alley 1.762203e+09
## LotShape 1.005398e+10
## LandContour 8.013727e+09
## Utilities 0.000000e+00
## LotConfig 9.448703e+09
## LandSlope 3.704919e+09
## Neighborhood 8.705739e+11
## Condition1 5.516049e+09
## Condition2 2.543025e+09
## BldgType 3.350494e+09
## HouseStyle 1.169478e+10
## OverallQual 1.379070e+12
## OverallCond 1.760973e+10
## YearBuilt 1.026872e+11
## YearRemodAdd 4.185476e+10
## RoofStyle 6.871935e+09
## RoofMatl 2.125589e+09
## Exterior1st 3.148317e+10
## Exterior2nd 4.331397e+10
## MasVnrType 1.025493e+10
## MasVnrArea 2.915187e+10
## ExterQual 2.801276e+11
## ExterCond 3.517037e+09
## Foundation 5.636323e+09
## BsmtQual 1.252771e+11
## BsmtCond 4.641123e+09
## BsmtExposure 2.008597e+10
## BsmtFinType1 2.719070e+10
## BsmtFinSF1 1.551832e+11
## BsmtFinType2 4.231456e+09
## BsmtFinSF2 3.467419e+09
## BsmtUnfSF 2.692156e+10
## TotalBsmtSF 3.107501e+11
## Heating 1.306230e+09
## HeatingQC 9.736598e+09
## CentralAir 3.878316e+09
## Electrical 1.720128e+09
## X1stFlrSF 1.906166e+11
## X2ndFlrSF 1.528502e+11
## LowQualFinSF 1.649575e+09
## GrLivArea 5.801885e+11
## BsmtFullBath 1.330277e+10
## BsmtHalfBath 6.852396e+08
## FullBath 6.464146e+10
## HalfBath 5.298789e+09
## BedroomAbvGr 1.228716e+10
## KitchenAbvGr 1.074196e+09
## KitchenQual 2.148708e+11
## TotRmsAbvGrd 1.079502e+11
## Functional 2.208256e+09
## Fireplaces 2.786141e+10
## FireplaceQu 3.360319e+10
## GarageType 1.936762e+10
## GarageYrBlt 2.935947e+10
## GarageFinish 2.420972e+10
## GarageCars 3.630542e+11
## GarageArea 1.646926e+11
## GarageQual 2.024200e+09
## GarageCond 1.025895e+09
## PavedDrive 1.129095e+09
## WoodDeckSF 2.162023e+10
## OpenPorchSF 2.646457e+10
## EnclosedPorch 4.817244e+09
## X3SsnPorch 2.817725e+08
## ScreenPorch 4.911859e+09
## PoolArea 7.793719e+09
## PoolQC 8.720146e+09
## Fence 6.638772e+09
## MiscFeature 1.746634e+08
## MiscVal 3.018945e+08
## MoSold 1.373910e+10
## YrSold 8.963113e+09
## SaleType 8.321810e+09
## SaleCondition 1.881593e+10
Según la importancia del modelo las variables más relevantes son el callejon donde se encuantra ubicada, el área del lote de la construcción, el año de construcción, las utilidades, el patio y la condicion de venta que se acordará.
Prediccion de datos
# Hacer predicciones
predicciones <- predict(modelo, dat_test)
# Matriz de confusión
head((mc <- with(dat_test,table(predicciones, SalePrice))),1)## SalePrice
## predicciones 40000 66500 68500 76000 78000 79500 79900 83000 84900 85400
## 94744.2272666667 0 0 1 0 0 0 0 0 0 0
## SalePrice
## predicciones 86000 87000 87500 88000 89000 90000 90350 91000 92900 93500
## 94744.2272666667 0 0 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 94500 95000 97500 98000 98600 99500 100000 102000 103000
## 94744.2272666667 0 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 104900 105000 106000 107000 107500 108000 108480 108959
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 109500 109900 110000 111000 111250 113000 115000 116000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 116050 117000 117500 118000 118400 118500 118858 119000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 119200 119500 120000 122000 122900 123000 124000 124500
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 125000 125500 126000 126500 127000 127500 128000 128200
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 128500 129000 129500 130000 130250 130500 131400 131500
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 132000 132500 133000 133700 133900 134000 134800 135000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 136500 136900 136905 137000 137500 138000 138887 139000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 139400 139500 139900 139950 140000 140200 142000 142600
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 143000 143750 144000 144500 145000 145500 147000 147500
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 148000 148500 148800 150000 150500 151000 151500 152000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 153000 153500 154000 155000 155835 156000 157000 158000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 159000 159434 159500 160000 162900 163000 164000 164500
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 165000 165150 165500 165600 166000 167000 167500 168500
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 169000 169500 170000 171500 171750 171900 172500 173000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 173500 174000 174500 174900 175000 175500 175900 176000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 176500 177000 178000 178900 179600 179900 180000 180500
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 183000 183900 185000 185500 185900 186000 187000 187500
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 188000 189000 190000 192000 192500 193000 193500 194000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 194500 194700 195000 196000 196500 197000 197900 200000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 201000 202500 204000 204750 205000 206900 207500 208300
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 209500 210000 212000 213000 213250 213500 214000 214900
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 215000 216000 217500 219210 219500 220000 221000 221500
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 223000 224000 224500 224900 225000 226000 227000 227680
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 228000 228500 229000 229456 230000 233230 234000 235000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 239000 239900 240000 241000 242000 243000 244400 244600
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 250000 250580 252000 253000 254900 255000 256000 257000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 258000 260000 260400 261500 262500 263435 264132 264561
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 265000 266500 267000 269500 269790 270000 271900 272000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 274725 274970 275000 276000 277000 279500 280000 281213
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 289000 290000 295000 297000 301000 305000 309000 313000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 316600 317000 318061 328000 335000 345000 350000 361919
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 367294 372402 372500 377426 377500 378500 381000 385000
## 94744.2272666667 0 0 0 0 0 0 0 0
## SalePrice
## predicciones 386250 392500 394617 410000 451950 466500 582933 755000
## 94744.2272666667 0 0 0 0 0 0 0 0
Correctitud del bosque
## [1] 0.6622517
El modelo aproxima un 87% los datos para poder determinar la relación de las caracteristicas de una casa con un precio alto.
Conclusiones
Existen características que aparentemente pueden ser relevantes para el precio de una casa como tener ático, alberca, etc. Pero respecto a los datos estudiados puede que alguna de las caracteristicas que antes se pensaban, eran determinantes, no lo son. Son más relevantes las caracteristicas como el tamaño del lote que si tiene ático por ejemplo, el sistema electrico que tiene, el aire acondicionado con el que cuenta la casa, el año de venta, condiciones de garage y el tamaño del patio.