Cara menafsirkan null & residual deviance (dengan contoh)
Setiap kali Anda menyesuaikan model linier umum (seperti regresi logistik, regresi Poisson, dll.), sebagian besar perangkat lunak statistik menghasilkan nilai untuk penyimpangan nol dan penyimpangan sisa model.
Penyimpangan nol memberi tahu kita seberapa baik variabel respons dapat diprediksi oleh model yang hanya memiliki suku asli.
Penyimpangan sisa menunjukkan seberapa baik variabel respons dapat diprediksi oleh model dengan variabel prediktor p . Semakin rendah nilainya, maka semakin baik model tersebut dalam memprediksi nilai variabel respon.
Untuk menentukan apakah suatu model “berguna”, kita dapat menghitung statistik Chi-kuadrat sebagai berikut:
X 2 = Nol penyimpangan – Sisa penyimpangan
dengan derajat kebebasan p .
Kami kemudian dapat menemukan nilai p yang terkait dengan statistik Chi-kuadrat ini. Semakin rendah nilai p, semakin baik model tersebut mampu menyesuaikan dengan kumpulan data dibandingkan dengan model yang hanya memiliki term asli.
Contoh berikut menunjukkan cara menafsirkan penyimpangan nol dan sisa untuk model regresi logistik di R.
Contoh: Interpretasi dari penyimpangan nol dan sisa
Untuk contoh ini, kita akan menggunakan dataset default dari paket ISLR. Kita dapat menggunakan kode berikut untuk memuat dan menampilkan ringkasan kumpulan data:
#load dataset data <- ISLR::Default #view summary of dataset summary(data) default student balance income No:9667 No:7056 Min. : 0.0 Min. : 772 Yes: 333 Yes:2944 1st Qu.: 481.7 1st Qu.:21340 Median: 823.6 Median: 34553 Mean: 835.4 Mean: 33517 3rd Qu.:1166.3 3rd Qu.:43808 Max. :2654.3 Max. :73554
Kumpulan data ini berisi informasi berikut tentang 10.000 individu:
- default: menunjukkan apakah seseorang mengalami default atau tidak.
- pelajar: menunjukkan apakah seseorang adalah pelajar atau bukan.
- saldo: Saldo rata-rata yang dibawa oleh seorang individu.
- pendapatan: Pendapatan individu.
Kami akan menggunakan status pelajar, saldo bank, dan pendapatan untuk membangun model regresi logistik yang memprediksi kemungkinan seseorang akan gagal bayar:
#fit logistic regression model model <- glm(default~balance+student+income, family=" binomial ", data=data) #view model summary summary(model) Call: glm(formula = default ~ balance + student + income, family = "binomial", data = data) Deviance Residuals: Min 1Q Median 3Q Max -2.4691 -0.1418 -0.0557 -0.0203 3.7383 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -1.087e+01 4.923e-01 -22.080 < 2e-16 *** balance 5.737e-03 2.319e-04 24.738 < 2e-16 *** studentYes -6.468e-01 2.363e-01 -2.738 0.00619 ** income 3.033e-06 8.203e-06 0.370 0.71152 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 2920.6 on 9999 degrees of freedom Residual deviance: 1571.5 on 9996 degrees of freedom AIC: 1579.5 Number of Fisher Scoring iterations: 8
Kita dapat mengamati nilai-nilai berikut dalam keluaran untuk nol dan simpangan sisa:
- Nol penyimpangan : 2920.6 dengan df = 9999
- Simpangan sisa : 1571,5 dengan df = 9996
Kita dapat menggunakan nilai-nilai ini untuk menghitung statistik X 2 model:
- X 2 = Nol penyimpangan – Sisa penyimpangan
- X2 = 2910,6 – 1579,0
- X2 = 1331,6
Terdapat p = 3 derajat kebebasan variabel prediktor.
Kita dapat menggunakan kalkulator Chi-kuadrat ke nilai P untuk menemukan bahwa nilai X 2 sebesar 1331,6 dengan 3 derajat kebebasan memiliki nilai p sebesar 0,000000.
Karena nilai p ini jauh lebih kecil dari 0,05, kita dapat menyimpulkan bahwa model ini sangat berguna dalam memprediksi kemungkinan seseorang akan gagal bayar.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan regresi logistik dalam praktiknya di R dan Python:
Bagaimana melakukan regresi logistik di R
Cara Melakukan Regresi Logistik dengan Python