Pengantar spline regresi adaptif multivariat
Ketika hubungan antara sekumpulan variabel prediktor dan variabel respons bersifat linier, kita sering kali dapat menggunakan regresi linier , yang mengasumsikan bahwa hubungan antara variabel prediktor tertentu dan variabel respons berbentuk:
Y = β 0 + β 1 X + ε
Namun dalam praktiknya, hubungan antar variabel mungkin bersifat nonlinier dan upaya menggunakan regresi linier dapat menghasilkan model yang tidak sesuai.
Salah satu cara untuk memperhitungkan hubungan nonlinier antara variabel prediktor dan respons adalah dengan menggunakanregresi polinomial , yang berbentuk:
Y = β 0 + β 1 X + β 2 X 2 + … + β h
Dalam persamaan ini, h disebut “derajat” polinomial. Semakin tinggi nilai h , model menjadi lebih fleksibel dan mampu beradaptasi dengan data non-linier.
Namun, regresi polinomial memiliki beberapa kelemahan:
1. Regresi polinomial dapat dengan mudah menyesuaikan kumpulan data jika derajat , h , dipilih terlalu besar. Dalam praktiknya, h jarang lebih besar dari 3 atau 4 karena di luar titik tersebut h hanya sesuai dengan noise dari set pelatihan dan tidak dapat digeneralisasikan dengan baik pada data yang tidak terlihat.
2. Regresi polinomial menerapkan fungsi global pada seluruh kumpulan data, yang tidak selalu tepat.
Alternatif untuk regresi polinomial adalah splines regresi adaptif multivariat .
Ide dasarnya
Spline regresi adaptif multivariat berfungsi sebagai berikut:
1. Bagilah kumpulan data menjadi k bagian.
Pertama, kita membagi kumpulan data menjadi k elemen berbeda. Titik di mana kita membagi kumpulan data disebut node .
Kami mengidentifikasi node dengan mengevaluasi setiap titik untuk setiap prediktor sebagai node potensial dan membuat model regresi linier menggunakan fitur kandidat. Titik yang mampu mengurangi kesalahan terbanyak dalam model adalah node.
Setelah kami mengidentifikasi node pertama, kami mengulangi proses tersebut untuk menemukan node tambahan. Anda dapat menemukan node sebanyak yang Anda anggap masuk akal untuk memulai.
2. Pasangkan fungsi regresi pada setiap bagian untuk membentuk fungsi engsel.
Setelah kita memilih node dan menyesuaikan model regresi ke setiap elemen dalam kumpulan data, kita akan mendapatkan apa yang disebut fungsi engsel , yang dilambangkan dengan h(xa) , dengan a adalah ambang batas nilai.
Misalnya, fungsi engsel untuk model satu simpul mungkin adalah:
- y = β 0 + β 1 (4,3 – x) jika x < 4,3
- y = β 0 + β 1 (x – 4.3) jika x > 4.3
Dalam hal ini, ditentukan bahwa memilih 4,3 sebagai nilai ambang batas memungkinkan pengurangan kesalahan maksimum di antara semua nilai ambang batas yang mungkin. Kami kemudian menyesuaikan model regresi yang berbeda dengan nilai di bawah 4,3 versus nilai di atas 4,3.
Fungsi engsel dengan dua node dapat berupa sebagai berikut:
- y = β 0 + β 1 (4,3 – x) jika x < 4,3
- y = β 0 + β 1 (x – 4,3) jika x > 4,3 & x < 6,7
- y = β 0 + β 1 (6,7 – x) jika x > 6,7
Dalam hal ini, ditentukan bahwa memilih 4.3 dan 6.7 sebagai nilai ambang batas memungkinkan pengurangan kesalahan maksimum di antara semua nilai ambang batas yang mungkin. Kami kemudian menyesuaikan satu model regresi dengan nilai di bawah 4,3, model regresi lainnya dengan nilai antara 4,3 dan 6,7, dan model regresi lainnya dengan nilai di atas 4,3.
3. Pilih k berdasarkan validasi silang k-fold.
Terakhir, setelah kami memasang beberapa model berbeda menggunakan jumlah node berbeda untuk setiap model, kami dapat melakukan validasi silang k-fold untuk mengidentifikasi model yang menghasilkan mean squared error (MSE) pengujian terendah.
Model dengan uji MSE terendah dipilih sebagai model yang paling baik dalam menggeneralisasi data baru.
Keuntungan dan kerugian
Spline regresi adaptif multivariat memiliki kelebihan dan kekurangan sebagai berikut:
Keuntungan :
- Ini dapat digunakan untuk masalah regresi dan klasifikasi .
- Ini berfungsi dengan baik pada kumpulan data besar.
- Ini menawarkan perhitungan cepat.
- Ini tidak mengharuskan Anda untuk membakukan variabel prediktor.
Kekurangannya:
- Ini cenderung tidak bekerja sebaik metode non-linier seperti hutan acak dan mesin peningkat gradien.
Cara menyesuaikan model MARS di R & Python
Tutorial berikut memberikan contoh langkah demi langkah tentang cara menyesuaikan spline regresi adaptif multivariat (MARS) di R dan Python:
Spline Regresi Adaptif Multivariat di R
Spline Regresi Adaptif Multivariat dengan Python