data<-read.csv("C:/Users/Lenovo/Downloads/Data Real Estate.csv")
names(data)
## [1] "X"
## [2] "X2.house.age"
## [3] "X3.distance.to.the.nearest.MRT.station"
## [4] "X4.number.of.convenience.stores"
## [5] "X5.latitude"
## [6] "X6.longitude"
## [7] "Y.house.price.of.unit.area"
colnames(data)[colnames(data)=="X2.house.age"]="X2"
colnames(data)[colnames(data)=="X3.distance.to.the.nearest.MRT.station"]="X3"
colnames(data)[colnames(data)=="X4.number.of.convenience.stores"]="X4"
colnames(data)[colnames(data)=="X5.latitude"]="X5"
colnames(data)[colnames(data)=="X6.longitude"]="X6"
colnames(data)[colnames(data)=="Y.house.price.of.unit.area"]="Y"
Data yang dianalisis merupakan dataset kaggle yaitu real estate price prediction yang merupakan data prediksi harga real estate yang dipengaruhi oleh beberapa variabel,yaitu usia rumah (X2),Jarak ke stasiun MRT (X3),Jumlah toko serba ada (X4),Posisi garis lintang (X5),Posisi garis bujur (X6) yang diduga memengaruhi harga rumah (Y).Sebelumnya juga dilakukan preprocessing data yaitu dengan menghilangkan variabel tanggal transaksi untuk memudahkan proses analisis regresi
summary(data)
## X X2 X3 X4
## Min. : 0.0 Min. : 0.000 Min. : 23.38 Min. : 0.000
## 1st Qu.:103.2 1st Qu.: 9.025 1st Qu.: 289.32 1st Qu.: 1.000
## Median :206.5 Median :16.100 Median : 492.23 Median : 4.000
## Mean :206.5 Mean :17.713 Mean :1083.89 Mean : 4.094
## 3rd Qu.:309.8 3rd Qu.:28.150 3rd Qu.:1454.28 3rd Qu.: 6.000
## Max. :413.0 Max. :43.800 Max. :6488.02 Max. :10.000
## X5 X6 Y
## Min. :24.93 Min. :121.5 Min. : 7.60
## 1st Qu.:24.96 1st Qu.:121.5 1st Qu.: 27.70
## Median :24.97 Median :121.5 Median : 38.45
## Mean :24.97 Mean :121.5 Mean : 37.98
## 3rd Qu.:24.98 3rd Qu.:121.5 3rd Qu.: 46.60
## Max. :25.01 Max. :121.6 Max. :117.50
library(ggplot2)
hist(data$X2)
hist(data$X3)
hist(data$X4)
hist(data$X5)
hist(data$X6)
hist(data$Y)
ggplot(data=data)+
geom_point(mapping=aes(x=X2,y=Y))
ggplot(data=data)+
geom_point(mapping=aes(x=X3,y=Y))
ggplot(data=data)+
geom_point(mapping=aes(x=X4,y=Y))
ggplot(data=data)+
geom_point(mapping=aes(x=X5,y=Y))
ggplot(data=data)+
geom_point(mapping=aes(x=X6,y=Y))
Akan dilanjutkan proses analisis korelasi antara variabel respons dan prediktor guna mengetahui keterkaitan antara keduanya apakah saling berhubungan atau tidak dan apakah hubungannya kuat dll
cor.test(data$Y,data$X2,method="pearson")
##
## Pearson's product-moment correlation
##
## data: data$Y and data$X2
## t = -4.3721, df = 412, p-value = 1.56e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.3008396 -0.1165546
## sample estimates:
## cor
## -0.210567
cor.test(data$Y,data$X3,method="pearson")
##
## Pearson's product-moment correlation
##
## data: data$Y and data$X3
## t = -18.5, df = 412, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.7230493 -0.6173117
## sample estimates:
## cor
## -0.6736129
cor.test(data$Y,data$X4,method="pearson")
##
## Pearson's product-moment correlation
##
## data: data$Y and data$X4
## t = 14.118, df = 412, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.5022680 0.6325709
## sample estimates:
## cor
## 0.5710049
cor.test(data$Y,data$X5,method="pearson")
##
## Pearson's product-moment correlation
##
## data: data$Y and data$X5
## t = 13.239, df = 412, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.4749350 0.6105385
## sample estimates:
## cor
## 0.5463067
cor.test(data$Y,data$X6,method="pearson")
##
## Pearson's product-moment correlation
##
## data: data$Y and data$X6
## t = 12.464, df = 412, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.4495826 0.5899131
## sample estimates:
## cor
## 0.5232865
Variabel Y memiliki korelasi positif dengan variabel X4,X5,X6.Artinya semakin besar nilai variabel X4,X5 dan X6,maka akan semakin besar nilai Y,Begitu juga sebaliknya.Adapun Variabel Y memiliki korelasi negatif dengan variabel X2 dan X3.Artinya semakin besar nilai variabel X2 & X3 maka semakin kecil nilai Y begitu juga sebaliknya
library(ggplot2)
plot(data$Y~data$X2)
plot(data$Y~data$X3)
plot(data$Y~data$X4)
plot(data$Y~data$X5)
plot(data$Y~data$X6)
## analisis regresi setelah melakukan analisis korelasi maka proses
selanjutnya adalah melakukan proses analisis regresi berganda
datreg<-lm(data$Y~data$X2+data$X3+data$X4+data$X5+data$X6,data=data)
datreg
##
## Call:
## lm(formula = data$Y ~ data$X2 + data$X3 + data$X4 + data$X5 +
## data$X6, data = data)
##
## Coefficients:
## (Intercept) data$X2 data$X3 data$X4 data$X5 data$X6
## -4.946e+03 -2.689e-01 -4.259e-03 1.163e+00 2.378e+02 -7.805e+00
summary(datreg)
##
## Call:
## lm(formula = data$Y ~ data$X2 + data$X3 + data$X4 + data$X5 +
## data$X6, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -34.546 -5.267 -1.600 4.247 76.372
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.946e+03 6.211e+03 -0.796 0.426
## data$X2 -2.689e-01 3.900e-02 -6.896 2.04e-11 ***
## data$X3 -4.259e-03 7.233e-04 -5.888 8.17e-09 ***
## data$X4 1.163e+00 1.902e-01 6.114 2.27e-09 ***
## data$X5 2.378e+02 4.495e+01 5.290 2.00e-07 ***
## data$X6 -7.805e+00 4.915e+01 -0.159 0.874
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.965 on 408 degrees of freedom
## Multiple R-squared: 0.5712, Adjusted R-squared: 0.5659
## F-statistic: 108.7 on 5 and 408 DF, p-value: < 2.2e-16
nilai p-value (2.2 x 10^-16) < alpha (0,05) artinya tolak H0,maka variabel prediktor berpengaruh signifikan secara serentak terhadap variabel respon
nilai p-value pada variabel X2,X3,X4,X5 kurang dari alpha (0,05).Sementara hanya variabel X6 yang memiliki nilai p-Value (0,874)> alpha (0,05).Artinya Tolak Ho untuk variabel X2,X3,X4 dan X5 serta gagal tolak Ho untuk variael X6.Maka variabel X2,X3,X4,X5 berpengaruh signifikan secara parsial terhadap model,sementara variabel X6 tidak berpengaruh signifikan secara parsial terhadap model
berikutnya akan dilakukan uji asumsi klasik pada mdel regresi yang dihasilkan meliputi pengujian multikolinearitas,normalitas,heteroskedastisitas dan autokorelasi
library(car)
## Loading required package: carData
vif(datreg)
## data$X2 data$X3 data$X4 data$X5 data$X6
## 1.014249 4.282985 1.613339 1.599017 2.923881
nilai VIF pada variabel prediktor X2,X3,X4,X5,X6 semuanya bernilai <10.Maka semua variabel prediktor telah memenuhi asumsi multikolinearitas
library(tseries)
## Warning: package 'tseries' was built under R version 4.3.2
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
uji<-residuals(datreg)
shapiro.test(uji)
##
## Shapiro-Wilk normality test
##
## data: uji
## W = 0.86812, p-value < 2.2e-16
Ho: residual berdistribusi normal H1 : residual tidak berdistribusi normal nilai p-value (2.2 x 10^-16)< alpha (0,05).Artinya tolak Ho.maka residual tidak memenuhi asumsi distribusi normal
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.3.2
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
bptest(datreg)
##
## studentized Breusch-Pagan test
##
## data: datreg
## BP = 4.4956, df = 5, p-value = 0.4805
H0:Tidak terjadi heteroskedastisitas H1: Terjadi hteroskedastisitas nilai p-value (0,4805)> alpha(0,05).Artinya tidak terjadi heteroskedastisitas pada model regresi yang dihasilkan
dwtest(datreg)
##
## Durbin-Watson test
##
## data: datreg
## DW = 2.1495, p-value = 0.9376
## alternative hypothesis: true autocorrelation is greater than 0
H0: tidak terjadi autokorelasi H1: terjadi autokorelasi berdasarkan uji durbin watson didapat nilai p-value (0,9376)> alpha (0,05).Artinya gagal tolak H0,Maka model regresi yang dihasilkan tidak terjadi autokorelasi