Cara membuat kurva roc di sas
Regresi logistik adalah metode yang dapat kita gunakan untuk menyesuaikan model regresi ketika variabel responnya adalah biner.
Untuk mengevaluasi seberapa cocok model regresi logistik dengan kumpulan data, kita dapat melihat dua metrik berikut:
- Sensitivitas: probabilitas model memprediksi hasil positif untuk suatu observasi padahal hasilnya benar-benar positif. Ini juga disebut “tingkat positif sebenarnya”.
- Kekhususan: probabilitas model memprediksi hasil negatif untuk suatu observasi padahal hasilnya sebenarnya negatif. Ini juga disebut “tingkat negatif sebenarnya”.
Salah satu cara untuk memvisualisasikan kedua pengukuran ini adalah dengan membuat kurva ROC , yang merupakan singkatan dari kurva “karakteristik pengoperasian penerima”. Ini adalah grafik yang menampilkan sensitivitas dan spesifisitas model regresi logistik.
Contoh langkah demi langkah berikut menunjukkan cara membuat dan menafsirkan kurva ROC di SAS.
Langkah 1: Buat kumpulan data
Pertama, kita akan membuat dataset yang berisi informasi variabel berikut untuk 18 siswa:
- Penerimaan ke perguruan tinggi tertentu (1 = ya, 0 = tidak)
- IPK (skala 1 hingga 4)
- Skor ACT (skala 1 hingga 36)
/*create dataset*/ data my_data; input acceptance gpa act; datalines ; 1 3 30 0 1 21 0 2 26 0 1 24 1 3 29 1 3 34 0 3 31 1 2 29 0 1 21 1 2 21 0 1 15 1 3 32 1 4 31 1 4 29 0 1 24 1 4 29 1 3 21 1 4 34 ; run ;
Langkah 2: Sesuaikan model regresi logistik dan buat kurva ROC
Selanjutnya, kita akan menggunakan logistik proc agar sesuai dengan model regresi logistik, menggunakan “penerimaan” sebagai variabel respons dan “gpa” dan “tindakan” sebagai variabel prediktor.
Kami akan menentukan penurunan sehingga SAS mengetahui cara memprediksi probabilitas variabel respons mengambil nilai 1.
Kami juga akan menggunakan plots(only)=roc untuk membuat kurva ROC untuk model:
/*fit logistic regression model & create ROC curve*/
proc logistic data =my_data descending plots ( only )=roc;
model acceptance = gpa act;
run ;
Langkah 3: Interpretasikan kurva ROC
Semakin dekat kurva ROC dengan sudut kiri atas plot, semakin baik model memprediksi nilai nilai respons dalam kumpulan data.
Dari grafik di atas, kita dapat melihat bahwa kurva ROC berwarna biru cenderung berada di sudut kiri atas, yang menunjukkan bahwa model regresi logistik berfungsi dengan baik dalam memprediksi nilai nilai respons.
Untuk mengukur seberapa cocok model regresi logistik dengan data, kita dapat menghitung AUC – area di bawah kurva – yang menunjukkan seberapa banyak plot yang berada di bawah kurva.
Semakin dekat AUC ke 1, maka semakin baik model tersebut. Model dengan AUC sama dengan 0,5 tidak lebih baik dari model yang melakukan klasifikasi acak.
Berdasarkan judul grafik di atas, kita dapat melihat bahwa AUC model ini adalah 0,9351 .
Karena nilai ini mendekati satu, hal ini menegaskan bahwa model memprediksi nilai nilai respons dengan baik.
Kita juga dapat menggunakan nilai AUC untuk membandingkan kesesuaian model regresi logistik yang berbeda.
Misalnya, kita memasangkan dua model regresi logistik yang berbeda dan menghitung nilai AUC untuk masing-masing model:
- AUC model 1: 0,9351
- AUC model 2: 0,8140
Karena AUC Model 1 lebih besar, hal ini menunjukkan bahwa Model 1 berfungsi lebih baik dalam menyesuaikan data dibandingkan Model 2.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di SAS:
Cara melakukan regresi linier sederhana di SAS
Cara melakukan regresi linier berganda di SAS
Cara melakukan regresi logistik di SAS