Ekonometrika

~ Pertemuan 10 ~


Kontak : \(\downarrow\)
Email
Instagram https://www.instagram.com/diasary_nm/
RPubs https://rpubs.com/diyasarya/

Mendefenisikan Permasalahan

Perhitungan prediksi harga rumah dengan menggunakan variabel berikut.


1. ID : ID pembelian rumah
2. Date : Tanggal pembelian rumah
3. Price : Harga rumah dalam satuan usd
4. Bedrooms : Jumlah kamar tidur
5. Bathrooms : Jumlah kamar mandi
6. Sqft_Living : Luas bangunan dalam satuan sqft
7. Sqft_Lot : Luat tanah dalam satuan sqft
8. Floors : Jumlah lantai
9. Waterfront : Terletak ditepi pantai, sungai, danau, atau laut (Ya = 1, Tidak = 0)
10. View : Pemandangan dalam satuan likert (0-4, Kurang Indah - Indah)
11. Condition : Kondisi rumah dalam satuan likert (1-5, Kurang Baik - Sangat Baik) 12. Grade : Kualitas bangunan
13. Sqft_Above : Luas area di lantai atas rumah
14. Sqft_Basement : Luas area di lantai bawah rumah
15. Yr_Built : Tahun dibangun
16. Yr_Renovated : Tahun direnovasi
17. Zipcode : Kode Pos
18. Lat : Titik lintang
19. Long : Titik bujur
20. Sqft_Living15 : Luas bangunan pada tahun 2015
21. Sqft_Lot15 : Luas tanah pada tahun 2015


Dengan menggunakan informasi variabel diatas, akan dibuat model untuk memprediksi harga rumah berdasarkan kriteria tertentu

Data Preparation

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.1.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
perumahan <- read.csv("house_data.csv")
perumahan

Exploratory Data Analysis (EDA)

str(perumahan)
## 'data.frame':    21613 obs. of  21 variables:
##  $ id           : num  7.13e+09 6.41e+09 5.63e+09 2.49e+09 1.95e+09 ...
##  $ date         : chr  "20141013T000000" "20141209T000000" "20150225T000000" "20141209T000000" ...
##  $ price        : int  221900 538000 180000 604000 510000 1225000 257500 291850 229500 323000 ...
##  $ bedrooms     : int  3 3 2 4 3 4 3 3 3 3 ...
##  $ bathrooms    : num  1 2.25 1 3 2 4.5 2.25 1.5 1 2.5 ...
##  $ sqft_living  : int  1180 2570 770 1960 1680 5420 1715 1060 1780 1890 ...
##  $ sqft_lot     : int  5650 7242 10000 5000 8080 101930 6819 9711 7470 6560 ...
##  $ floors       : num  1 2 1 1 1 1 2 1 1 2 ...
##  $ waterfront   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ view         : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ condition    : int  3 3 3 5 3 3 3 3 3 3 ...
##  $ grade        : int  7 7 6 7 8 11 7 7 7 7 ...
##  $ sqft_above   : int  1180 2170 770 1050 1680 3890 1715 1060 1050 1890 ...
##  $ sqft_basement: int  0 400 0 910 0 1530 0 0 730 0 ...
##  $ yr_built     : int  1955 1951 1933 1965 1987 2001 1995 1963 1960 2003 ...
##  $ yr_renovated : int  0 1991 0 0 0 0 0 0 0 0 ...
##  $ zipcode      : int  98178 98125 98028 98136 98074 98053 98003 98198 98146 98038 ...
##  $ lat          : num  47.5 47.7 47.7 47.5 47.6 ...
##  $ long         : num  -122 -122 -122 -122 -122 ...
##  $ sqft_living15: int  1340 1690 2720 1360 1800 4760 2238 1650 1780 2390 ...
##  $ sqft_lot15   : int  5650 7639 8062 5000 7503 101930 6819 9711 8113 7570 ...
summary(perumahan)
##        id                date               price            bedrooms     
##  Min.   :1.000e+06   Length:21613       Min.   :  75000   Min.   : 0.000  
##  1st Qu.:2.123e+09   Class :character   1st Qu.: 321950   1st Qu.: 3.000  
##  Median :3.905e+09   Mode  :character   Median : 450000   Median : 3.000  
##  Mean   :4.580e+09                      Mean   : 540088   Mean   : 3.371  
##  3rd Qu.:7.309e+09                      3rd Qu.: 645000   3rd Qu.: 4.000  
##  Max.   :9.900e+09                      Max.   :7700000   Max.   :33.000  
##    bathrooms      sqft_living       sqft_lot           floors     
##  Min.   :0.000   Min.   :  290   Min.   :    520   Min.   :1.000  
##  1st Qu.:1.750   1st Qu.: 1427   1st Qu.:   5040   1st Qu.:1.000  
##  Median :2.250   Median : 1910   Median :   7618   Median :1.500  
##  Mean   :2.115   Mean   : 2080   Mean   :  15107   Mean   :1.494  
##  3rd Qu.:2.500   3rd Qu.: 2550   3rd Qu.:  10688   3rd Qu.:2.000  
##  Max.   :8.000   Max.   :13540   Max.   :1651359   Max.   :3.500  
##    waterfront            view          condition         grade       
##  Min.   :0.000000   Min.   :0.0000   Min.   :1.000   Min.   : 1.000  
##  1st Qu.:0.000000   1st Qu.:0.0000   1st Qu.:3.000   1st Qu.: 7.000  
##  Median :0.000000   Median :0.0000   Median :3.000   Median : 7.000  
##  Mean   :0.007542   Mean   :0.2343   Mean   :3.409   Mean   : 7.657  
##  3rd Qu.:0.000000   3rd Qu.:0.0000   3rd Qu.:4.000   3rd Qu.: 8.000  
##  Max.   :1.000000   Max.   :4.0000   Max.   :5.000   Max.   :13.000  
##    sqft_above   sqft_basement       yr_built     yr_renovated   
##  Min.   : 290   Min.   :   0.0   Min.   :1900   Min.   :   0.0  
##  1st Qu.:1190   1st Qu.:   0.0   1st Qu.:1951   1st Qu.:   0.0  
##  Median :1560   Median :   0.0   Median :1975   Median :   0.0  
##  Mean   :1788   Mean   : 291.5   Mean   :1971   Mean   :  84.4  
##  3rd Qu.:2210   3rd Qu.: 560.0   3rd Qu.:1997   3rd Qu.:   0.0  
##  Max.   :9410   Max.   :4820.0   Max.   :2015   Max.   :2015.0  
##     zipcode           lat             long        sqft_living15 
##  Min.   :98001   Min.   :47.16   Min.   :-122.5   Min.   : 399  
##  1st Qu.:98033   1st Qu.:47.47   1st Qu.:-122.3   1st Qu.:1490  
##  Median :98065   Median :47.57   Median :-122.2   Median :1840  
##  Mean   :98078   Mean   :47.56   Mean   :-122.2   Mean   :1987  
##  3rd Qu.:98118   3rd Qu.:47.68   3rd Qu.:-122.1   3rd Qu.:2360  
##  Max.   :98199   Max.   :47.78   Max.   :-121.3   Max.   :6210  
##    sqft_lot15    
##  Min.   :   651  
##  1st Qu.:  5100  
##  Median :  7620  
##  Mean   : 12768  
##  3rd Qu.: 10083  
##  Max.   :871200
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.1.3
## corrplot 0.92 loaded
corrplot(cor(perumahan[,-2]), method = "color")

Data Preprocessing

any(is.na(perumahan))                                           #Cek missing value
## [1] FALSE
perumahan$date <- as.Date(perumahan$date, "%Y%m%dT000000")      #Ubah format tanggal
perumahan$renov_stat <- ifelse(perumahan$yr_renovated>0, 1, 0)  #Status Renovasi "Ya" atau "Tidak"
perumahan$renov_duration <- ifelse(perumahan$yr_renovated>0,perumahan$yr_renovated-perumahan$yr_built, 0)                                                              #Durasi renovasi sejak dibangun rumah
perumahan$bsmnt_stat <- ifelse(perumahan$sqft_basement>0, 1, 0) #Status Basement "Ya" atau "Tidak"
perumahan$waterfront <- as.factor(perumahan$waterfront)         #Ubah menjadi kategorik
perumahan$view <- as.factor(perumahan$view)                     #Ubah menjadi kategorik
perumahan$condition <- as.factor(perumahan$condition)           #Ubah menjadi kategorik
head(perumahan)

Model Building (Perbandingan 5 model)

Model with condition indicator

model1 <- lm(price~condition * sqft_living +bathrooms +bedrooms +floors +grade +sqft_above +sqft_living15 +renov_duration, data = perumahan)
summary(model1)
## 
## Call:
## lm(formula = price ~ condition * sqft_living + bathrooms + bedrooms + 
##     floors + grade + sqft_above + sqft_living15 + renov_duration, 
##     data = perumahan)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1066524  -127769   -18410    94385  4578581 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            -3.575e+05  1.012e+05  -3.532 0.000413 ***
## condition2             -1.240e+05  1.091e+05  -1.136 0.255887    
## condition3             -2.210e+05  1.010e+05  -2.188 0.028710 *  
## condition4             -2.143e+05  1.012e+05  -2.117 0.034247 *  
## condition5             -2.656e+05  1.020e+05  -2.605 0.009192 ** 
## sqft_living             1.510e+02  7.484e+01   2.018 0.043579 *  
## bathrooms              -1.741e+04  3.626e+03  -4.802 1.58e-06 ***
## bedrooms               -4.291e+04  2.221e+03 -19.321  < 2e-16 ***
## floors                  1.720e+01  4.159e+03   0.004 0.996700    
## grade                   1.088e+05  2.462e+03  44.192  < 2e-16 ***
## sqft_above             -4.696e+01  5.010e+00  -9.374  < 2e-16 ***
## sqft_living15           2.723e+01  3.943e+00   6.904 5.18e-12 ***
## renov_duration          3.001e+03  1.329e+02  22.571  < 2e-16 ***
## condition2:sqft_living  3.373e+01  7.927e+01   0.425 0.670496    
## condition3:sqft_living  7.099e+01  7.469e+01   0.950 0.341883    
## condition4:sqft_living  9.833e+01  7.476e+01   1.315 0.188445    
## condition5:sqft_living  1.661e+02  7.497e+01   2.216 0.026725 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 239200 on 21596 degrees of freedom
## Multiple R-squared:  0.5759, Adjusted R-squared:  0.5756 
## F-statistic:  1833 on 16 and 21596 DF,  p-value: < 2.2e-16
  1. Persamaan regresi yang dihasilkan adalah Price = -3.575e+05 -1.240e+05Condition2 -2.210e+05Condition3 -2.143e+05Condition4 -2.656e+05Condition5 +1.510e+02Sqft_Living -1.741e+04Bathrooms -4.291e+04Bedrooms +1.720e+01Floors +1.088e+05Grade -4.696e+01Sqft_Above +2.723e+01Sqft_Living15 +3.001e+03Renov_Duration +3.373e+01Sqft_Living(Condition2:SqftLiving) +7.099e+01Sqft_Living(Condition3:SqftLiving) +9.833e+01Sqft_Living(Condition4:SqftLiving) +1.661e+02Sqft_Living(Condition5:SqftLiving)
  2. P-value <2.2e-16 yang berarti model yang dibangun signifikan secara statistik
  3. R-squared = 0.5756 yang artinya 57,56% varians dari variabel dependen mampu dijelaskan oleh variabel independen dalam model sedangkan 42,44% variabel dependen lainnya tidak dijelaskan dalam model


## Model with waterfront indicator

model2 <- lm(price~waterfront * sqft_living +bathrooms +bedrooms +floors +grade +sqft_above +sqft_living15 +renov_duration, data = perumahan)
summary(model2)
## 
## Call:
## lm(formula = price ~ waterfront * sqft_living + bathrooms + bedrooms + 
##     floors + grade + sqft_above + sqft_living15 + renov_duration, 
##     data = perumahan)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1512872  -127132   -20983    95632  4741280 
## 
## Coefficients:
##                           Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             -5.330e+05  1.410e+04 -37.792  < 2e-16 ***
## waterfront1             -3.517e+05  4.029e+04  -8.729  < 2e-16 ***
## sqft_living              2.257e+02  4.788e+00  47.124  < 2e-16 ***
## bathrooms               -2.008e+04  3.470e+03  -5.786 7.31e-09 ***
## bedrooms                -2.982e+04  2.135e+03 -13.966  < 2e-16 ***
## floors                  -8.670e+03  3.915e+03  -2.215   0.0268 *  
## grade                    1.044e+05  2.351e+03  44.398  < 2e-16 ***
## sqft_above              -6.251e+01  4.664e+00 -13.403  < 2e-16 ***
## sqft_living15            3.036e+01  3.791e+00   8.009 1.21e-15 ***
## renov_duration           2.503e+03  1.275e+02  19.630  < 2e-16 ***
## waterfront1:sqft_living  3.551e+02  1.142e+01  31.085  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 229800 on 21602 degrees of freedom
## Multiple R-squared:  0.6084, Adjusted R-squared:  0.6082 
## F-statistic:  3356 on 10 and 21602 DF,  p-value: < 2.2e-16
  1. Persamaan regresi yang dihasilkan adalah Price = -5.330e+05 -3.517e+05waterfront1 +2.257e+02Sqft_Living -2.008e+04Bathrooms -2.982e+04Bedrooms -8.670e+03Floors +1.044e+05Grade -6.251e+01Sqft_Above +3.036e+01Sqft_Living15 +2.503e+03Renov_Duration +3.551e+01Sqft_Living(Waterfront1:SqftLiving)
  2. P-value <2.2e-16 yang berarti model yang dibangun signifikan secara statistik
  3. R-squared = 0.6082 yang artinya 60,82% varians dari variabel dependen mampu dijelaskan oleh variabel independen dalam model sedangkan 39,18% variabel dependen lainnya tidak dijelaskan dalam model


# Model with view indicator

model3 <- lm(price~view * sqft_living +bathrooms +bedrooms +floors +grade +sqft_above +sqft_living15 +renov_duration, data = perumahan)
summary(model3)
## 
## Call:
## lm(formula = price ~ view * sqft_living + bathrooms + bedrooms + 
##     floors + grade + sqft_above + sqft_living15 + renov_duration, 
##     data = perumahan)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -3146489  -121862   -19643    92452  4193462 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       -4.721e+05  1.412e+04 -33.436  < 2e-16 ***
## view1             -1.393e+05  3.384e+04  -4.117 3.86e-05 ***
## view2             -1.021e+05  1.933e+04  -5.280 1.31e-07 ***
## view3             -2.043e+05  2.778e+04  -7.354 1.99e-13 ***
## view4             -1.558e+05  3.109e+04  -5.011 5.45e-07 ***
## sqft_living        1.737e+02  5.058e+00  34.342  < 2e-16 ***
## bathrooms         -1.680e+04  3.454e+03  -4.863 1.16e-06 ***
## bedrooms          -2.413e+04  2.137e+03 -11.290  < 2e-16 ***
## floors            -8.411e+03  3.896e+03  -2.159   0.0309 *  
## grade              9.932e+04  2.345e+03  42.364  < 2e-16 ***
## sqft_above        -2.959e+01  4.747e+00  -6.234 4.64e-10 ***
## sqft_living15      2.339e+01  3.829e+00   6.110 1.02e-09 ***
## renov_duration     2.417e+03  1.271e+02  19.016  < 2e-16 ***
## view1:sqft_living  1.154e+02  1.227e+01   9.403  < 2e-16 ***
## view2:sqft_living  8.043e+01  6.819e+00  11.796  < 2e-16 ***
## view3:sqft_living  1.301e+02  8.689e+00  14.976  < 2e-16 ***
## view4:sqft_living  2.219e+02  8.580e+00  25.859  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 228600 on 21596 degrees of freedom
## Multiple R-squared:  0.6125, Adjusted R-squared:  0.6122 
## F-statistic:  2133 on 16 and 21596 DF,  p-value: < 2.2e-16
  1. Persamaan regresi yang dihasilkan adalah Price = -4.721e+05 -1.393e+05View1 -1.021e+05View2 -2.043e+05View3 -1.558e+05View4 +1.737e+02Sqft_Living -1.680e+04Bathrooms -2.413e+04Bedrooms -8.411e+03Floors +9.932e+04Grade -2.959e+01Sqft_Above +2.339e+01Sqft_Living15 +2.417e+03Renov_Duration +1.154e+01Sqft_Living(View1:SqftLiving) +8.043e+01Sqft_Living(View2:SqftLiving) +1.301e+01Sqft_Living(View3:SqftLiving) +2.219e+02Sqft_Living(View4:SqftLiving)
  2. P-value <2.2e-16 yang berarti model yang dibangun signifikan secara statistik
  3. R-squared = 0.6122 yang artinya 61,22% varians dari variabel dependen mampu dijelaskan oleh variabel independen dalam model sedangkan 38,78% variabel dependen lainnya tidak dijelaskan dalam model


## Model with renov_stat indicator

model4 <- lm(price~renov_stat * sqft_living +bathrooms +bedrooms +floors +grade +sqft_above +sqft_living15 +renov_duration, data = perumahan)
summary(model4)
## 
## Call:
## lm(formula = price ~ renov_stat * sqft_living + bathrooms + bedrooms + 
##     floors + grade + sqft_above + sqft_living15 + renov_duration, 
##     data = perumahan)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1121547  -129179   -21133    95610  4560310 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            -5.306e+05  1.476e+04 -35.945  < 2e-16 ***
## renov_stat             -3.464e+05  2.757e+04 -12.566  < 2e-16 ***
## sqft_living             2.389e+02  5.025e+00  47.530  < 2e-16 ***
## bathrooms              -2.380e+04  3.627e+03  -6.563 5.40e-11 ***
## bedrooms               -3.751e+04  2.225e+03 -16.862  < 2e-16 ***
## floors                 -9.711e+03  4.095e+03  -2.371   0.0177 *  
## grade                   1.069e+05  2.460e+03  43.462  < 2e-16 ***
## sqft_above             -6.886e+01  4.879e+00 -14.114  < 2e-16 ***
## sqft_living15           3.129e+01  3.962e+00   7.896 3.01e-15 ***
## renov_duration          1.483e+03  3.327e+02   4.456 8.40e-06 ***
## renov_stat:sqft_living  1.892e+02  7.615e+00  24.840  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 240200 on 21602 degrees of freedom
## Multiple R-squared:  0.572,  Adjusted R-squared:  0.5718 
## F-statistic:  2887 on 10 and 21602 DF,  p-value: < 2.2e-16
  1. Persamaan regresi yang dihasilkan adalah Price = -5.306e+05 -3.464e+05renov_stat +2.389e+02Sqft_Living -2.380e+04Bathrooms -3.751e+04Bedrooms -9.711e+03Floors +1.069e+05Grade -6.886e+01Sqft_Above +3.129e+01Sqft_Living15 +1.483e+03Renov_Duration +1.892e+01Sqft_Living(Renov_Stat:Sqft_Living)
  2. P-value <2.2e-16 yang berarti model yang dibangun signifikan secara statistik
  3. R-squared = 0.5718 yang artinya 57,18% varians dari variabel dependen mampu dijelaskan oleh variabel independen dalam model sedangkan 42,82% variabel dependen lainnya tidak dijelaskan dalam model


## Model with bsmnt_stat indicator

model5 <- lm(price~bsmnt_stat * sqft_living +bathrooms +bedrooms +floors +grade +sqft_above +sqft_living15 +renov_duration, data = perumahan)
summary(model5)
## 
## Call:
## lm(formula = price ~ bsmnt_stat * sqft_living + bathrooms + bedrooms + 
##     floors + grade + sqft_above + sqft_living15 + renov_duration, 
##     data = perumahan)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1445953  -123504   -19244    94140  4014469 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            -4.719e+05  1.467e+04 -32.166  < 2e-16 ***
## bsmnt_stat             -1.903e+05  8.577e+03 -22.185  < 2e-16 ***
## sqft_living            -1.389e+01  1.021e+01  -1.361    0.174    
## bathrooms              -2.287e+04  3.601e+03  -6.353 2.16e-10 ***
## bedrooms               -3.091e+04  2.208e+03 -13.998  < 2e-16 ***
## floors                 -1.945e+04  4.050e+03  -4.802 1.58e-06 ***
## grade                   1.051e+05  2.438e+03  43.108  < 2e-16 ***
## sqft_above              1.487e+02  9.751e+00  15.254  < 2e-16 ***
## sqft_living15           3.685e+01  3.916e+00   9.411  < 2e-16 ***
## renov_duration          2.508e+03  1.315e+02  19.073  < 2e-16 ***
## bsmnt_stat:sqft_living  1.621e+02  4.629e+00  35.012  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 237100 on 21602 degrees of freedom
## Multiple R-squared:  0.583,  Adjusted R-squared:  0.5828 
## F-statistic:  3020 on 10 and 21602 DF,  p-value: < 2.2e-16
  1. Persamaan regresi yang dihasilkan adalah Price = -4.719e+05 -1.903e+05Bsmnt_Stat -1.389e+01Sqft_Living -2.287e+04Bathrooms -3.091e+04Bedrooms -1.945e+01Floors +1.051e+05Grade +1.487e+02Sqft_Above +3.685e+01Sqft_Living15 +2.508e+03Renov_Duration +1.621e+02Sqft_Living(Bsmnt_Stat:SqftLiving)
  2. P-value <2.2e-16 yang berarti model yang dibangun signifikan secara statistik
  3. R-squared = 0.5828 yang artinya 58,28% varians dari variabel dependen mampu dijelaskan oleh variabel independen dalam model sedangkan 41,72% variabel dependen lainnya tidak dijelaskan dalam model


Perbandingan 5 Model

library(stargazer)
stargazer(model1, model2, model3, header=FALSE,
          type='text',
          title="Perbandingan Model",
          keep.stat="n", digits=2, single.row=TRUE,
          intercept=FALSE)
## 
## Perbandingan Model
## =========================================================================================================
##                                                        Dependent variable:                               
##                         ---------------------------------------------------------------------------------
##                                                               price                                      
##                                     (1)                        (2)                        (3)            
## ---------------------------------------------------------------------------------------------------------
## condition2               -123,984.90 (109,122.80)                                                        
## condition3              -220,971.30** (101,011.10)                                                       
## condition4              -214,275.10** (101,202.60)                                                       
## condition5              -265,638.00*** (101,969.30)                                                      
## waterfront1                                         -351,670.00*** (40,289.77)                           
## view1                                                                          -139,302.60*** (33,839.96)
## view2                                                                          -102,058.50*** (19,329.93)
## view3                                                                          -204,294.00*** (27,779.45)
## view4                                                                          -155,803.10*** (31,089.78)
## sqft_living                  151.04** (74.84)            225.65*** (4.79)           173.71*** (5.06)     
## bathrooms                -17,414.64*** (3,626.18)    -20,076.53*** (3,469.82)   -16,797.89*** (3,454.00) 
## bedrooms                 -42,907.32*** (2,220.75)    -29,815.59*** (2,134.81)   -24,125.66*** (2,136.82) 
## floors                       17.20 (4,158.85)         -8,670.00** (3,914.79)     -8,410.94** (3,895.83)  
## grade                    108,786.70*** (2,461.67)    104,400.60*** (2,351.48)   99,324.50*** (2,344.57)  
## sqft_above                   -46.96*** (5.01)            -62.51*** (4.66)           -29.59*** (4.75)     
## sqft_living15                 27.23*** (3.94)            30.36*** (3.79)            23.39*** (3.83)      
## renov_duration             3,000.75*** (132.95)        2,502.60*** (127.49)       2,417.07*** (127.11)   
## condition2:sqft_living         33.73 (79.27)                                                             
## condition3:sqft_living         70.99 (74.69)                                                             
## condition4:sqft_living         98.33 (74.76)                                                             
## condition5:sqft_living       166.11** (74.97)                                                            
## waterfront1:sqft_living                                 355.10*** (11.42)                                
## view1:sqft_living                                                                  115.41*** (12.27)     
## view2:sqft_living                                                                   80.43*** (6.82)      
## view3:sqft_living                                                                   130.12*** (8.69)     
## view4:sqft_living                                                                   221.86*** (8.58)     
## Constant                -357,459.10*** (101,195.90) -533,045.20*** (14,104.80) -472,116.80*** (14,120.14)
## ---------------------------------------------------------------------------------------------------------
## Observations                      21,613                      21,613                     21,613          
## =========================================================================================================
## Note:                                                                         *p<0.1; **p<0.05; ***p<0.01
## 
## Perbandingan Model
## =====
## FALSE
## -----
stargazer(model4, model5, header=FALSE,
          type='text',
          title="Perbandingan Model",
          keep.stat="n", digits=2, single.row=TRUE,
          intercept=FALSE)
## 
## Perbandingan Model
## ============================================================================
##                                         Dependent variable:                 
##                        -----------------------------------------------------
##                                                price                        
##                                   (1)                        (2)            
## ----------------------------------------------------------------------------
## renov_stat             -346,421.20*** (27,567.19)                           
## bsmnt_stat                                        -190,272.00*** (8,576.63) 
## sqft_living                 238.85*** (5.03)            -13.89 (10.21)      
## bathrooms               -23,802.98*** (3,627.00)   -22,873.09*** (3,600.56) 
## bedrooms                -37,512.67*** (2,224.75)   -30,908.89*** (2,208.05) 
## floors                   -9,710.69** (4,095.30)    -19,446.96*** (4,050.13) 
## grade                   106,927.60*** (2,460.24)   105,104.50*** (2,438.15) 
## sqft_above                  -68.86*** (4.88)           148.74*** (9.75)     
## sqft_living15               31.28*** (3.96)            36.85*** (3.92)      
## renov_duration            1,482.53*** (332.71)       2,507.57*** (131.47)   
## renov_stat:sqft_living      189.16*** (7.62)                                
## bsmnt_stat:sqft_living                                 162.05*** (4.63)     
## Constant               -530,578.50*** (14,761.03) -471,864.60*** (14,669.61)
## ----------------------------------------------------------------------------
## Observations                     21,613                     21,613          
## ============================================================================
## Note:                                            *p<0.1; **p<0.05; ***p<0.01
## 
## Perbandingan Model
## =====
## FALSE
## -----

Model Evaluation (dengan menggunakan ANOVA, RMSE, Rsquared)

model1MAPE <- mean(abs(model1$residuals/model1$fitted.values))
model2MAPE <- mean(abs(model2$residuals/model2$fitted.values))
model3MAPE <- mean(abs(model3$residuals/model3$fitted.values))
model4MAPE <- mean(abs(model4$residuals/model4$fitted.values))
model5MAPE <- mean(abs(model5$residuals/model5$fitted.values))
model1Rsquared <- summary(model1)$r.squared
model2Rsquared <- summary(model2)$r.squared
model3Rsquared <- summary(model3)$r.squared
model4Rsquared <- summary(model4)$r.squared
model5Rsquared <- summary(model5)$r.squared

data.frame(Model = c(1:5),
           MAPE = c(model1MAPE, model2MAPE, model3MAPE, model4MAPE, model5MAPE),
           Rsquare = c(model1Rsquared, model2Rsquared, model3Rsquared, model4Rsquared, model5Rsquared))

Mean Absolute Percentage Error (MAPE) suatu cara untuk mengevaluasi sebuah model dengan mengukur tingkat persentase kesalahan relatif dari suatu model yang dibangun. Nilai MAPE yang mendekati 0% artinya model tersebut memiliki tingkat kesalahan yang rendah begitupun sebaliknya.
R-Squared adalah salah satu cara mengevaluasi sebuah model dengan melihat seberapa baik kualitas model cocok dalam data yang diamati. Nilai R-Square yang semakin mendekati 1 maka model tersebut cocok atau mampu menjelaskan seluruh varians dalam variabel dependen begitupun sebaliknya.


Berdasarkan perbandingan kelima model yang sudah dibangun model 3 menunjukkan persentase tingkat kesalahannya lebih kecil dibanding yang lain yaitu 0.3176 atau 31,76% dengan R-Square yang tertinggi yaitu 0.6124 atau 61,24%.

Conclusion

Untuk memprediksi harga rumah dengan menggunakan model view sebagai variabel kategorik menghasilkan error terkecil dibandingkan model yang lain yaitu MAPE sebesar 31,76%. Akan tetapi, nilai MAPE yang dihasilkan cukup tinggi hal ini dikarenakan masih butuh variabel dependen lain sebagai analisis untuk prediksi harga rumah. Seperti yang dihasilkan pada R-Square sebesar 61,24% yang dimana bahwa terdapat 38,76% variabel dependen lainnya yang perlu diperhatikan untuk melakukan prediksi harga rumah yang lebih akurat. Pada analisis kali ini model yang dibangun masing-masing hanya menggunakan satu variabel kategorik, untuk analisis lebih lanjut bisa menggunakan kombinasi variabel kategorik lebih dari satu.