Cara menggunakan regsubsets() di r untuk pemilihan model
Anda dapat menggunakan fungsi regsubsets() dari paket leaps di R untuk menemukan subset variabel prediktor yang menghasilkan model regresi terbaik.
Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.
Contoh: Menggunakan regsubsets() untuk pemilihan model di R
Untuk contoh ini, kita akan menggunakan kumpulan data mtcars yang dibangun di R, yang berisi pengukuran pada 11 atribut berbeda untuk 32 mobil berbeda.
#view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
Misalkan kita ingin menyesuaikan model regresi menggunakan hp sebagai variabel respon dan variabel prediktor potensial berikut:
- mpg
- berat
- kotoran
- qdetik
Kita dapat menggunakan fungsi regsubsets() dari paket leaps untuk melakukan pencarian menyeluruh guna menemukan model regresi terbaik:
library (leaps)
#find best regression model
bestSubsets <- regsubsets(hp ~ mpg + wt + drat + qsec, data=mtcars)
#view results
summary(bestSubsets)
Subset selection object
Call: regsubsets.formula(hp ~ mpg + wt + drat + qsec, data = mtcars)
4 Variables (and intercept)
Forced in Forced out
mpg FALSE FALSE
wt FALSE FALSE
drat FALSE FALSE
qsec FALSE FALSE
1 subsets of each size up to 4
Selection Algorithm: exhaustive
mpg wt drat qsec
1 ( 1 ) "*" " " " " " "
2 (1) " " "*" " " "*"
3 ( 1 ) “*” “*” “ “ “*”
4 ( 1 ) “*” “*” “*” “*”
Bintang ( * ) di bagian bawah hasil menunjukkan variabel prediktor mana yang termasuk dalam model regresi terbaik untuk setiap model yang mungkin dengan jumlah variabel prediktor berbeda.
Berikut cara menafsirkan hasilnya:
Untuk model dengan variabel prediktor tunggal, model regresi terbaik dihasilkan dengan menggunakan mpg sebagai variabel prediktor.
Untuk model dengan dua variabel prediktor, model regresi terbaik dihasilkan dengan menggunakan wt dan qsec sebagai variabel prediktor.
Untuk model dengan tiga variabel prediktor, model regresi terbaik dihasilkan dengan menggunakan mpg , wt dan qsec sebagai variabel prediktor.
Untuk model dengan empat variabel prediktor, model regresi terbaik dihasilkan dengan menggunakan mpg , wt , drat dan qsec sebagai variabel prediktor.
Perhatikan bahwa Anda juga dapat mengekstrak metrik berikut untuk setiap model:
- rsq : nilai r kuadrat untuk setiap model
- RSS : Jumlah sisa kuadrat untuk setiap model
- adjr2 : Nilai r-kuadrat yang disesuaikan untuk setiap model
- cp : Cp Mallows untuk setiap model
- bic : Nilai BIC untuk setiap model
Misalnya, kita dapat menggunakan sintaks berikut untuk mengekstrak nilai R-kuadrat yang sesuai untuk masing-masing dari empat model terbaik:
#view adjusted R-squared value of each model
summary(bestSubsets)$adjr2
[1] 0.5891853 0.7828169 0.7858829 0.7787005
Dari hasilnya kita dapat melihat:
- Nilai Adjusted R-squared untuk model dengan mpg sebagai variabel prediktor adalah sebesar 0,589 .
- Nilai Adjusted R-squared untuk model dengan wt dan qsec sebagai variabel prediktor adalah sebesar 0,783 .
- Nilai Adjusted R-squared untuk model dengan mp g , wt dan qsec sebagai variabel prediktor adalah sebesar 0.786 .
- Nilai Adjusted R-squared untuk model dengan variabel prediktor mpg , wt , drat dan qsec adalah sebesar 0.779 .
Nilai-nilai ini memberi kita gambaran seberapa baik kumpulan variabel prediktor memprediksi nilai variabel respon, disesuaikan berdasarkan jumlah variabel prediktor dalam model.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara melakukan regresi linier berganda di R
Bagaimana melakukan regresi sepotong-sepotong di R
Bagaimana melakukan regresi spline di R