Data Analisis Linear Regression: California Housing Prices

 

Dalam artikel ini, Saya ingin berbagi tentang penjelasan analisis data yang sudah Saya lakukan pada dataset California Housing Prices. Tujuan akhir dari pada analisis data ini adalah membuat model untuk mengestimasi harga rumah di California berdasarkan parameter-parameter yang tersedia. Metode analisis data yang digunakan akan Saya jelaskan pada bagian metode.

Pendahuluan

Dataset California Housing Prices memiliki 10 features (parameter), yaitu;
  1. longitude : lokasi rumah pada bentangan timur-barat
  2. latitude : lokasi rumah pada bentangan utara-selatan
  3. housingMedianAge : nilai median usia rumah dalam satu blok perumahan
  4. totalRooms : total ruangan dalam satu blok perumahan
  5. totalBedRooms : total tempat tidur dalam satu blok perumahan
  6. population : jumlah populasi yang tinggal dalam satu blok perumahan
  7. households : jumlah rumah tangga yang tinggal dalam satu rumah, untuk satu perumahan
  8. medianIncome : nilai median pendapatan rumah tangga dalam satu perumahan (dalam $10.000)
  9. medianHouseValue : nilai median rumah untuk rumah tangga dalam satu perumahan ($)
  10. oceanProximity : lokasi rumah terhadap ocean/pantai
Secara keseluruhan, dataset ini memiliki 20,640 lokasi perumahan dengan rata-rata usia rumah 28.63 tahun, rata-rata populasi sebanyak 1425 orang, rata-rata median pendapatan (medianIncome) $38,700, dan rata-rata median nilai rumah (medianHouseValue) $206,855. Menggunakan dataset ini, Saya mencoba membuat model untuk memprediksi harga rumah (medianHouseValue) berdasarkan parameter-parameter yang relevan dalam dataset ini.

Metode

Metode yang digunakan untuk memodelkan dataset ini adalah Linear Regression (menggunakan library Scikit-Learn di Python) dengan asumsi bahwa parameter-parameter lainnya memiliki hubungan yang linier terhadap parameter harga median rumah (medianHouseValue).

Sebelum menerapkan metode ini kepada dataset, perlu dilakukan pembersihan data untuk memaksimalkan pemodelan regresi yang dilakukan. Pembersihan data yang dilakukan diantaranya mengisi nilai yang tidak bernilai dengan menghitung median dari data distribusi parameter yang bersangkutan dan menghapus data yang outliers menggunakan metode Interquartile Range (IQR) dengan menerapkan pengulangan sesuai dengan kebutuhan.

Setelah dilakukan pembersihan data, kemudian parameter medianHouseValue dijadikan sebagai target (parameter dependen) yang akan diprediksi. Selanjutnya, dataset dibagi menjadi 80% sebagai data training dan 20% sebagai data testing. Proses feature scaling diterapkan pada data training dan testing non-target untuk mereduksi perbedaan nilai skala yang signifikan besar antar parameter-parameter ketika proses pemodelan dilakukan, metode Standar Scaler digunakan pada proses ini.

Evaluasi model yang dihasilkan dengan data testing diukur menggunakan perhitungan coefficient correlation (r2) dan Mean Absolute Percentage Error (MAPE).

Hasil dan Pembahasan

Dari 20,640 data yang tersedia, terdapat 207 data yang tidak bernilai pada parameter totalBedrooms. Parameter ini kemudian dilakukan pengisian dengan menghitung nilai mediannya. Kemudian, Gambar 1 menjelaskan distribusi secara keseluruhan dari setiap parameter yang digunakan sebelum dilakukan pembersihan. Terlihat pada hampir semua parameter memiliki kecenderungan distribusi dengan kemiringan positif (positive skew) yang menunjukkan adanya nilai yang signifikan tinggi dari nilai keseluruhan, kecuali parameter houseMedianAgelongitude, dan latitude.


Gambar 1. Distribusi data setiap parameter sebelum pembersihan

Kemudian, pengecekan outliers dilakukan pada dataset yang hasilnya seperti yang ditampilkan pada Gambar 2. Parameter totalRooms, totalBedRooms, population, households, medianIncome, dan medianHouseValue memperlihatkan adanya outliers. Outliers tersebut dihapus dengan menggunakan metode Interquartile Range (IQR) sebanyak 6 kali pengulangan. Gambar 3 memperlihatkan hasil pembersihan dataset dari efek outliers dan Gambar 4 menunjukkan distribusi data yang cenderung memiliki distribusi normal setelah dilakukan pembersihan data.

Gambar 2. Pengecekan outliers untuk setiap parameter. Titik bulat hitam mengindikasikan adanya outliers pada parameter tersebut.

Gambar 3. Kondisi dataset setelah pembersihan data (menghapus data outliers)

Gambar 4. Distribusi data setelah pembersihan dilakukan. Secara umum, data cenderung memiliki distribusi yang normal dibandingkan dengan sebelum dilakukan pembersihan.

Dataset yang telah dibersihkan kemudian dianalisis dengan koefisien korelasi untuk setiap pasangan parameternya, dan fokus pada target parameter medianHouseValue seperti yang ditampilkan pada Gambar 5. Korelasi yang cukup kuat terhadap parameter tersebut (>0.5) hanya dipengaruhi oleh parameter medianIncome dengan nilai korelasi sebesar 0.622. Nilai korelasi dari parameter lainnya tidak menunjukkan korelasi yang begitu signifikan terhadap parameter medianHouseValue. Namun demikian, parameter-parameter tersebut tetap dipertimbangkan untuk dilatih.

Gambar 5. Koefisien korelasi dari setiap pasangan parameter dalam dataset. Korelasi antara parameter medianIncome dan medianHouseValue memberikan hubungan yang cukup linier positif.

Sebanyak 80% dataset yang telah dibersikan digunakan untuk dilatih (training) dan 20% sisanya digunakan untuk uji coba (testing) model regresi yang dilakukan. Setelah proses Linear Regression dilakukan, model diperoleh dengan nilai R² sebesar 0.5113 dan MAPE sebesar 0.3103%. Nilai R² yang diperoleh cenderung tidak begitu signifikan karena hampir seluruh parameter tidak berkorelasi secara optimal terhadap parameter medianHouseValue. Meskipun demikian, nilai MAPE yang dihasilkan cenderung kecil mendekati nol persen.

Demikian rangkuman analisi linear regresi yang telah Saya lakukan. Anda dapat melihat proses analisis data pada halaman ini.

Comments

Popular posts from this blog

5 Konsep Dasar Lanjutan Algoritma Pemrograman

Algoritma Pemrograman

Apa Itu Seismologi? Pengertian, Ruang Lingkup, dan Perannya dalam Mitigasi Gempa Bumi