Housing Price Spatial Interpolation
Halo, sebelumnya saya mengucapkan terima kasih karena sudah mau mengunjungi halaman ini terlepas darimana anda mendapatkan link (tapi sungguh saya sangat senang bila anda menghabiskan sedikit waktu anda untuk membaca halaman ini sampai habis)
Perkenalkan nama saya Salomo, saya adalah seorang karyawan BUMN yang bergerak di bidang properti yaitu Perum Perumnas. Selama saya bergabung dengan perusahaan negara ini saya menemukan banyak tempat untuk melakukan improvement. Mulai dari sistem internal sampai kepada pengambilan keputusan. Dalam proses bisnis pengambilan keputusan yang akurat akan sangat dapat membantu kelangsungan perusahaan bukan hanya dalam signifikansi kenaikan profit, tetapi juga dalam pembentukan iklim kerja yang lebih efektif dan efisien.
Pada kesempatan kali ini saya ingin menunjukkan salah satu alat untuk pengambilan keputusan, kali ini adalah penentuan harga rumah berdasarkan lokasi geografisnya. Alasan saya melakukan ini adalah karena background saya di bidang spasial, sedang mendalami data mining, engineering dan analytics, serta merupakan teknik yang sepertinya termudah untuk dipahami.
So let’s get started
The Data
Non Spatial Data
Data yang kita gunakan pada saat ini adalah data dari salah satu marketplace property di Indonesia. Kita akan menggunakan data berupa judul iklan perumahan, harga-harga, tipe rumah, luas tanah sampai kepada koordinat tempat dimana rumah tersebut dijual. Dengan adanya parameter koordinat akan memudahkan kita untuk mengetaui trend harga rumah di wilayah tertentu, karena menurut Alm. Ciputra yang terpenting dalam menjadi developer perumahan adalah LOKASI. Jadi langsung kita lihat data kita
Legends :
X adalah ID untuk tiap baris
hrglamudi adalah harga property
jdllamudi adalah judul yang dituliskan di situs tersebut
ltxlamudi adalah luas tanah yang ditawarkan dalam m2
lbxlamudi adalah luas bangunan yang ditawarkan dalam m2
brlamudi adalah banyaknya kamar tidur yang ditawarkan
latlamudi adalah koordinat latitude
longlamudi adalah koordinat longitude
Data di atas adalah data yang berasal dari sebuah situs marketplace property dengan memasukkan Kota Depok sebagai pencarian. Terdapat 542 baris dan 8 kolom yang memiliki arti bahwa kita memiliki 542 iklan yang berhasil kita dapatkan untuk menganalisis. Untuk memperjelasnya dapat kita lihat di peta berikut ini
Ternyata ada beberapa titik yang “nyasar” bahkan sampai ke Africa. Mengapa hal tersebut terjadi? Hal tersebut dikarenakan di situs marketplace tersebut penyertaan informasi lokasi koordinat tidak bersifat mandatory, artinya orang tetap dapat menggunakan situs itu tanpa harus menyertakan koordinat dimana dia akan menjual rumahnya. Saya berasumsi sistem dari marketplace tersebut yang memberikan lokasi berdasarkan beberapa parameter (rahasia perusahaan sepertinya). Tetapi hal tersebut tidak mematahkan semangat kita untuk terus maju. Hal yang pertama kita lakukan adalah membersihkan data sehingga dapat terlihat seperti ini.
YES! Kita sudah tidak sampai ke Africa lagi. Lanjut!
Spatial Data
Sebenarnya apabila kita sudah membicarakan koordinat, kita sudah berbicara tentang data spasial yang artinya kita sudah mendapatkan informasi dimana letak titik yang diberikan diproyeksikan terhadap bumi kita ini (untuk lebih dalamnya mengenai spatial science akan kita bahas lain waktu). Hal yang kita butuhkan dalam analisis kali ini adalah boundary. Boundary adalah garis terluar dari Kota Depok, kita membutuhkannya agar kita bisa tahu dimana batas dari analisis kita (sedikit spoiler, yang interpolation dan regression adalah kedekatan dari titik yang akan diamati dengan sekitarnya). Kita butuh sesuatu yang local bukan global, kita tidak butuh harga rumah di Africa untuk mengetahui harga rumah di Depok kan? (well technically, if you learn data science you can’t just eliminate the probabilities, but this time we won’t bother the complexticity)
Sekarang adalah saatnya untuk mengunduh data spasial (boundary)
Untuk beberapa saat yang lalu saya sudah puas dengan ini dan mulai norak di social media dengan memamerkan progress saya yang tidak terlalu signifikan. But we can’t stop here! We need to know the trends beneath
Spatial Interpolation
Seperti yang telah disebutkan sebelumnya, interpolation mengandalkan nearest neighbour untuk memprediksi nilai dari variabel dependent. Gampangnya kita bisa menentukan harga sebuah properti berdasarkan lokasinya, contohnya kita tahu properti di daerah SCBD Jakarta lebih mahal daripada properti di Tapanuli Utara, Sumatera Utara. Sebenarnya ada variabel lain yang juga menentukan harga properti, tetapi nanti akan saya bahas di Geographic Weighted Regression (GWR)
Data Exploration
## as.geodata: 300 replicated data locations found.
## Consider using jitterDupCoords() for jittering replicated locations.
## WARNING: there are data at coincident or very closed locations, some of the geoR's functions may not work.
## Use function dup.coords() to locate duplicated coordinates.
## Consider using jitterDupCoords() for jittering replicated locations
Pada hasil plot di atas kita dapat melihat hubungan antara latitude dan longitude, latitude dengan harga, longitude dengan harga serta kepadatan data. Terlihat bahwa data tersebut masing-masing “menempel” pada sumbu x dan y, hal tersebut menandakan bahwa adanya trend lokal yang berkaitan dengan lokasi.
Variograms
Monggo dicari sendiri apa artinya di internet, ga mau terlalu bosen kan kalau saya jelaskan di sini? Intinya Variogram merupakan alat dalam geostatistik yang berguna untuk menunjukkan korelasi spatial antara data yang diukur. Dan untuk melakukan interpolasi kita harus melihat seperti apa variogram tersebut sehingga nantinya dapat diterjemahkan dalam model.
## variog: computing omnidirectional variogram
## variog: co-locatted data found, adding one bin at the origin
## variog: computing omnidirectional variogram
## variog: co-locatted data found, adding one bin at the origin
## variofit: covariance model used is spherical
## variofit: weights used: npairs
## variofit: minimisation function used: optim
## variofit: searching for best initial value ... selected values:
## sigmasq phi tausq kappa
## initial.value "5576524897897332736" "0" "0" "0.5"
## status "est" "est" "est" "fix"
## loss value: 1.70393658297445e+41
## variofit: covariance model used is exponential
## variofit: weights used: npairs
## variofit: minimisation function used: optim
## variofit: searching for best initial value ... selected values:
## sigmasq phi tausq kappa
## initial.value "3717683265264888832" "0.08" "3717683265264888832" "0.5"
## status "est" "est" "est" "fix"
## loss value: 1.34744827185558e+41
## value
## 1.703937e+41
## value
## 1.33629e+41
IDW
IDW atau Inverse Distance Weighted adalah salah satu metode interpolasi selain Nearest Neighbour Interpolation dan Kriging. Sebenarnya Kriging adalah metode terbaru akan tetapi saya memutuskan untuk menggunakan IDW karena lebih simple untuk dipelajari
Gambar di atas menunjukkan interpolasi berdasarkan power. Apa itu power dalam interpolasi? Duh gimana ya jelasinnya, intinya seperti Standard Deviation dalam regresi linear yang menentukan simpangan dari variasi data. Misalnya kita memiliki 1 titik, dan kita ingin mengganti-ganti seberapa jauh pengaruhnya, nah di sini lah kita mengganti-ganti powernya. Sebenarnya ada rumus untuk menentukan berapa power yang optimal, akan tetapi saya belum menemukan caranya dalam codingan ini.
Results
Dari gambar di atas sudah paham kan dari tadi kita ngomongin apa? Petanya interaktif, silahkan klik sesuka anda
Conclusions
- Sebenarnya Interpolation digunakan untuk mengetahui trend secara spasial tapi bersifat sebaran. Maksud saya dengan sebaran adalah seperti sebaran geologi, sebaran polusi udara, sebaran mineral yang artinya tersebar menembus obstacle seperti ruas jalan, kebijakan tata ruang dll. Artinya untuk memprediksi harga rumah menggunakan metode interpolasi kurang tepat.
- Data yang saya gunakan tidak sepenuhnya bersih. Artinya di dalam koordinat tertentu ada beberapa titik yang tumpang tindih tetapi memiliki harga yang berbeda. Hal tersebut karena dari situs marketplace sumber data ini berasal, penyertaan koordinat bukan merupakan sebuah keharusan.
- Selain letak geografis, penentuan harga rumah seharusnya dipengaruhi oleh banyak hal lain, seperti luas tanah, tipe bangunan dll. Hal tersebut dapat dimungkinkan apabila kita menggunakan GWR sebagai alat analisis kita.