← Back to list

Multiple Linear Regression — Tinjauan dari Perspektif Machine Learning

Multiple linear regression adalah metode statistik yang digunakan untuk mengukur hubungan antara dua atau lebih variabel independen…

Farhan · 2024-04-11 06:14 · 0 claps · 23.8 min read
#multiple-linearregression #linear-regression #regression #predictive-analytics #machine-learning
Open on Medium ↗
Wiki topics: ML · Machine Learning EDU · Education & Learning GRW · Growth & Analytics AIM · AI in Marketing

Multiple Linear Regression — Tinjauan dari Perspektif Machine Learning

Multiple linear regression adalah metode statistik yang digunakan untuk mengukur hubungan antara dua atau lebih variabel independen (predictor) dengan satu variabel dependen (response) yang bersifat kontinu. Dalam analisis ini, hubungan antara variabel-variabel independen dan dependen dijelaskan melalui sebuah persamaan linear. Dalam multiple linear regression, variabel dependen yang ingin diprediksi atau dijelaskan dapat dipengaruhi oleh lebih dari satu variabel independen. Perbedaan utama antara multiple linear regression dengan simple linear regression adalah bahwa multiple linear regression melibatkan lebih dari satu variabel independen, sementara simple linear regression hanya melibatkan satu variabel independen. Tujuan utama dari multiple linear regression adalah untuk menemukan estimasi yang paling baik dari koefisien β atau (b) sehingga dapat menjelaskan variasi dalam variabel dependen Y.

Seperti pada gambar di atas, bentuk umum dari multiple linear regression adalah sebagai berikut:

yang mana:

y: variabel dependen.

X₁, X₂, … , Xₙ: variabel independen.

b₁, b₂, … ,bₙ: slope atau koefisien regresi yang menunjukkan pengaruh masing-masing variabel independen terhadap variabel dependen.

Asumsi Regresi Linier

Pada dasarnya model regresi linier tidak bias diterapkan pada semua kondisi data. Misalnya pada gambar berikut ini:

Anscombe’s Quartet

Anscombe’s Quartet

Gambar di atas merupakan contoh ilustrasi yang menunjukkan kasus-kasus model regresi linier yang tidak dapat diterapkan untuk semua data. Keempat gambar di atas secara keseluruhan menggunakan model regresi linier yang sama. Namun, jika diperhatikan hanya gambar pertama (x₁→y₁) yang pola hubungan datanya cukup dapat digambarkan oleh garis atau model regresi linier yang terbentuk. Pada gambar dua (x₂ →y₂) dan gambar empat (x₄ →y₄) jelas terlihat bahwa pola hubungan data tidak terbentuk secara linier, sedangkan pada gambar tiga (x₃ →y₃) terdapat outlier yang mengganggu keakuratan model regresi linier yang terbentuk. Berangkat dari sini, lahirlah sebuah konsep asumsi yang sekiranya atau sebaiknya dipenuhi sebelum menggunakan model regresi linier pada data tertentu agar model regresi yang terbentuk benar-benar dapat memodelkan hubungan variabel-variabel pada data yang digunakan. Berikut ini adalah rincian dari asumsi regresi linier yang dimaksud:

Linearity

Pada asumsi ini, poin utamanya adalah bahwa kita perlu memastikan bahwa memang terdapat hubungan linier antara variabel dependen dan variabel independen (misalnya dengan membuat scatter plot antara variabel dependen dan variabel independen tersebut).

Pada gambar di atas, terlihat jelas bahwa polah hubungan data yang berwarna merah tidak menunjukkan pola linier, sehingga pembangunan model regresi linier untuk data tersebut relatif tidak sesuai (tidak memenuhi asumsi linieritas).

Zero Conditional Mean of Error

Bentuk matematis dari asumsi ini adalah sebagai berikut:

Poin dari asumsi ini adalah bahwa rata-rata dari error atau residual bernilai nol untuk semua nilai observasi variabel X yang berbeda dan bersifat independen terhadap variabel X.

Alasan bahwa rata-rata dari error atau residual bernilai nol untuk semua nilai observasi variabel X berangkat dari konsep realistis yang mana sebuah model tidak mungkin dapat memprediksi dengan sangat sempurna hingga ke digit desimal terakhir (untuk kasus prediksi data kuantitatif, misalnya). Tentu akan selalu ada kesalahan atau error yang menggambarkan penyimpangan nilai prediksi terahadap nilai sebenarnya, dan ini wajar. Namun, kita juga tentu mengharapkan nilai error yang sekecil mungkin (agar mendekati nilai sebenarnya) dan bersifat acak — kadang bernilai negatif, kadang bernilai positif. Nilai error yang positif terjadi jika hasil prediksi dari model regresi linier yang dibangun bersifat underestimate (nilai sebenarnya lebih besar dibandingkan dengan nilai hasil prediksi), sedangkan nilai error yang negatif terjadi jika hasil prediksi dari model regresi linier yang dibangun bersifat overestimate (nilai sebenarnya lebih kecil dibaningkan dengan nilai hasil prediksi). Berangkat dari kenyataan tersebut, ketika keseluruhan nilai error dari semua nilai X yang mungkin dijumlahkan, maka tentu nilai-nilai error tersebut akan saling mengeliminasi satu sama lain hingga habis atau bernilai 0 (secara kasar). Dengan begitu, maka rata-rata dari nilai error juga tentunya akan bernilai 0.

Kemudian analogi alasan error harus bersifat independen terhadap variabel X adalah sebagai berikut. Katakanlah Anda ingin memprediksi pendapatan tahunan karyawan di kantor Anda hanya dengan menggunakan informasi tahun pengalaman kerja mereka. Dalam hal ini Anda memiliki tiga kelompok karyawan — kelompok pertama adalah karyawan dengan pengalaman kurang dari 3 tahun, kelompok kedua adalah karyawan dengan pengalaman 3 hingga 7 tahun, dan kelompok ketiga adalah karyawan dengan pengalaman 7–10 tahun.

Anda telah membuat model regresi linier dan memprediksi perkiraan pendapatan untuk setiap anggota di setiap kelompok. Selanjutnya, untuk melihat bagaimana kinerja model yang Anda buat, Anda menghitung kesalahan rata-rata (sebut saja E(εᵢ)) untuk semua anggota di ketiga kelompok tadi. Selain itu, Anda juga ingin mengetahui apakah model Anda secara khusus lebih baik dalam memprediksi pendapatan suatu kelompok tertentu, sehingga Anda juga menghitung rata-rata kesalahan dalam prediksi untuk masing-masing dari ketiga kelompok tersebut secara individual (E(εᵢ|kelompok1), E(εᵢ|kelompok2), E(εᵢ|kelompok3)).

Yang menjadi pertanyaan selanjutnya adalah, apakah Anda ingin model yang Anda bangun hanya dapat memprediksi dengan baik dua dari tiga kelompok yang ada? Tentu saja tidak, sebab idealnya kita ingin model yang dibangun dapat memprediksi semua kelompok yang ada dengan baik atau paling tidak keakuratan prediksi dari model yang dibangun bisa sama rata untuk seluruh kelompok yang ada. Sehingga, kesalahan rata-rata per kelompok harus sama dengan kesalahan rata-rata keseluruhan kelompok.

E(εᵢ) = E(εᵢ|kelompok1) = E(εᵢ|kelompok2) = E(εᵢ|kelompok3)

Oleh karena itu, nilai dari variabel “pengalaman kerja” seharusnya tidak berperan dalam menentukan seberapa salah estimasi Anda.

Homoscedasticity

Asumsi homoskedastisitas pada model regresi linier adalah bahwa varians dari kesalahan (error) dalam prediksi tidak bervariasi sepanjang rentang nilai dari variabel independen. Dalam konteks yang lebih mudah dimengerti, ini berarti bahwa sebaran kesalahan prediksi tidak berubah secara signifikan (konstan) seiring dengan perubahan nilai variabel independen. Ini penting karena jika sebaran kesalahan berubah-ubah tergantung pada nilai variabel independen, maka analisis regresi linier mungkin tidak dapat memberikan estimasi parameter yang konsisten dan efisien atau model regresi yang dibangun mungkin untuk menyatakan bahwa suatu term dalam model secara statistik signifikan, padahal sebenarnya tidak sehingga hasil prediksi dari model regresi linier tidak dapat dipercaya.

Secara lebih sederhana, asumsi homoskedastisitas mengimplikasikan bahwa pola dari kesalahan tidak berubah terlalu jauh sepanjang rentang nilai dari variabel yang digunakan dalam model. Sebagai contoh sederhana, misalnya Anda memiliki uang sebanyak Rp500000 dan Anda ingin tahu berapa banyak mainan yang bisa Anda beli dengan uang tersebut. Nah, sekarang, bayangkan jika Anda akan membeli mainan di 10 toko yang berbeda-beda (setiap toko dialokasikan dana sebesar Rp50000), kemudian sebelum benar-benar membeli mainan di toko-toko tersebut Anda menerka-nerka jumlah mainan yang bisa Anda beli di setiap toko yang akan Anda kunjungi. Lalu, untuk mengetahui apakah hasil tebakan Anda benar atau tidak, barulah Anda mengunjungi 10 toko tersebut lalu membeli mainan dengan nominal uang Rp50000 tadi. Tentu dari sini, Anda bisa mengetahui selisih jumlah mainan yang benar-benar Anda dapatkan dan jumlah mainan hasil tebakan Anda. Asumsi homoskedastisitas memastikan bahwa jumlah kesalahan (kesalahan dalam memprediksi jumlah mainan yang bisa Anda beli) untuk setiap toko itu sama banyaknya, tidak terlalu banyak di satu toko dan sedikit di toko yang lain. Sehingga, jika pada kasus tersebut asumsi homoskedastisitas terpenuhi, maka dapat dikatakan bahwa kesalahan hasil tebakan Anda tidak dipengaruhi oleh toko penjual mainan.

Catatan: pada kasus ini, toko penjual mainan diposisikan sebagai variabel X. Pelanggaran asumsi ini disebut dnegan istilah heteroskedastis.

Salah satu cara paling sederhana untuk mengecek asumsi ini adalah dengan membuat scatter plot antara nilai-nilai residual (selisih antara nilai yang diprediksi dengan nilai sebenarnya) dan nilai-nilai hasil prediksi (biasanya disebut dengan resdual plot).

Setelah membangun sebuah resdiual plot dan ditemukan bahwa terdapat pola berbentuk kerucut (ke bawah atau ke atas) seperti pada gambar data merah, maka dapat dikatakan bahwa asumsi homoskedastitas terlanggar dan terjadi heteroskedastisitas pada data. Namun, jika ditemukan pola yang terbentuk adalah pola acak seperti pada gambar data biru, maka dapat dikatakan bahwa model regresi linier yang dibangun telah memenuhi asumsi homoskedastisitas.

Nonautocorrelation

Asumsi nonautokorelasi dalam regresi linier mengacu pada asumsi bahwa tidak ada korelasi antara kesalahan (error) dalam model regresi pada waktu atau antar observasi. Dalam konteks yang lebih sederhana, ini berarti bahwa kesalahan pada satu observasi tidak bergantung pada kesalahan pada observasi sebelumnya atau setelahnya. Pada data series secara khusus, asumsi ini mengatakan bahwa tidak ada pola atau hubungan sistematis antara kesalahan pada waktu yang berbeda. Dengan kata lain, tidak ada korelasi antara kesalahan pada saat t dengan kesalahan pada saat t−1, t−2, dan seterusnya. Ini berarti bahwa kesalahan dalam memprediksi satu observasi tidak dipengaruhi oleh kesalahan dalam memprediksi observasi lainnya. Dengan kata lain, tiap observasi memiliki kesalahan yang benar-benar independen dari observasi lainnya.

Sebagai analogi sederhana, bayangkan Anda sedang mencoba untuk menyelesaikan teka-teki silang. Setiap kotak di teka-teki adalah seperti satu observasi dalam model regresi. Sekarang, bayangkan lagi jika Anda menemukan pola dalam jawaban-jawaban yang Anda masukkan di teka-teki tersebut. Misalnya, Anda menyadari bahwa jika Anda salah menjawab satu kotak, maka kemungkinan besar Anda juga akan salah di kotak-kotak berikutnya. Ini akan membuat menyelesaikan teka-teki jauh lebih sulit, bukan?

Dalam konteks regresi linear, asumsi nonautokorelasi berarti kita tidak ingin ada pola semacam itu dalam kesalahan kita. Kita tidak ingin kesalahan dalam memprediksi satu observasi tergantung pada kesalahan dalam memprediksi observasi sebelumnya atau setelahnya. Jadi, kita ingin setiap observasi berdiri sendiri dan tidak saling berkaitan dengan yang lainnya.

Asumsi ini penting untuk dipenuhi karena jika terdapat autokorelasi (korelasi antara kesalahan pada waktu atau observasi yang berbeda) dalam model regresi, maka estimasi standar kesalahan (standard errors) menjadi tidak konsisten. Selain itu, uji hipotesis tentang parameter regresi juga bisa menjadi tidak valid. Ini dapat mengakibatkan interpretasi yang salah terhadap hasil regresi dan pengambilan keputusan yang keliru.

Untuk memeriksa asumsi nonautokorelasi ini, kita dapat menggunakan berbagai teknik seperti uji Durbin-Watson, uji Breusch-Godfrey, atau memeriksa plot dari residual terhadap waktu. Khusus untuk plot dari residual terhadap waktu atau observasi, autokorelasi (lawan dari nonautokorelasi) dapat diidentifikasi jika terdapat pola khusus yang ditemukan atau sebaran data pada residual plot terhadap waktu atau observasi tersebut tidak acak. Contohnya adalah sebagai berikut:

Pada gambar di atas, terlihat jelas bahwa plot resiudal terhadap waktu atau observasi untuk data merah cenderung membentuk pola khusus sedangkan untuk data biru cenderung acak. Oleh karena itu, dapat dikatakan terdapat autokorelasi pada data data merah sedangkan asumsi nonautokorelasi berhasil dipenuhi oleh data biru.

Nonmulticollinearity

Multikolinearitas dalam regresi linear (khususnya pada multiple linear regression) terjadi ketika dua atau lebih variabel independen dalam model regresi memiliki hubungan linier yang kuat satu sama lain. Dengan kata lain, salah satu variabel independen dapat diprediksi dengan tingkat akurasi yang tinggi menggunakan kombinasi linear dari variabel independen lainnya.

Ini dapat menjadi masalah dalam analisis regresi karena dapat menyebabkan estimasi parameter menjadi tidak stabil atau ambigu. Dengan kata lain, kita mungkin tidak dapat menentukan pengaruh dari masing-masing variabel independen terhadap variabel dependen dengan tepat karena adanya interaksi yang kuat antara variabel independen tersebut.

Dalam konteks yang lebih sederhana, misalkan Anda mencoba menemukan penyebab dari kenapa tumbuhan di kebun Anda tidak tumbuh dengan baik. Kemudian Anda memeriksa dua faktor, yaitu banyaknya sinar matahari yang diterima dan seberapa banyak air yang diberikan pada tanaman. Namun, Anda juga menemukan bahwa tingkat sinar matahari dan jumlah air yang diberikan sangat berkaitan atau berkorelasi satu sama lain. Jadi, ketika Anda melihat perubahan pada tanaman, kamu tidak bisa yakin apakah perubahan itu disebabkan secara dominan oleh sinar matahari atau oleh air, karena keduanya berubah secara bersamaan akibat adanya korelasi tersebut.

Dalam konteks regresi linear, asumsi multikolinearitas adalah seperti situasi ini. Ketika dua atau lebih variabel independen dalam model regresi sangat berkorelasi satu sama lain, sulit untuk membedakan pengaruh masing-masing variabel terhadap variabel dependen. Ini membuat interpretasi hasil regresi menjadi sulit, karena kita tidak tahu secara pasti mana yang menyebabkan perubahan dalam variabel dependen.

Normal Distribution of Error

Pada dasarnya asumsi ini cukup sederhana, sebab yang dimaksud adalah error atau kesalahan harus terdistribusi secara normal dengan rata-rata nol (asumsi 2) dan varians konstan σ² (asumsi 3) telah ditunjukkan sebelumnya. Namun, perlu diketahui bahwa asumsi ini BUKAN merupakan kondisi yang diperlukan untuk mencapai sifat statistik yang baik seperti “Unbiasedness” dan “Minimum Variance” dari penaksir OLS. Selama 5 asumsi pertama terpenuhi, maka estimator OLS akan menjadi BLUE (Best Linear Unbiased Estimator) meskipun errornya tidak berdistribusi normal.

Lalu, mengapa kita membutuhkan asumsi ini?

Sebenarnya, kita tidak memerlukannya jika yang kita butuhkan adalah estimator BLUE. Faktanya, untuk sampel yang cukup besar, kondisi normalitas biasanya terpenuhi tanpa kita harus bersusah payah melakukan treatment tertentu (normalitas asimtotik) sesuai dengan Central Limit Theorem. Untuk sebagian besar sampel data yang representatif yang dikumpulkan secara acak, adalah masuk akal untuk mengharapkan atau mendapatkan error yang terdistribusi secara normal.

Tapi, secara intuitif asumsi ini berarti bahwa kita berharap sebagian besar kesalahan atau error prediksi berada di sekitar nol, dan semakin jauh dari nol, semakin jarang terjadi. Jika kesalahan tersebut terdistribusi secara normal, ini memberi kita keyakinan bahwa prediksi kita cenderung akurat sekaligus memiliki variabilitas yang terdistribusi secara merata (homoskedastistas).

Ketika semua asumsi lain dipenuhi bersama dengan asumsi normalitas ini, maka hasil estimasi OLS akan sesuai dengan hasil estimasi Maximum Likelihood. Selain itu, estimasi koefisien untuk βᵢ dapat ditunjukkan sebagai fungsi linear dari kesalahan εᵢ. Sebuah sifat distribusi normal yang perlu diingat bahwa:

Fungsi linear dari variabel acak yang berdistribusi normal juga berdistribusi normal.

Oleh karena itu, dengan mengasumsikan εᵢ berdistribusi normal, maka kita akan mendapatkan estimasi βᵢ yang juga berdistribusi normal (karena pada regresi linier hanya komponen ε yang bersifat acak, setiap variabel independen pada model regresi linier bersifat fixed). Hal ini memudahkan kita untuk menghitung interval kepercayaan dan menghitung p-value untuk estimasi koefisien β (yang biasanya terlihat ringkas pada Python). Jika kondisi normalitas errro ini tidak terpenuhi, maka semua interval kepercayaan dan p-value dari uji-t individu untuk koefisien β cenderung tidak dapat diandalkan.

Pengaruh Outlier Terhadap Model Regresi Linier

Seperti yang telah kita ketahui bahwa outlier merupakan titik data yang jauh berbeda dari pola umum atau tren data lainnya. Kehadiran outlier ini secara praktis dapat mempengaruhi estimasi parameter regresi dan membuat model menjadi tidak stabil karena regresi linier mencoba untuk menyesuaikan garis atau permukaan yang paling cocok dengan data. Sedangkan jika terdapat outlier pada data yang digunakan, regresi linier cenderung “menarik” garis regresi untuk “mengikuti” outlier tersebut, meskipun sebenarnya outlier tersebut mungkin tidak mewakili pola umum dari data keseluruhan.

Sebagai hasilnya, outlier dapat mengubah koefisien regresi dan meningkatkan variabilitas residual (kesalahan prediksi), yang dapat menghasilkan estimasi yang tidak akurat atau tidak stabil. Oleh karena itu, penting untuk memperhatikan keberadaan outlier dan mempertimbangkan apakah mereka mewakili data yang tidak biasa atau tidak relevan, serta apakah mereka harus dihilangkan atau ditangani secara khusus dalam analisis (tentu ini sangat bergantung pada konteks atau kebutuhan analisis bisnis yang dilakukan).

Dummy Variable

Pada kasus regresi linier, misalkan kita memiliki sebuah dataset sebagai berikut:

Yang mana, profit merupakan variabel dependen sedangkan sisanya merupakan variabel independen. Namun, yang menjadi masalah adalah kita memiliki sebuah variabel independen (yaitu ‘State’) yang bertipe kategorikal dengan dua nilai kategori unik di dalamnya yaitu ‘New York’ dan ‘California’. Keberadaan variabel kategorik ini tentu membuat kita bingung untuk membangun atau menuliskan persamaan regresi liniernya karena nilai-nilainya tidak direpresentasikan dalam bentuk numerik.

Pendekatan yang dapat kita ambil untuk mengatasi kasus seperti ini adalah dengan membuat kolom baru sesuai dengan jumlah nilai unik pada variabel kategorikal yang kita punya. Dalam hal ini, karena kita memiliki dua nilai unik, maka kita akan membuat dua kolom baru pada dataset kita dan menggantikan kolom kategorikal aslinya seperti berikut ini:

Nilai-nilai pada dua kolom baru tersebut akan diisi dengan nilai biner 0 dan 1 yang mana nilai 1 berarti ‘True’ sedangkan nilai 0 berarti ‘False’. Dengan begini, persamaan dari model regresi yang kita bangun akan berubah menjadi sebagai berikut:

Dalam hal ini D₁ merujuk pada dummy variable pertama dan b₄ merupakan koefisien untuk D₁. Mungkin yang menjadi pertanyaan selanjutnya adalah mengapa D₂ tidak dimasukkan pada model padahal kita memiliki dua dummy variable yang berbeda. Alasannya adalah untuk menghindari multikolinieritas pada model. Pada dasarnya D₁ dan D₂ saling berkorelasi atau memiliki dependensi linier satu sama lain karena keduanya memiliki hubungan seperti persamaan berikut ini:

Dengan memasukkan kedua dummy variable yang ada pada model, maka model yang dibangun tersebut akan cenderung sulit untuk menentukan perbedaan pengaruh dari dari masing-masing dummy variable terhadap variabel dependen karena kita mengambil dua petunjuk yang memberitahu kita hal yang sama (dalam hal ini adalah keterangan ‘State’) dan tentu ini tidak memberikan tambahan informasi yang berguna untuk model.

Dengan hanya menggunakan satu dummy variable saja (untuk kasus ini), kita sudah bisa mengidentifikasi bahwa jika nilai D₁ bernilai 1, maka nilai y atau ‘Profit’ yang diprediksi berlaku untuk perusahaan yang berlokasi di New York. Sedangkan jika nilai D₁ bernilai 0, maka nilai y atau ‘Profit’ yang diprediksi berlaku untuk perusahaan yang berlokasi di California (berdasarkan struktur data yang telah dibangun dari dummy variable sebelumnya). Sehingga pada dasarnya koefisien untuk D₂ sebenarnya telah ter-include di dalam koefisien b₀ sebagai koefisien default (ketika nilai D₁ bernilai 0).

Konsep ini berlaku untuk berapapun jumlah dummy variable yang dimiliki nantinya (tentu agar multikolinieritas pada model yang dibangun tidak terjadi). Pada prinsipnya, kita hanya perlu memasukkan sebanyak k-1 dummy variable pada model, dengan k merupakan jumlah dummy variable secara keseluruhan atau jumlah kategori yang diertimbangkan.

Statistical Significance and P-Value

Untuk memahami kedua term ini, kita akan coba membayangkan sebuah skenario praktis. Bayangkan, kita sedang dihadapkan pada percobaan lempar koin untuk mengetahui apakah ada kejanggalan pada koin yang digunakan atau tidak. Koin dilempar oleh orang lain sedangkan kita hanya bisa melihat hasil dari setiap lemparan yang dilakukan oleh orang tersebut.

Sumber: blurb.com

Sumber: blurb.com

Berdasarkan situasi ini, kita dapat membentuk hipotesis sebagai berikut:

H₀: Tidak ada kejanggalan pada koin yang digunakan

H₁: Terdapat kejanggalan pada koin yang digunakan

Katakanlah percobaan pelemparan koin ini dilakukan sebanyak 6 kali dengan dua kemungkinan kemunculan yaitu angka dan gambar. Pada percobaan pertama, diperoleh gambar yang muncul. Sekilas, tentu ini masih dianggap hal yang wajar karena memang peluang kemunculan gambar pada percobaan pertama ini cukup besar yaitu 0,5. Kemudian pada percobaan kedua, diperoleh gambar yang muncul. Sekilas, ini juga masih tergolong sebagai peristiwa yang wajar karena kemunculan gambar pada pelemparan kedua dengan syarat lemparan pertama yang muncul merupakan gambar adalah sebesar 0,25 (masih relatif besar). Lalu, percobaan ketiga dilakukan dan ternyata yang muncul kembali adalah gambar. Beberapa dari kita mungkin sudah mulai timbul kecurigaan, tapi jika dipikirkan secara matematis, peluang kemunculan gambar tiga kali secara berturut-turut pada tiga percobaan adalah 0,12. Jadi hasil ini mungkin masih bisa diterima sebagai kasus wajar karena memang peluang kejadiannya masih sebesar 0,12 atau 12%.

Kemudian setelah lemparan keempat dilakukan, ternyata yang muncul kembali adalah gambar. Begitupun pada lemparan kelima, lagi-lagi yang muncul adalah gambar. Kecurigaan kita semua tentu akan semakin besar karena jika ditinjau lebih jauh, peluang kemunculan gambar empat kali secara berturut-turut hanya 0,06 dan peluang kemunculan gambar lima kali secara berturut-turut hanya sebesar 0,03. Sangat kecil. Lalu ketika lemparan keenam atau lemaparan terkahir dilakukan, menariknya, yang muncul kembali adalah gambar. Bayangkan, gambar muncul 6 kali secara beruturut-turut dari 6 percobaan yang dilakukan. Padahal peluang kejadian tersebut hanya 0,01 atau 1%. Tentu, kecurigaan kita semakin kuat dari sebelumnya. Tapi, pertanyaan selanjutnya adalah kapan kita bisa mengambil keputusan berdasarkan kecurigaan-kecurigaan yang semakin kuat ini?

Sebelum menjawab pertanyaan tersebut, mari kita coba jabarkan semua hasil lemparan koin yang telah dilakukan sebelumnya.

Rentetan peluang kejadian munculnya gambar secara berturut-turut pada kasus ini merupakan nilai dari p-value. Sehingga secara teoritis, dapat dikatakan bahwa p-value memberikan probabilitas (atau kemungkinan) bahwa peristiwa yang diamati dalam sampel data terjadi secara kebetulan semata. Kemudian untuk menjawab pertanyaan bahwa kapan kita harus mengambil keputusan terhadap hipotesis yang telah dibuat sebelumnya berdasarkan kecurigaan-kecurigaan yang ada, maka digunakanlah term tingkat signifikansi atau dalam hal ini disimbolkan dengan α sebagai threshold pengambilan keputusan

Pada gambar di atas, jika kita menggunakan α sebesar 5% atau 0,05 sebagai threshold, maka kita akan melakukan penolakan terhadap H₀ jika p-value yang diperoleh lebih kecil dari tingkat signifikansi yang digunakan. Sedangkan penerimaan terhadap H₀ dilakukan jika p-value yang diperoleh lebih besar dari tingkat signifikansi yang digunakan (secara umum). Kemudian berdasarkan kejadian-kejadian yang ada pada eksperimen pelemparan dadu sebelumnya diketahui bahwa nilai peluang terakhir ata p-value yang diperoleh adalah 0,01. Dengan nilai tersebut, maka kita kemudian dapat memutuskan untuk melakukan penolakan terhadap H₀ dan menyatakan bahwa kita 95% percaya bahwa terdapat kejanggalan pada koin yang digunakan. Level kepercayaan 95% tersebut hadir dari 1 — α, yang brearti bahwa berdasarkan percobaan yang dilakukan kita percaya 95% bahwa terdapat kejanggalan pada koin yang digunakan dan 5% sisanya adalah ketidaktahuan kita pada kondisi yang sebenarnya.

Pada kasus ini, kita telah memasang sebuah threshold peluang sebesar 0,05 yang berarti bahwa kita menggunakan batas tersebut untuk mengatakan kejadian tertentu terjadi dengan signifikan secara statistik. Pada kasus pelemparan dadu ini, nilai α sebesar 0,05 ibarat batas yang mana kita memaklumi kejadian munculnya angka atau gambar sebagai hal yang wajar atau tidak. Ketika peluang kemunculan angka atau gambar sebenarnya di bawah 0,05 tapi tetap terjadi, maka di situlah kita bisa menarik kesimpulan untuk menolak H₀ karena secara statistik, kemunculan 6 gambar secara berturut-turut merupakan hal yang tidak wajar (pada kasus ini) karena peluangnya sebesar 0,01 lebih kecil jika dibandingkan dengan batas yang digunakan yaitu 0,05 namun tetap terjadi.

Pada praktinya, tingkat signifikansi yang digunakan dapat disesuaikan dengan keperluan penelitian. Umumnya, tingkat signifikansi yang digunakan adalah 0,10; 0,05; dan 0,001.

Tahapan Seleksi Varibel Independen untuk Multiple Linear Regression

Dalam multiple linear regression salah satu tujuan objektif yang ingin dicapai adalah memilih variabel-variabel independen yang akan dimasukkan ke dalam model. Dalam artian, jika kita misalnya diberikan 100 variabel independen dan 1 variabel dependen, pada konteks multiple linear regression ini, kita tidak bisa serta merta langsung menggunakan semua 100 variabel independen tersebut. Selain karena ada beberapa asumsi klasik yang mungkin terlanggar akibat penggunaan variabel independen yang banyak tersebut, kita juga akan sulit untuk melakukan interpretasi model ketika model yang dibangun memiliki banyak variabel independen di dalamnya.

Selain itu, dari 100 variabel independen yang ada tersebut, sangat mustahill jika semuanya memiliki pengaruh yang signifikan secara statistik terhadap variabel dependen. Sebab, kontribusi satu variabel tertentu bisa saja telah tercakup atau diwakili oleh variabel lain yang memberikan informasi yang serupa pada model (konsep multikoliniearitas). Untuk itu, pada bagian ini, akan coba diuraikan tahapan demi tahapan dalam membangun sebuah model multiple linear regression.

Secara umum, terdapat 5 pendekatan untuk membangun model multiple linear regression dengan rincian tahapan masing-masing tahapan dijabarkan sebagai berikut:

Pendekatan All-in

Pada pendekatan ini, semua variabel yang tersedia kita masukkan atau kita gunakan dalam membangun model final dari multiple linear regression. Misalnya, dimiliki 7 variabel independen, maka ketujuh variabel tersebut akan digunakan secara bersama-sama untuk membangun sebuah model multiple linear regression. Pendekatan ini biasanya dilakukan jika peneliti yang hendak membangun model multiple linear regression tersebut telah mengetahui persis bahwa semua variabel yang digunakan benar-benar matter dan memiliki pengaruh terhadap variabel dependen yang diteliti (domain knowledge). Contoh lain penggunaan pendekatan ini adalah pada sebuah perusahaan yang memiliki framework tertentu dalam proses pembangunan model multiple linear regression yang mengharuskan penggunaaan seluruh variabel independen yang tersedia. Pendekatan ini sangat sederhana dalam praktiknya namun riskan terhadap pelanggaran asumsi klasik model regresi linier.

Pendekatan Backward Elimination

Prinsip dari backward elimination adalah memilih variabel independen yang paling berpengaruh terhadap variabel dependen dan mengeliminasi satu per satu secara bertahap variabel independen yang kurang atau tidak signifikan berpengaruh terhadap variabel dependen. Tahapan dari backward elimination adalah sebagai berikut:

  1. Tentukan tingkat signifikansi (α) sebagai threshold untuk menentukan apakah sebuah variabel independen memiliki pengaruh yang signifikan terhadap variabel dependen atau tidak. (Misalnya, α = 0,05).
  2. Masukkan semua variabel yang ada ke dalam model multiple linear regression.
  3. Pilih satu variabel independen yang memiliki koefisien β dengan nilai p-value-nya paling besar. Jika nilai p-value paling besar > α maka lanjut ke tahap 4, jika tidak, lompat ke tahap 7. (Nilai p-value dapat diperoleh dari uij-t).
  4. Hapus variabel independen yang dipilih pada tahap 3.
  5. Bangun ulang model regresi tanpa mengikutsertakan variabel independen yang dihapus pada tahap 4.
  6. Ulangi tahap 3–5 hingga nilai p-value terbesar dari variabel independen yang ada dalam model < α
  7. Model siap digunakan.

Pendekatan Forward Selection

Prinsip dari forward selection adalah memilih variabel independen yang yang paling berpengaruh terhadap variabel dependen dengan cara menambahkan satu per satu variabel yang memiliki pengaruh yang signifikan. Tahapan dari forward selection adalah sebagai berikut:

  1. Tentukan tingkat signifikansi (α) sebagai threshold untuk menentukan apakah sebuah variabel independen memiliki pengaruh yang signifikan terhadap variabel dependen atau tidak. (Misalnya, α = 0,05).
  2. Buat model simple linear regression sebanyak jumlah variabel yang tersedia dengan masing-masing model menggunakan variabel yang berbeda. Kemudian pilih variabel independen yang memiliki p-value paling kecil.
  3. Pertahankan variabel independen yang dipilih pada tahap 2.
  4. Buat model multiple linear regression dengan menambahkan satu variabel independen pada model yang dipilih pada tahap sebelumnya. Jumlah model multiple linear regression adalah sebanyak jumlah variabel independen yang tersisa sehingga variabel independen yang dipilih pada tahap sebelumnya dipasangkan pada semua variabel independen yang tersisa.
  5. Pilih variabel independen terbaru yang memiliki koefisien β dengan nilai p-value-nya paling kecil. Jika nilai p-value terkecil < α maka ulangi tahap 4, jika tidak, maka ambil model yang dibuat sebelum variabel independen terbaru dimasukkan, lalu lanjut ke tahap 6. (Nilai p-value dapat diperoleh dari uij-t).
  6. Model siap digunakan.

Pendekatan Bidirectional Elimination/Stepwise Regression

Prinsip dari bidirectional elimination adalah menggabungkan konsep backward elimination dan forward selection dalam pada proses penyeleksian variabel independen untuk model multiple linear regression. Dalam artian, kita secara bersamaan melakukan langkah maju (forward) dan mundur (backward) untuk memilih variabel independen yang paling berpengaruh terhadap variabel dependen. Tahapan dari bidirectional elimination adalah sebagai berikut:

  1. Tentukan tingkat signifikansi (α) sebagai threshold untuk menentukan apakah sebuah variabel independen memiliki pengaruh yang signifikan terhadap variabel dependen atau tidak. (Misalnya, α = 0,05).
  2. Buat model simple linear regression sebanyak jumlah variabel yang tersedia dengan masing-masing model menggunakan variabel yang berbeda. Kemudian pilih variabel independen yang memiliki p-value paling kecil.
  3. Pertahankan variabel independen yang dipilih pada tahap 2.
  4. Buat model multiple linear regression dengan menambahkan satu variabel independen pada model yang dipilih pada tahap sebelumnya. Jumlah model multiple linear regression adalah sebanyak jumlah variabel independen yang tersisa sehingga variabel independen yang dipilih pada tahap sebelumnya dipasangkan pada semua variabel independen yang tersisa.
  5. Pilih variabel independen terbaru yang memiliki koefisien β dengan nilai p-value-nya paling kecil. Jika nilai p-value terkecil < α maka lanjut ke tahap 6, jika tidak, maka ambil model yang dibuat sebelum variabel independen terbaru dimasukkan, lalu lanjut ke tahap 8. (Nilai p-value dapat diperoleh dari uij-t).
  6. Dari model multiple linear regression yang diambil, perhatikan nilai p-value semua variabel independen yang ada di dalam model. Jika terdapat variabel independen yang memiliki nilai p-value > α, maka pilih variabel tersebut lalu lanjut ke tahap 7. Jika tidak, maka cek apakah masih terdapat variabel independen yang belum pernah dimasukkan ke dalam model, jika iya, kembali ke tahap 4, namun jika tidak, lanjut ke tahap 8. (Nilai p-value dapat diperoleh dari uij-t).
  7. Hapus variabel independen yang dipilih pada tahap 6. Jika masih terdapat variabel independen yang belum pernah dimasukkan ke dalam model, maka kembali ke tahap 4, jika tidak, lanjut ke tahap 8.
  8. Model siap digunakan.

Pendekatan All Possible Models

Prinsip dari pendekatan ini adalah mempertimbangkan semua kombinasi variabel independen yang tersedia untuk dibuat menjadi model multiple linear regression. Ini berarti bahwa setiap kombinasi dari variabel independen, termasuk kombinasi yang berbeda jumlah variabel, dievaluasi untuk melihat seberapa baik mereka menjelaskan variabilitas dalam variabel dependen. Tahapan dari pendekatan all possible models adalah sebagai berikut:

  1. Pilih kreteria pemilihan model seperti Akaike Criterion, R², dan sejenisnya.
  2. Bangun semua kemungkinan model regresi dengan total kombinasi model sebanyak 2ⁿ-1, dengan n merupakan jumlah variabel independen yang ada.
  3. Pilih model yang memiliki nilai terbaik berdasarkan kriteria yang dipilih pada tahap 1.
  4. Model siap digunakan.

Pendekatan all possible model ini secara prinsip merupakan pendekatan yang paling komprehensif namun memerlukan sumber daya komputasi yang sangat tinggi (bahkan tertinggi jika dibandingkan dengan pendekatan lainnya). Untuk kasus dengan 10 variabel independen saja, kita perlu membangun model sebanyak 2¹⁰-1 = 1023 model regresi, tentu ini jumlah model yang sangat banyak.

Pemilihan pendekatan pemilihan model atau penyeleksian variabel independen pada model multiple linear regression sangat bergantung pada preferensi, batasan sumber daya, batasan kerangka kerja, dan orientasi pembangunan model yang dilakukan. Masing-masing pendekatn juga memiliki kelebihan dan kekurangan masing-masing yang tertuang secara implisit pada prosedur penerapannya. Kelebihan dan kekurangan dari pendekatan tersebutlah yang juga nantinya dapat dijadikan sebagai pertimbangan dalam memilih pendekatan pemilihan model atau penyeleksian variabel independen.

Pembagunan Model Multiple Linear Regression pada Python

Import Library

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

Import Dataset

dataset = pd.read_csv('50_Startups.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, -1].values

Encoding Categorical Data/Creating Dummy Variables

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [3])], remainder='passthrough')
X = np.array(ct.fit_transform(X))

Kode [3] pada script di atas, berarti kita akan merujuk ke kolom ke-4 (Python menghitung mulai dari 0) pada variabel ‘X’ yang menyimpan nilai-nilai variabel independen yang kita punya.

Untuk melihat perubahan struktur data setelah dilakukan encoding pada variabel kategorik, kita dapat menjalankan perintah berikut ini:

print(X)

Output yang dihasilkan adalah sebagai berikut:

[[0.0 0.0 1.0 165349.2 136897.8 471784.1]
 [1.0 0.0 0.0 162597.7 151377.59 443898.53]
 [0.0 1.0 0.0 153441.51 101145.55 407934.54]
 [0.0 0.0 1.0 144372.41 118671.85 383199.62]
 [0.0 1.0 0.0 142107.34 91391.77 366168.42]
 [0.0 0.0 1.0 131876.9 99814.71 362861.36]
 [1.0 0.0 0.0 134615.46 147198.87 127716.82]
 [0.0 1.0 0.0 130298.13 145530.06 323876.68]
 [0.0 0.0 1.0 120542.52 148718.95 311613.29]
 [1.0 0.0 0.0 123334.88 108679.17 304981.62]
 [0.0 1.0 0.0 101913.08 110594.11 229160.95]
 [1.0 0.0 0.0 100671.96 91790.61 249744.55]
 [0.0 1.0 0.0 93863.75 127320.38 249839.44]
 [1.0 0.0 0.0 91992.39 135495.07 252664.93]
 [0.0 1.0 0.0 119943.24 156547.42 256512.92]
 [0.0 0.0 1.0 114523.61 122616.84 261776.23]
 [1.0 0.0 0.0 78013.11 121597.55 264346.06]
 [0.0 0.0 1.0 94657.16 145077.58 282574.31]
 [0.0 1.0 0.0 91749.16 114175.79 294919.57]
 [0.0 0.0 1.0 86419.7 153514.11 0.0]
 [1.0 0.0 0.0 76253.86 113867.3 298664.47]
 [0.0 0.0 1.0 78389.47 153773.43 299737.29]
 [0.0 1.0 0.0 73994.56 122782.75 303319.26]
 [0.0 1.0 0.0 67532.53 105751.03 304768.73]
 [0.0 0.0 1.0 77044.01 99281.34 140574.81]
 [1.0 0.0 0.0 64664.71 139553.16 137962.62]
 [0.0 1.0 0.0 75328.87 144135.98 134050.07]
 [0.0 0.0 1.0 72107.6 127864.55 353183.81]
 [0.0 1.0 0.0 66051.52 182645.56 118148.2]
 [0.0 0.0 1.0 65605.48 153032.06 107138.38]
 [0.0 1.0 0.0 61994.48 115641.28 91131.24]
 [0.0 0.0 1.0 61136.38 152701.92 88218.23]
 [1.0 0.0 0.0 63408.86 129219.61 46085.25]
 [0.0 1.0 0.0 55493.95 103057.49 214634.81]
 [1.0 0.0 0.0 46426.07 157693.92 210797.67]
 [0.0 0.0 1.0 46014.02 85047.44 205517.64]
 [0.0 1.0 0.0 28663.76 127056.21 201126.82]
 [1.0 0.0 0.0 44069.95 51283.14 197029.42]
 [0.0 0.0 1.0 20229.59 65947.93 185265.1]
 [1.0 0.0 0.0 38558.51 82982.09 174999.3]
 [1.0 0.0 0.0 28754.33 118546.05 172795.67]
 [0.0 1.0 0.0 27892.92 84710.77 164470.71]
 [1.0 0.0 0.0 23640.93 96189.63 148001.11]
 [0.0 0.0 1.0 15505.73 127382.3 35534.17]
 [1.0 0.0 0.0 22177.74 154806.14 28334.72]
 [0.0 0.0 1.0 1000.23 124153.04 1903.93]
 [0.0 1.0 0.0 1315.46 115816.21 297114.46]
 [1.0 0.0 0.0 0.0 135426.92 0.0]
 [0.0 0.0 1.0 542.05 51743.15 0.0]
 [1.0 0.0 0.0 0.0 116983.8 45173.06]]

Splitting Data into Training and Testing Set

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

Catatan:

  1. Dengan menggunakan class sklearn, kita tidak perlu melakukan proses eliminasi satu dummy variable untuk menghindari multikolinieritas sebab class sklearn untuk LinearRegression telah secara ototmatis akan meng-handle masalah keberadaan dummy variable yang harus diambil sebanyak k-1.
  2. Selain itu, dengan menggunakan class sklearn, kita juga tidak perlu melakukan proses forward selection, backward elimination, stepwise regression, atau bahkan all possible models untuk mendapatkan variabel independen mana saja yang sebaiknya dimasukkan ke dalam model berdasarkan signifikansinya dalam memengaruhi variabel dependen. Karena sekali lagi, class sklearn untuk LinearRegression akan secara ototmatis melakukan tahapan-tahapan pemilihan variabel independen tersebut dan hanya akan mengembalikan model terbaik hasil pemililihan variabel independen tadi.

Training the Simple Linear Regression Model on the Tranining Set

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)

Predicting the Test Set Results

y_pred = regressor.predict(X_test)
np.set_printoptions(precision=2) # menampilkan nilai numerik hingga dua angka di belakang koma
print(np.concatenate((y_pred.reshape(len(y_pred),1), y_test.reshape(len(y_test),1)),1))

Script di atas akan menampilkan nilai riil dari variabel dependen (profit) dan nilai hasi prediksi dari variabel dependen (profit) tersebut agar kita dapat melihat bagaimana perbandingan antara nilai riil dan nilai prediksi dari model multiple linear regression yang dibangun.

Output yang dihasilkan adalah sebagai berikut:

[[103015.2  103282.38]
 [132582.28 144259.4 ]
 [132447.74 146121.95]
 [ 71976.1   77798.83]
 [178537.48 191050.39]
 [116161.24 105008.31]
 [ 67851.69  81229.06]
 [ 98791.73  97483.56]
 [113969.44 110352.25]
 [167921.07 166187.94]]

Kolom sebelah kanan merupakan nilai-nilai hasil prediksi, sedangkan kolom sebelah kiri merupakan nilai-nilai riil dari variabel profit.

Making a Single Prediction (for example the profit of a startup with R&D Spend = 160000, Administration Spend = 130000, Marketing Spend = 300000 and State = ‘California’)

print(regressor.predict([[1, 0, 0, 160000, 130000, 300000]]))

Output yang dihasilkan adalah sebagai berikut:

[181566.92]

Dalam hal ini, model yang dibangun memprediksi bahwa keuntungan sebuah startup di California yang menghabiskan 160000 untuk R&D, 130000 untuk Administrasi, dan 300000 untuk Pemasaran adalah sebesar $181566.92.

Catatan penting 1: Perhatikan bahwa semua nilai fitur dimasukkan menggunakan tanda kurung siku ganda. Hal ini karena metode “predict” membutuhkan input berupa array 2D, dan memasukkan nilai kita ke dalam sepasang kurung siku ganda membuat inputnya menjadi larik 2D.

Catatan penting 2: Perhatikan juga bahwa negara bagian “California” tidak dimasukkan sebagai string pada kolom terakhir, tetapi sebagai “1, 0, 0” pada tiga kolom pertama. Hal ini karena tentu saja metode “predict” membutuhkan nilai input hasil OneHotEncoding dari negara bagian, dan seperti yang kita lihat pada baris kedua matriks fitur X, “California” dikodekan sebagai “1, 0, 0”. Perhatikan juga bahwa kita memasukkan nilai-nilai ini di tiga kolom pertama, bukan tiga kolom terakhir, karena variabel dummy selalu dibuat di kolom pertama.

Getting the Final Multiple Linear Regression Equation with the Values of the Coefficients

print(regressor.coef_)
print(regressor.intercept_)

Output yang dihasilkan adalah sebagai berikut:

[ 8.66e+01 -8.73e+02  7.86e+02  7.73e-01  3.29e-02  3.66e-02]
42467.52924854249

Sehingga, model multiple linear regression yang berhasil dibangun adalah sebagai berikut:

Profit = 42467,52+0,0366 Marketing Spend+0,0329 Administration+0,773 R&D Spend+86,6 Dummy State 1–873 Dummy State 2+ 786 Dummy State 3

Catatan:

  1. Sebenarnya penulisan 786 Dummy State 3 pada persamaan di atas bisa tidak dilakukan (dihilangkan), karena memang dalam model multiple linear regression kita hanya perlu mengambil sebanyak k-1 (dalam hal ini 3–1=2) dummy variable untuk dimasukkan ke dalam model. Namun, pada Python koefisien tersebut diperlukan secara eksplisit untuk mengakomodir proses prediksi dari hasil OneHotEncoding yang mengembalikan nilai hasil encoding sebanyak nilai unik dalam variabel kategorik yang di-encoding (dalam hal ini adalah 3) — seperti yang dilakukan pada tahapan making single prediction di atas.
  2. Untuk mendapatkan koefisien-koefisien ini, kita memanggil atribut “coef” dan “intercept” dari objek regressor kita.
  3. Dalam machine learning, pemeriksaan asumsi untuk model regresi (termasuk multiple linear regression) dapat dilakukan setelah pembangunan model selesai dilakukan DAN didapati bahwa model regresi yang dibuat memiliki akurasi yang tinggi (misalnya). Sebab, nantinya jika kita membangun model regresi dan didapati bahwa akurasi yang diberikan relatif rendah, tentu kita akan mencoba membangun bahkan memilih model lain yang dapat memberikan akurasi prediksi yang lebih baik. Dalam artian, akurasi rendah yang diberikan oleh model regresi bisa menjadi indikasi bahwa terdapat asumsi yang terlanggar dan kita bisa langsung mencoba membangun atau memilih model lain. Namun, jika model regresi yang dibangun memberikan akurasi prediksi yang tinggi, maka pengecekan perlu dilakukan terlebih dahulu untuk MEMASTIKAN bahwa model regresi yang dibangun, benar-benar bisa diandalkan (dari sisi analisis prediktif).

Sumber:


메타데이터
post_id
635c4dd74931
slug
multiple-linear-regression-tinjauan-dari-perspektif-machine-learning-635c4dd74931
url
https://medium.com/@faarh.nn/multiple-linear-regression-tinjauan-dari-perspektif-machine-learning-635c4dd74931
canonical_url
https://medium.com/@faarh.nn/multiple-linear-regression-tinjauan-dari-perspektif-machine-learning-635c4dd74931
author_url
https://medium.com/@faarh.nn
status
ok
fetched_at
2026-07-24 02:11:13