| Kontak | \(\downarrow\) |
| valensiusjimy27@gmail.com | |
| https://www.instagram.com/valjimy_/ | |
| RPubs | https://rpubs.com/valensiusjimy/ |
1 Pendahuluan
Setelah melaksanakan 7 pertemuan dalam mata kuliah Ekonometrika,
kemudian pada pertemuan ke-8 dilaksanakan Ujian Tengah Semester atau UTS
sebagai tolak ukur proses pembelajaran mahasiswa Statistika angkatan
2021. Ucapan terima kasih dihaturkan kepada dosen pengajar dalam mata
kuliah ini sekaligus ketua program studi Statistika Universitas Matana,
yaitu bapak Bakti Siregar, S.Si., M.Sc. Pada bagian selanjutnya
merupakan pelaporan tugas untuk memenuhi penilaian UTS, harapannya lewat
tugas ini bukan hanya mendapatkan nilai terbaik oleh penulis, tetapi
dapat menjadi manfaat bagi pembaca.
Dalam memenuhi penilaian UTS,
mahasiswa diberikan 2 kasus yang harus dipecahkan dan berhubungan dengan
Regresi, penyelesaiannya mulai dari membuat data, hipotesis, membuat
grafik plot, hingga memenuhi asumsi klasik dalam regresi. Kasus yang
disajikan berbeda, yaitu mulai dari yang berhubungan dengan kinerja
suatu perusahaan dan pengaruh harga rumah. Tanpa mengulur waktu lebih
lama lagi, lebih baik langsung masuk pada kasus dan sajian laporan atau
penyelesaiannya. Selamat Menikmati!
1.1 Kasus 1
1.1.1 Pengenalan Kasus
Dalam aspek ekonomi dan bisnis, pemahaman tentang faktor-faktor yang mempengaruhi pendapatan penjualan sangatlah penting bagi suatu perusahaan. Analisis regresi linear merupakan metode yang dapat membantu perusahaan untuk memahami hubungan antara berbagai variabel yang terkait dengan pendapatan penjualan mereka. Dalam kasus ini, kita akan menganalisis hubungan antara pengeluaran iklan, harga produk, nilai masa depan, pajak, tingkat suku bunga, dan pendapatan penjualan suatu perusahaan.
1.1.2 Variabel dalam Kasus
Adapun untuk variabel dalam kasus pertama yang dianalisis adalah
sebagai berikut:
* Pengeluaran Iklan (Expenditure): Total
pengeluaran perusahaan untuk kegiatan periklanan dan pemasaran.
*
Harga Produk (Product Price): Harga jual produk perusahaan kepada
konsumen.
* Nilai Masa Depan (Future Value): Nilai yang diharapkan
dari investasi atau proyek di masa depan.
* Pajak (Tax): Tarif
pajak yang dikenakan pada perusahaan.
* Tingkat Suku Bunga
(Interest Rate): Tingkat bunga yang dikenakan pada pinjaman atau
investasi perusahaan.
* Pendapatan Penjualan (Sales Revenue): Total
pendapatan yang diperoleh dari penjualan produk atau layanan.
1.1.3 Tujuan Analisis
Tujuan utama dari analisis ini adalah untuk mengetahui seberapa kuat hubungan antara variabel-variabel independen (pengeluaran iklan, harga produk, nilai masa depan, pajak, dan tingkat suku bunga) dengan variabel dependen (pendapatan penjualan). Dengan memahami hubungan ini, perusahaan dapat membuat keputusan yang lebih baik dalam merencanakan strategi pemasaran, penetapan harga, dan pengelolaan keuangan untuk meningkatkan pendapatan penjualan dan profitabilitasnya.
1.1.4 Metode Analisis
Dalam menganalisis kasus ini akan menggunakan analisis regresi linear untuk mengidentifikasi hubungan linier antara variabel independen dan dependen. Langkah-langkah yang akan diambil termasuk pembuatan dataset hipotetis, pengujian asumsi regresi linear, dan interpretasi hasil regresi untuk mendapatkan wawasan yang berguna bagi perusahaan.Dengan demikian, analisis ini akan membantu perusahaan untuk memahami faktor-faktor yang berkontribusi terhadap kinerja penjualan dan merumuskan strategi yang lebih efektif dalam mengelola bisnis.
1.1.5 Penyelesaian Kasus
1.1.5.1 Membuat Dataset Hipotesis
Langkah awal adalah proses pembuatan dataset hipotesis untuk 10005 data (sesuai dengan 2 digit terakhir NIM : 05) yang melibatkan beberapa langkah yang sistematis. Pertama, kita menetapkan jumlah observasi yang diinginkan, dalam hal ini sebanyak 10005. Selanjutnya, kita menentukan variabel-variabel independen yang akan dimasukkan ke dalam dataset, seperti pengeluaran iklan, harga produk, nilai masa depan, pajak, dan tingkat suku bunga. Setelah itu, kita menggunakan fungsi-fungsi pembangkit angka acak untuk menghasilkan data acak untuk masing-masing variabel independen, dengan memperhatikan rentang nilai yang diinginkan. Selanjutnya, kita menentukan hubungan antara variabel independen dan variabel dependen, yang dalam kasus ini adalah pendapatan penjualan. Ini dilakukan dengan menggabungkan variabel independen ke dalam sebuah persamaan linear dan menambahkan koefisien-koefisien tertentu untuk memperkirakan pendapatan penjualan. Terakhir, untuk mencerminkan ketidakpastian dalam data nyata, kita menambahkan random noise ke nilai-nilai yang dihasilkan untuk variabel dependen. Dengan cara ini, dataset hipotesis dapat membantu kita memahami hubungan antara variabel-variabel yang diamati dan mendukung pengambilan keputusan yang lebih baik dalam konteks bisnis.
1.1.5.2 Membuat 5 Variabel Independen
Dalam kasus ini, diminta untuk membuat lima variabel independen: pengeluaran (expenditure), harga produk (product price), nilai masa depan (future value), pajak (tax), dan tingkat suku bunga (interest rate). Pengeluaran mengacu pada jumlah uang yang dihabiskan oleh perusahaan untuk kegiatan periklanan atau pemasaran, sementara harga produk adalah harga jual dari produk yang ditawarkan kepada konsumen. Nilai masa depan mencerminkan estimasi nilai atau keuntungan yang diharapkan dari investasi atau proyek di masa mendatang. Pajak merujuk pada tarif pajak yang dikenakan pada perusahaan atas pendapatan atau kegiatan bisnis mereka, sementara tingkat suku bunga adalah tingkat bunga yang dikenakan pada pinjaman atau investasi perusahaan. Setelah memahami arti dari masing-masing variabel independen, langkah selanjutnya adalah menghasilkan nilai-nilai untuk variabel tersebut, yang dapat dilakukan dengan berbagai metode, tergantung pada konteks dan data yang tersedia. Dengan memperhatikan rentang nilai yang realistis, kita dapat membuat dataset yang mencerminkan variasi yang mungkin terjadi dalam variabel independen tersebut.
expenditure <- rnorm(n, mean = 1000, sd = 1100)
product_price <- rnorm(n, mean = 500, sd = 505)
future_value <- rnorm(n, mean = 5000, sd = 4900)
tax <- rnorm(n, mean = 10, sd = 15)
interest_rate <- rnorm(n, mean = 5, sd = 1)df <- data.frame(Expenditure = expenditure,
Product_Price = product_price,
Future_Value = future_value,
Tax = tax,
Interest_Rate = interest_rate)
head(df, 5)## Expenditure Product_Price Future_Value Tax Interest_Rate
## 1 383.4768 1071.6529 8621.7329 1.099837 5.483119
## 2 746.8048 1197.1432 10081.8164 -9.540236 5.053895
## 3 2714.5791 382.4343 -555.1762 6.915258 6.354057
## 4 1077.5592 -308.3249 -906.0181 -5.134966 4.943608
## 5 1142.2165 349.3236 13176.6580 15.632218 4.471659
1.1.5.3 Membuat Variabel Dependen
Selanjutnya, dalam regresi terdapat 2 jenis variabel, yaitu independen dan dependen. Pada langkah sebelumnya sudah dilakukan untuk menyusun variabel independen sebanyak 5 variabel, maka dari itu perlu untuk membuat variabel dependennya. Langkah pertama adalah memahami bahwa kita diminta untuk membuat variabel dependen, yaitu pendapatan penjualan (sales revenue) menggunakan hubungan linear dengan variabel independen yang telah kita buat sebelumnya. Proses ini melibatkan pengembangan sebuah persamaan linear yang mengaitkan variabel dependen dengan variabel-variabel independen yang telah ditetapkan sebelumnya, seperti pengeluaran iklan, harga produk, nilai masa depan, pajak, dan tingkat suku bunga.
sales_revenue <- 1000 + 0.7 * expenditure + 1.5 * product_price + 1.0 * future_value - 2 * tax + 0.8 * interest_rate + rnorm(n, mean = 1000, sd = 998)set.seed(123)
df <- data.frame(Expenditure = expenditure,
Product_Price = product_price,
Future_Value = future_value,
Tax = tax,
Interest_Rate = interest_rate,
Sales_Revenue = sales_revenue)
head(df, 5)## Expenditure Product_Price Future_Value Tax Interest_Rate Sales_Revenue
## 1 383.4768 1071.6529 8621.7329 1.099837 5.483119 12798.778
## 2 746.8048 1197.1432 10081.8164 -9.540236 5.053895 14251.305
## 3 2714.5791 382.4343 -555.1762 6.915258 6.354057 5040.165
## 4 1077.5592 -308.3249 -906.0181 -5.134966 4.943608 1423.163
## 5 1142.2165 349.3236 13176.6580 15.632218 4.471659 17805.710
1.1.5.4 Model Regresi Berganda
Proses pembentukan model regresi linier berganda mengacu hubungan antara satu atau lebih variabel independen dengan variabel dependen. Dalam konteks ini, kita mencoba untuk memahami bagaimana variabel independen seperti pengeluaran iklan, harga produk, nilai masa depan, pajak, dan tingkat suku bunga memengaruhi pendapatan penjualan suatu perusahaan. Dengan menggunakan teknik regresi berganda, kita dapat menyesuaikan model matematis dengan data yang telah dihasilkan sebelumnya untuk memperkirakan koefisien untuk masing-masing variabel independen. Hasil dari proses ini adalah model yang dapat digunakan untuk memprediksi atau menjelaskan nilai pendapatan penjualan berdasarkan nilai variabel independen yang diberikan, sehingga memberikan wawasan yang berguna bagi pengambilan keputusan dalam konteks pemasaran, keuangan, atau strategi bisnis.
Kemudian, bentuk persamaan dari kasus ini dapat dibuat seperti berikut ini:
eq <- paste("sales_revenue = β0 + β1 × expenditure + β2 × product_price + β3 × future_value + β4 × tax + β5 × interest_rate + ϵ")
print(eq)## [1] "sales_revenue = β0 + β1 × expenditure + β2 × product_price + β3 × future_value + β4 × tax + β5 × interest_rate + ϵ"
1.1.5.5 Penjelasan Model
Model yang sudah dibentuk belum menghasilkan penjelasan mengenai
berapa nilai koefisiennya, berapa nilai error atau tingkat kesalahannya
dan perhitungan lainnya. Untuk itu, perlu menggunakan fungsi
summary() agar menghasilkan nilai semuanya. Adapun
langkahnya dan penjelasannya sebagai berikut ini:
##
## Call:
## lm(formula = sales_revenue ~ expenditure + product_price + future_value +
## tax + interest_rate)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3366.5 -680.0 -7.0 666.7 3830.7
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.083e+03 5.458e+01 38.161 < 2e-16 ***
## expenditure 6.842e-01 9.175e-03 74.569 < 2e-16 ***
## product_price 1.526e+00 1.993e-02 76.570 < 2e-16 ***
## future_value 1.000e+00 2.058e-03 486.249 < 2e-16 ***
## tax -2.650e+00 6.724e-01 -3.942 8.14e-05 ***
## interest_rate -1.190e+01 1.007e+01 -1.182 0.237
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1008 on 9999 degrees of freedom
## Multiple R-squared: 0.9613, Adjusted R-squared: 0.9613
## F-statistic: 4.964e+04 on 5 and 9999 DF, p-value: < 2.2e-16
Berdasarkan hasil analisis regresi di atas diketahui bahwa variabel independen expenditure, product_price, future_value dan tax berpengaruh secara signifikan terhadap variabel dependen (sales_revenue) karena p-value kurang dari taraf signifikansi sebesar 0.05 dan hanya variabel interest_rate yang tidak berpengaruh karena p-value lebih besar dari niali signifikan 0.05 dan secara keseluruhan p-value kurang dari 0.05 yang artinya variabel independen memiliki pengaruh yang signifikan terhadap variabel dependen.
Kemudian, model ini dapat diinterpretasikan bahwa setiap variabel independen dapat memberikan pengaruh atau perubahan, misalnya untuk setiap kenaikan satu-satuan biaya iklan, maka akan meningkatkan penjualan sebesar 0.7 dan untuk setiap kenaikan satu-satuan pajak akan menurunkan pendapatan sebesar 2.065 dan begitupula dengan variabel lain yang akan ditampilkan pada setiap perubahannya. Selanjutnya, diketahui bahwa nilai R-squared model ini menyentuh nilai 96.13% yang artinya setiap variabel bebas dapat memberikan arti pada model, terutama variabel terikat. Nilai ini sangat memuaskan untuk sebuah model regresi karena variabel independen dapat menjelaskan artinya terhadap variabel dependen, yaitu penjualannya. Sehingga, model ini dengan yakin dapat memberikan makna atau informasi kepada pihak yang terkait untuk menjawab persoalannya. Perlu diketahui juga bahwa nilai error pada model ini sebesar 995 yang mana artinya 1:20 dari data aslinya. Dapat disimpulkan bahwa model ini sangat baik dalam menjawab persoalan regresi yang ada, yaitu mencari pengaruh dari penjualan dalam suatu perusahaan.
Persamaan model regresi terbentuk sebagai berikut:
Y = 2083 + 0.7X1 + 1.5X2 + 1X3 - 2.65X4 - 0.19X5
1.1.5.6 Plot Model Regresi
1.1.5.6.1 Homoskedasitas dan Liniearitas
plot(model$fitted.values, model$residuals,
xlab = "Nilai yang Diprediksi",
ylab = "Residual",
main = "Plot Residual vs Nilai yang Diprediksi",
col = "#4682B4", pch = 16)
abline(h = 0, col = "#FF6347", lwd = 2) Berdasarkan plot di atas dapat disimpulkan bahwa model bersifat linier karena garis horizontal berwarna merah bergerak lurus dan tetap konstan di titik nilai nol. Kemudian, titik berwarna biru adalah sekumpulan data yang dapat digunakan untuk menentukan apakah model ini bersifat homoskedasitas atau heteroskedasitas. Dalam model yang dibangun ini bersifat homoskedasitas karena sebaran varians yang merata dan konstan.
1.1.5.6.2 Normalitas
qqnorm(model$residuals, main = "Normal Q-Q Plot", col = "#D2B48C")
qqline(model$residuals, col = "red")Berdasarkan plot di atas dapat disimpulkan bahwa model regresi yang telah dibentuk bersifat normal dan memenuhi asumsi klasik, yaitu normalitas. Hal ini dapat dilihat dari titik sebaran yang tetap pada garis merah atau garis liniernya.
1.1.5.6.3 Nilai yang Berpengaruh
Berdasarkan plot di atas dapat diketahui manakah nilai atau titik yang memiliki pengaruh signifikan terhadap model regresi yang telah dibentuk. Pada bagian Cook’s Distance diketahui terdapat 3 nilai yang muncul sebagai nilai yang memiliki pengaruh. Terdapat outlier pada data tersebut dibuktikan dari plot pertama yang mana lumayan jauh dari sebaran rata-rata data.
1.2 Kasus 2
1.2.1 Pengenalan Kasus
Kasus kedua dilakukan untuk menginvestigasi faktor-faktor yang
memengaruhi harga rumah di lima kota yang berbeda. Pemahaman terhadap
faktor-faktor ini memiliki nilai penting bagi pihak yang berhubungan
dalam pasar properti, termasuk pengembang, pembeli rumah, dan pemerintah
daerah. Dengan mengetahui faktor-faktor yang signifikan, para pihak
dapat membuat keputusan yang lebih baik terkait investasi properti,
penetapan harga, serta kebijakan pembangunan kota.
Dalam analisis
data akan menggunakan pendekatan analisis regresi berganda untuk
mengidentifikasi hubungan antara harga rumah dengan beberapa variabel
independen yang telah ditentukan, seperti ukuran rumah, jumlah kamar
tidur, kota lokasi, akses tol, dan usia rumah. Data yang digunakan dalam
penelitian ini adalah data hipotetis yang disimulasikan dengan mencakup
20005 observasi dari lima kota yang berbeda.
Setelah membangun
model regresi berganda, nantinya akan melakukan analisis yang mendalam
terhadap koefisien, standar error, nilai t, dan p-value untuk memahami
kontribusi masing-masing variabel independen terhadap harga rumah. Kami
juga memeriksa kemungkinan adanya multicollinearity antara
variabel independen menggunakan Variance Inflation Factor (VIF)
dan melakukan tes diagnostik untuk heteroskedastisitas dan linearitas
model.
1.2.2 Tujuan Analisis
Analisis ini bertujuan untuk mendapatkan pemahaman yang lebih mendalam tentang faktor-faktor yang memengaruhi harga rumah di berbagai kota. Dengan memahami hubungan antara harga rumah dengan variabel independen seperti ukuran rumah, jumlah kamar tidur, kota lokasi, akses tol, dan usia rumah, kita dapat mengidentifikasi faktor-faktor yang paling signifikan dalam menentukan nilai properti. Tujuan dari analisis ini adalah untuk memberikan wawasan yang berguna bagi pengembang properti, pembeli rumah, dan pemerintah daerah dalam membuat keputusan terkait penetapan harga, investasi properti, serta perumahan dan pembangunan kota secara keseluruhan. Dengan pemahaman yang lebih baik tentang faktor-faktor yang mempengaruhi harga rumah.
1.2.3 Penyelesaian Kasus
1.2.3.1 Pembentukan Variabel
Pada langkah awal ini akan dilakukan pembentukan simulasi hipotesis dataset dengan variabel yang berisi 20005 data dan jumlah variabel sebanyak 6 variabel, yaitu ukuran rumah, jumlah kamar tidur, kota lokasi, akses tol dan usia rumah, serta variabel harga rumah sebagai variabel dependennya.
set.seed(123)
n <- 20005
ukuran_rumah <- rnorm(n, mean = 150, sd = 50)
jumlah_kamar_tidur = sample(1:5, n, replace = TRUE)
kota <- sample(c("Tangerang", "Bandung", "Cileungsi", "Jakarta", "Bekasi"), n, replace = TRUE)
akses_tol <- sample(c("Ya", "Tidak"), n, replace = TRUE)
usia_rumah <- sample(1:50, n, replace = TRUE)
harga <- 1000 + 11 * ukuran_rumah + 5 * jumlah_kamar_tidur - 5 * usia_rumah + rnorm(n, mean=1000, sd=100)rmh <- data.frame(ukuran_rumah = ukuran_rumah,
jumlah_kamar_tidur = jumlah_kamar_tidur,
kota = kota,
akses_tol = akses_tol,
usia_rumah = usia_rumah,
harga = harga)
head(rmh, 5)## ukuran_rumah jumlah_kamar_tidur kota akses_tol usia_rumah harga
## 1 121.9762 3 Bandung Ya 22 3249.948
## 2 138.4911 3 Bandung Tidak 26 3324.021
## 3 227.9354 2 Tangerang Ya 37 4317.468
## 4 153.5254 2 Jakarta Tidak 12 3637.400
## 5 156.4644 5 Cileungsi Ya 41 3746.995
1.2.3.2 Model Regresi Berganda
Selanjutnya akan membentuk sebuah model regresi berganda yang memperhitungkan variabel dependen, yaitu harga rumah, serta variabel independen yang meliputi semua faktor yang relevan. Model ini dirancang untuk membantu kita memahami bagaimana variabel-variabel seperti ukuran rumah, jumlah kamar tidur, kota lokasi, akses tol, dan usia rumah berkontribusi terhadap penentuan harga rumah. Dengan memasukkan semua variabel independen ke dalam model ini, harapannya adalah akan didapat informasi yang lebih lengkap dan akurat tentang faktor-faktor apa saja yang secara signifikan mempengaruhi harga rumah.
1.2.3.2.1 Mengubah “Kota” dan “Akses_Tol” menjadi Variabel Kategorik
Selanjutnya, variabel kota dan akses_tol
akan diubah menjadi faktor untuk nantinya mengolah data tersebut yang
merupakan data kategorik dalam proses membangun model regresi.
1.2.3.2.2 Membangun Variabel Dummy
Dalam regresi kedua ini, variabel kota dan akses tol merupakan variabel kategorikal yang perlu diubah menjadi variabel dummy sebelum dimasukkan ke dalam model regresi. Ini penting karena model regresi membutuhkan input numerik, sedangkan variabel kategorikal seperti kota dan akses tol memiliki beberapa kategori. Dengan membuat variabel dummy untuk setiap kategori kota (Cileungsi, Bandung, Jakarta, Tangerang, Bekasi) dan akses tol (Ya atau Tidak), kita dapat memperlakukan masing-masing kategori secara terpisah dalam analisis regresi. Ini memungkinkan model untuk memperhitungkan efek unik dari setiap kategori dalam mempengaruhi harga rumah, sehingga menghasilkan estimasi yang lebih akurat tentang faktor-faktor yang memengaruhi harga rumah di berbagai kota dan dengan atau tanpa akses tol.
kota_dummy <- model.matrix(~ kota - 1, data = rmh)
colnames(kota_dummy) <- gsub("kota", "", colnames(kota_dummy))
tol_dummy <- model.matrix(~ akses_tol - 1, data = rmh)
colnames(tol_dummy) <- gsub("akses_tol", "", colnames(tol_dummy))
rmh <- cbind(rmh, kota_dummy, tol_dummy)
rmh <- subset(rmh, select = -c(kota, akses_tol))
rmh <- subset(rmh, select = -c(Bekasi))1.2.3.3 Interpretasi Hasil
##
## Call:
## lm(formula = harga ~ ukuran_rumah + jumlah_kamar_tidur + Jakarta +
## Tangerang + Bandung + Cileungsi + Ya + usia_rumah, data = rmh)
##
## Residuals:
## Min 1Q Median 3Q Max
## -411.13 -66.65 -0.02 67.61 380.60
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1995.28365 3.35341 595.002 <2e-16 ***
## ukuran_rumah 11.01914 0.01413 779.971 <2e-16 ***
## jumlah_kamar_tidur 5.38551 0.50193 10.730 <2e-16 ***
## Jakarta 2.48865 2.23623 1.113 0.266
## Tangerang 2.28114 2.22146 1.027 0.304
## Bandung 0.49056 2.22917 0.220 0.826
## Cileungsi -1.58747 2.24036 -0.709 0.479
## Ya -1.13597 1.41312 -0.804 0.421
## usia_rumah -4.96115 0.04858 -102.116 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 99.91 on 19996 degrees of freedom
## Multiple R-squared: 0.9687, Adjusted R-squared: 0.9687
## F-statistic: 7.737e+04 on 8 and 19996 DF, p-value: < 2.2e-16
Berdasarkan hasil di atas, dapat ditentukan dalam persamaan model
regresi berganda seperti berikut ini:
Y = 1995.3 + 11X1 + 5.4X2 + 2.5X3 + 2.3X4 + 0.5X5 - 1.6X6 - 1.13X7 - 5X8
Artinya, setiap variabel independen memiliki pengaruh untuk merubah
setiap nilai dari harga rumah, misalnya ketika seluruh nilai peubah
bebas adalah nol, maka harga rumah akan sebesar 1995.3 dan ketika adanya
kenaikan satu satuan ukuran rumah akan meningkatkan harga rumah sebesar
11, ketika terdapat pertambahan satu kamar tidur akan meningkatkan harga
rumah sebesar 5.4 dan pengaruh harga rumah juga dari kota lokasinya.
Misalnya, Jakarta dan Tangerang memiliki pengaruh kenaikan harga
tertinggi dibanding kota lain, hal ini dengan logis dapat diterima
karena pengaruh kota yang lebih banyak pergerakan ekonomi dan
masyarakatnya pasti memiliki UMR yang tinggi dan daya konsumsi tinggi,
sehingga memengaruhi harga rumah. Usia rumah berpengaruh negatif, dimana
ketika usianya bertambah satu satuan akan mengurangi harga rumah sebesar
5.
Dari beberapa variabel bebas atau independen yang ada variabel ukuran rumah, usia rumah dan jumlah kamar tidur yang memiliki pengaruh signifikan terhadap variabel dependen, yaitu harga rumah. Hal tersebut dibuktikan dari hasil p-value kedua variabel yang nilainya kurang dari 0.05 dan variabel lain lebih dari 0.05 untuk p-valuenya. Namun, secara keseluruhan model ini membuktikan bahwa variabel x atau bebas berpengaruh secara signifikan terhadap variabel dependen atau y. Selanjutnya, nilai R-Squared pada model ini sebesar 96.87% yang mana artinya model ini sudah cukup baik, dimana dibuktikan dari variabel independen yang ditambahkan dapat menjelaskan pengaruh terhadap dependennya. Secara keseluruhan, model ini dapat dikatakan model yang baik karena memiliki R-Squared yang lebih dari standar secara umum (sebesar 50%).
1.2.3.4 Mean Absolute Percentage Error
Pada kasus kali ini, kita akan membuktikan seberapa efektif model yang dibangun dikarenakan secara regresi terlihat kurang baik dengan nilai R-Square yang kecil dan p-value yang membuktikan bahwa setiap variabel independen tidak memiliki pengaruh yang signifikan terhadap variabel dependen. Untuk mengetahui seberapa baik modelnya dapat menggunakan MAPE sebagai acuan evaluasi modelnya.
predicted_prices <- predict(modelo)
observed_prices <- rmh$harga
MAPE <- mean(abs((observed_prices - predicted_prices) / observed_prices)) * 100
print(paste("MAPE:", round(MAPE, 2), "%"))## [1] "MAPE: 2.32 %"
Berdasarkan hasil tersebut diketahui bahwa nilai MAPE sebesar 2.32%
yang artinya masih dalam kategori sangat baik.
1.2.3.5 Multikolinearitas
Variance Inflation Factor (VIF) digunakan untuk memeriksa
keberadaan multicollinearity antara variabel independen dalam
model regresi. Multikolinieritas terjadi ketika dua atau lebih variabel
independen dalam model memiliki korelasi yang kuat satu sama lain, yang
dapat menyebabkan masalah dalam interpretasi koefisien regresi. Untuk
menghitung VIF, kita melakukan regresi linier untuk masing-masing
variabel independen terhadap variabel lainnya, dan kemudian menghitung
rasio varians dari setiap koefisien terhadap varians koefisien yang
diestimasi untuk variabel tersebut. Nilai VIF yang tinggi (biasanya di
atas 10) menunjukkan adanya multikolinearitas yang signifikan. Dalam
kasus inia dapat menggunakan fungsi vif() dari paket
car dalam R untuk menghitung VIF untuk setiap variabel
independen dalam model regresi. Jika ada variabel dengan nilai VIF yang
tinggi, mungkin perlu mempertimbangkan untuk menghapus salah satu
variabel yang berkorelasi kuat tersebut dari model.
## ukuran_rumah jumlah_kamar_tidur Jakarta Tangerang
## 1.000236 1.000370 1.591920 1.602621
## Bandung Cileungsi Ya usia_rumah
## 1.597149 1.589293 1.000407 1.000155
variabel <- c("ukuran_rumah", "jumlah_kamar_tidur", "Jakarta", "Tangerang", "Bandung", "Cileungsi", "Ya", "usia_rumah")
nilai_vif <- c(1.000236, 1.000370, 1.591920, 1.602621, 1.597149, 1.589293, 1.000407, 1.000155)
vif_table <- data.frame(Variabel = variabel, `Nilai VIF` = nilai_vif)
vif_table## Variabel Nilai.VIF
## 1 ukuran_rumah 1.000236
## 2 jumlah_kamar_tidur 1.000370
## 3 Jakarta 1.591920
## 4 Tangerang 1.602621
## 5 Bandung 1.597149
## 6 Cileungsi 1.589293
## 7 Ya 1.000407
## 8 usia_rumah 1.000155
Berdasarkan nilai VIF yang didapatkan dari analisis di atas, disimpulkan bahwa seluruh variabel memiliki nilai VIF di bawah 10 yang artinya tidak adanya multikolinieritas yang signifikan dari setiap variabel tersebut. Hal ini baik bagi model karena ketika nilai VIF di atas 10 akan menyebabkan kesalahan dalam interpretasi, sehingga ketika menemukan nilai VIF di atas 10 lebih baik dibuang.
1.2.3.6 Breusch-Pagan dan Rainbow Test
Pada bagian ini akan menjelaskan tentang dua uji diagnostik yang penting dalam analisis regresi, yaitu uji Breusch-Pagan untuk heteroskedastisitas dan uji Rainbow untuk linearitas. Heteroskedastisitas merujuk pada ketidaksamaan varians dalam residu model regresi, yang dapat menyebabkan estimasi yang tidak efisien dan tidak dapat diandalkan. Uji Breusch-Pagan digunakan untuk menguji keberadaan heteroskedastisitas dalam model regresi. Di sisi lain, uji Rainbow digunakan untuk menguji linearitas model regresi. Meskipun uji Rainbow secara khusus digunakan untuk menguji linearitas, hasil yang tidak signifikan juga dapat mengindikasikan adanya heteroskedastisitas yang tersisa dalam model. Oleh karena itu, kedua uji ini saling terkait dan penting untuk dilakukan dalam proses analisis regresi guna memastikan keandalan model.
1.2.3.6.1 Breusch-Pagan
Dalam melakukan analisis ini akan digunakan fungsi
lmtest dan langkahnya sebagai berikut:
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## studentized Breusch-Pagan test
##
## data: modelo
## BP = 5.0126, df = 8, p-value = 0.7562
Hasil dari uji BP didapatkan p-value sebesar 0.7562 yang artinya lebih besar dari taraf signifikansi 0.05 dan dapat disimpulkan bahwa model ini bersifat homoskedasitas yang artinya sebaran varians merata. Pembuktian agar lebih meyakinkan dapat dibentuk sebuah plot seperti berikut:
1.2.3.6.2 Rainbow Test
Dalam analisis atau menguji linieritas model, digunakan library
car dengan langkah sebagai berikut ini.
rainbow_test <- linearHypothesis(modelo, c("ukuran_rumah", "jumlah_kamar_tidur", "Jakarta", "Tangerang", "Bandung", "Cileungsi", "Ya", "usia_rumah"))
print(rainbow_test)## Linear hypothesis test
##
## Hypothesis:
## ukuran_rumah = 0
## jumlah_kamar_tidur = 0
## Jakarta = 0
## Tangerang = 0
## Bandung = 0
## Cileungsi = 0
## Ya = 0
## usia_rumah = 0
##
## Model 1: restricted model
## Model 2: harga ~ ukuran_rumah + jumlah_kamar_tidur + Jakarta + Tangerang +
## Bandung + Cileungsi + Ya + usia_rumah
##
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 20004 6378744265
## 2 19996 199616869 8 6179127396 77372 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Berdasarkan hasil uji Rainbow didapatkan p-value sebesar 2.2e-16 yang mana kurang dari taraf signifikansi 0.05 dan dapat disimpulkan bahwa hasil ini menolak H0. Sehingga, disimpulkan bahwa variabel independen bersifat tidak linier terhadap variabel dependen.
1.2.3.7 Plot Model Regresi
pacman::p_load(ggplot2,
ggfortify,
gridExtra)
# plot residu terhadap nilai prediksi
plot_residu <- ggplot(data = fortify(modelo), aes(.fitted, .stdresid)) +
geom_point(color = "#FFD8B1", alpha = 0.6) +
geom_smooth(method = "loess", color = "#FF87D7", se = FALSE) +
labs(x = "Nilai Prediksi", y = "Residu Standar", title = "Plot Residu vs Nilai Prediksi") +
theme_minimal()
# plot Q-Q dari residu
plot_qq <- ggplot(data = fortify(modelo), aes(sample = .stdresid)) +
geom_qq(color = "#FFBC9B", fill = "skyblue", alpha = 0.6) +
geom_abline(color = "black", linetype = "dashed") +
labs(title = "Plot Q-Q dari Residu") +
theme_minimal()
# plot residu terhadap leverage
plot_leverage <- ggplot(data = fortify(modelo), aes(.hat, .stdresid)) +
geom_point(color = "#FFBC9B", alpha = 0.6) +
geom_smooth(method = "loess", color = "red", se = FALSE) +
labs(x = "Leverage", y = "Residu Standar", title = "Plot Residu vs Leverage") +
theme_minimal()
grid.arrange(plot_residu, plot_qq, plot_leverage, nrow = 1)## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
Berdasarkan plot tersebut diketahui bahwa model memenuhi normalitas dan terdapat outlier data dari plot leveragenya.
1.3 Tambahan
Berdasarkan kasus nomor 2, ketika melakukan uji Rainbow didapat kesimpulan bahwa tidak adanya hubungan linier (walaupun dari plot residual garis horizontal tetap pada nilai nol). Oleh karena itu, saya ingin mencoba membuat model regresi non-linier untuk sebagai informasi tambahan menyelesaikan permasalahan tersebut, dimana saya mencoba untuk menggunakan Regresi Kuadratik dan Regresi Polinomial.
1.3.1 Regresi Kuadratik
model_quadratic <- lm(harga ~ ukuran_rumah + I(ukuran_rumah^2) + jumlah_kamar_tidur + kota + akses_tol + usia_rumah, data = rmh)
summary(model_quadratic)##
## Call:
## lm(formula = harga ~ ukuran_rumah + I(ukuran_rumah^2) + jumlah_kamar_tidur +
## kota + akses_tol + usia_rumah, data = rmh)
##
## Residuals:
## Min 1Q Median 3Q Max
## -412.24 -66.66 -0.14 67.55 380.48
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.999e+03 5.255e+00 380.401 <2e-16 ***
## ukuran_rumah 1.097e+01 6.171e-02 177.814 <2e-16 ***
## I(ukuran_rumah^2) 1.511e-04 2.001e-04 0.755 0.450
## jumlah_kamar_tidur 5.382e+00 5.020e-01 10.723 <2e-16 ***
## kotaBekasi -5.028e-01 2.229e+00 -0.226 0.822
## kotaCileungsi -2.093e+00 2.242e+00 -0.934 0.351
## kotaJakarta 1.968e+00 2.238e+00 0.879 0.379
## kotaTangerang 1.780e+00 2.223e+00 0.801 0.423
## akses_tolYa -1.133e+00 1.413e+00 -0.802 0.423
## usia_rumah -4.961e+00 4.859e-02 -102.118 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 99.92 on 19995 degrees of freedom
## Multiple R-squared: 0.9687, Adjusted R-squared: 0.9687
## F-statistic: 6.877e+04 on 9 and 19995 DF, p-value: < 2.2e-16
1.3.2 Regresi Polinomial
model_polynomial <- lm(harga ~ poly(ukuran_rumah, 3) + jumlah_kamar_tidur + kota + akses_tol + usia_rumah, data = rmh)
summary(model_polynomial)##
## Call:
## lm(formula = harga ~ poly(ukuran_rumah, 3) + jumlah_kamar_tidur +
## kota + akses_tol + usia_rumah, data = rmh)
##
## Residuals:
## Min 1Q Median 3Q Max
## -411.76 -66.63 -0.08 67.56 381.00
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.645e+03 2.595e+00 1404.764 <2e-16 ***
## poly(ukuran_rumah, 3)1 7.794e+04 9.993e+01 779.958 <2e-16 ***
## poly(ukuran_rumah, 3)2 7.543e+01 9.994e+01 0.755 0.450
## poly(ukuran_rumah, 3)3 8.655e+01 9.994e+01 0.866 0.387
## jumlah_kamar_tidur 5.385e+00 5.020e-01 10.727 <2e-16 ***
## kotaBekasi -5.143e-01 2.229e+00 -0.231 0.818
## kotaCileungsi -2.078e+00 2.242e+00 -0.927 0.354
## kotaJakarta 1.977e+00 2.238e+00 0.883 0.377
## kotaTangerang 1.786e+00 2.223e+00 0.803 0.422
## akses_tolYa -1.152e+00 1.413e+00 -0.815 0.415
## usia_rumah -4.961e+00 4.859e-02 -102.118 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 99.92 on 19994 degrees of freedom
## Multiple R-squared: 0.9687, Adjusted R-squared: 0.9687
## F-statistic: 6.19e+04 on 10 and 19994 DF, p-value: < 2.2e-16
1.3.3 Kesimpulan
Setelah melakukan regresi kuadratik dan polinomial disimpulkan bahwa hasil tidak terlalu berbeda, dimana variabel independen yang berpengaruh hanya ukuran rumah (orde pertama) dan jumlah kamar tidur. Kemudian, untuk hasil dari R-squared tetap sama dengan regresi linier, yaitu 96.87%.