Mengevaluasi regresi logistik dan interpretasi Hosmer-Lemeshow Goodness of Fit

24

Seperti kita ketahui, ada 2 metode untuk mengevaluasi model regresi logistik dan mereka menguji hal-hal yang sangat berbeda

  1. Kekuatan prediksi:

    Dapatkan statistik yang mengukur seberapa baik Anda dapat memprediksi variabel dependen berdasarkan variabel independen. Pseudo R ^ 2 yang terkenal adalah McFadden (1974) dan Cox and Snell (1989).

  2. Statistik Good-of-fit

    Tes ini memberi tahu apakah Anda bisa melakukan lebih baik dengan membuat model lebih rumit, yang sebenarnya menguji apakah ada non-linearitas atau interaksi.

    Saya menerapkan kedua tes pada model saya, yang menambahkan kuadratik dan interaksi
    sudah:

    >summary(spec_q2)
    
    Call:
    glm(formula = result ~ Top + Right + Left + Bottom + I(Top^2) + 
     I(Left^2) + I(Bottom^2) + Top:Right + Top:Bottom + Right:Left, 
     family = binomial())
    
     Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
    (Intercept)  0.955431   8.838584   0.108   0.9139    
    Top          0.311891   0.189793   1.643   0.1003    
    Right       -1.015460   0.502736  -2.020   0.0434 *  
    Left        -0.962143   0.431534  -2.230   0.0258 *  
    Bottom       0.198631   0.157242   1.263   0.2065    
    I(Top^2)    -0.003213   0.002114  -1.520   0.1285    
    I(Left^2)   -0.054258   0.008768  -6.188 6.09e-10 ***
    I(Bottom^2)  0.003725   0.001782   2.091   0.0366 *  
    Top:Right    0.012290   0.007540   1.630   0.1031    
    Top:Bottom   0.004536   0.002880   1.575   0.1153    
    Right:Left  -0.044283   0.015983  -2.771   0.0056 ** 
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
    (Dispersion parameter for binomial family taken to be 1)
    Null deviance: 3350.3  on 2799  degrees of freedom
    Residual deviance: 1984.6  on 2789  degrees of freedom
    AIC: 2006.6
    

dan kekuatan yang diprediksi adalah seperti di bawah ini, MaFadden adalah 0,4004, dan nilai antara 0,2 ~ 0,4 harus diambil untuk menyajikan kesesuaian model yang sangat baik (Louviere et al (2000), Domenich dan McFadden (1975)):

 > PseudoR2(spec_q2)
    McFadden     Adj.McFadden        Cox.Snell       Nagelkerke McKelvey.Zavoina           Effron            Count        Adj.Count 
   0.4076315        0.4004680        0.3859918        0.5531859        0.6144487        0.4616466        0.8489286        0.4712500 
         AIC    Corrected.AIC 
2006.6179010     2006.7125925 

dan statistik good-of-fit:

 > hoslem.test(result,phat,g=8)

     Hosmer and Lemeshow goodness of fit (GOF) test

  data:  result, phat
  X-squared = 2800, df = 6, p-value < 2.2e-16

Seperti pemahaman saya, GOF sebenarnya menguji hipotesis nol dan alternatif berikut:

  H0: The models does not need interaction and non-linearity
  H1: The models needs interaction and non-linearity

Karena model saya menambahkan interaksi, non-linearitas dan nilai-p menunjukkan H0 harus ditolak, jadi saya sampai pada kesimpulan bahwa model saya memerlukan interaksi, memang non-linearitas. Semoga interpretasi saya benar dan terima kasih atas sarannya sebelumnya, terima kasih.

Samoth
sumber
2
Lebih baik melihat tabel yang mendasarinya daripada nilai p untuk uji HL. Dan juga di plot residu dari model Anda. Ini akan menunjukkan di mana masalahnya.
probabilityislogic

Jawaban:

26

Ada beberapa masalah yang harus diatasi.

  • R2R2R2
  • Tes Hosmer-Lemeshow adalah untuk kesalahan kalibrasi keseluruhan, bukan untuk kurangnya kesesuaian tertentu seperti efek kuadratik. Itu tidak benar memperhitungkan overfitting, arbitrer terhadap pilihan tempat sampah dan metode komputasi kuantil, dan sering memiliki kekuatan yang terlalu rendah.
  • Untuk alasan ini, tes Hosmer-Lemeshow tidak lagi direkomendasikan. Hosmer et al memiliki uji kelaikan dn omnibus yang lebih baik, diimplementasikan dalam fungsi rmspaket R.residuals.lrm
  • Untuk kasus Anda, goodness of fit dapat dinilai dengan menguji bersama (dalam tes "chunk") kontribusi semua segi dan interaksi.
  • Tetapi saya merekomendasikan menentukan model untuk membuatnya lebih sesuai di depan (terutama yang berkaitan dengan asumsi linearitas santai menggunakan splines regresi) dan menggunakan bootstrap untuk memperkirakan overfitting dan untuk mendapatkan kurva kalibrasi halus beresolusi tinggi terkoreksi overfitting untuk memeriksa absolut ketepatan. Ini dilakukan dengan menggunakan rmspaket R.

Pada poin terakhir, saya lebih suka filosofi bahwa model fleksibel (karena dibatasi oleh ukuran sampel) dan bahwa kita lebih berkonsentrasi pada "fit" daripada "kurangnya fit".

Frank Harrell
sumber
2
R2
1-R2
4

Dari Wikipedia :

Tes menilai apakah tingkat kejadian yang diamati cocok atau tidak dengan laju kejadian yang diharapkan dalam subkelompok populasi model. Tes Hosmer – Lemeshow secara khusus mengidentifikasi subkelompok sebagai desil nilai risiko yang sesuai. Model dengan tingkat kejadian yang diharapkan dan diamati dalam subkelompok yang sama disebut terkalibrasi dengan baik.

Artinya: setelah membangun model mencetak y model Anda, Anda ingin memeriksa silang apakah didistribusikan di 10 desil yang mirip dengan tingkat kejadian aktual.

Maka hipotesis akan menjadi

  • H0
  • H1

Oleh karena itu jika p -value kurang dari 0,05, mereka tidak terdistribusi dengan baik dan Anda perlu memperbaiki model Anda.

Saya harap ini menjawab beberapa permintaan Anda.

Rajnish Kumar
sumber
3

Ini agak diperdebatkan mengikuti jawaban @ FrankHarrell, tetapi penggemar tes H-L akan menyimpulkan dari hasil itu bahwa meskipun Anda memasukkan istilah kuadratik & beberapa interaksi urutan ke-2, model masih menunjukkan ketidakcocokan yang signifikan, & yang mungkin model yang lebih kompleks akan lebih sesuai. Anda sedang menguji kesesuaian model yang Anda tentukan dengan tepat, bukan dengan model pesanan pertama yang lebih sederhana.

† Ini bukan model orde 2 penuh — ada tiga interaksi yang harus dilakukan.

Scortchi - Reinstate Monica
sumber