Jika saya memiliki dataset dengan kelas positif yang sangat langka, dan saya mengambil sampel kelas negatif, kemudian melakukan regresi logistik, apakah saya perlu menyesuaikan koefisien regresi untuk mencerminkan fakta bahwa saya mengubah prevalensi kelas positif?
Sebagai contoh, katakanlah saya memiliki dataset dengan 4 variabel: Y, A, B dan C. Y, A, dan B adalah biner, C kontinu. Untuk 11.100 pengamatan Y = 0, dan untuk 900 Y = 1:
set.seed(42)
n <- 12000
r <- 1/12
A <- sample(0:1, n, replace=TRUE)
B <- sample(0:1, n, replace=TRUE)
C <- rnorm(n)
Y <- ifelse(10 * A + 0.5 * B + 5 * C + rnorm(n)/10 > -5, 0, 1)
Saya cocok dengan regresi logistik untuk memprediksi Y, mengingat A, B dan C.
dat1 <- data.frame(Y, A, B, C)
mod1 <- glm(Y~., dat1, family=binomial)
Namun, untuk menghemat waktu saya bisa menghapus 10.200 pengamatan non-Y, memberikan 900 Y = 0, dan 900 Y = 1:
require('caret')
dat2 <- downSample(data.frame(A, B, C), factor(Y), list=FALSE)
mod2 <- glm(Class~., dat2, family=binomial)
Koefisien regresi dari 2 model terlihat sangat mirip:
> coef(summary(mod1))
Estimate Std. Error z value Pr(>|z|)
(Intercept) -127.67782 20.619858 -6.191983 5.941186e-10
A -257.20668 41.650386 -6.175373 6.600728e-10
B -13.20966 2.231606 -5.919353 3.232109e-09
C -127.73597 20.630541 -6.191596 5.955818e-10
> coef(summary(mod2))
Estimate Std. Error z value Pr(>|z|)
(Intercept) -167.90178 59.126511 -2.83970391 0.004515542
A -246.59975 4059.733845 -0.06074284 0.951564016
B -16.93093 5.861286 -2.88860377 0.003869563
C -170.18735 59.516021 -2.85952165 0.004242805
Yang membuat saya percaya bahwa down-sampling tidak mempengaruhi koefisien. Namun, ini adalah contoh tunggal, buat-buat, dan saya lebih suka tahu pasti.
mod2
),Pr(>|z|)
untukA
hampir 1. Kami tidak dapat menolak hipotesis nol bahwa koefisiennyaA
adalah 0 sehingga kami telah kehilangan kovariat yang digunakan dalammod1
. Bukankah ini perbedaan yang substansial?Jawaban:
Pengambilan sampel sama dengan desain kontrol kasus dalam statistik medis — Anda memperbaiki jumlah respons & mengamati pola kovariat (prediktor). Mungkin referensi utama adalah Prentice & Pyke (1979), "Model Insiden Penyakit Logistik dan Studi Kasus-Kontrol", Biometrika , 66 , 3.
Mereka menggunakan Bayes 'Theorem untuk menulis ulang setiap istilah dalam kemungkinan untuk kemungkinan pola kovariat tertentu yang bersyarat menjadi kasus atau kontrol sebagai dua faktor; satu mewakili regresi logistik biasa (probabilitas menjadi kasus atau kontrol bersyarat pada pola kovariat), & yang lainnya mewakili probabilitas marginal dari pola kovariat. Mereka menunjukkan bahwa memaksimalkan kemungkinan keseluruhan tunduk pada kendala bahwa probabilitas marjinal menjadi kasus atau kontrol ditetapkan oleh skema pengambilan sampel memberikan perkiraan rasio odds yang sama seperti memaksimalkan faktor pertama tanpa kendala (yaitu melakukan regresi logistik biasa) .
Tentu saja dengan membuang data yang Anda miliki ke masalah pengumpulan, meskipun bagian yang paling tidak berguna, Anda mengurangi ketepatan perkiraan Anda. Kendala pada sumber daya komputasi adalah satu-satunya alasan bagus yang saya tahu untuk melakukan ini, tetapi saya menyebutkannya karena beberapa orang tampaknya berpikir bahwa "kumpulan data yang seimbang" penting untuk beberapa alasan lain yang saya tidak pernah bisa memastikannya.
sumber
success
instance. Dengan kata lain, TPR sangat rendah. Dengan mengubah ambang batas, TPR meningkat tetapi ketepatannya sangat buruk, yang berarti lebih dari 70% contoh yang diberi label positif, memang negatif. Saya membaca bahwa dalam peristiwa langka, regresi logistik tidak berjalan dengan baik, di sinilah metode Firth bermain, atau setidaknya salah satu peran yang dapat diambilnya. Tetapi hasil dari metode Firth ternyata sangat mirip dengan logit biasa. Saya pikir saya mungkin salah dalam melakukan Firth, tetapi tampaknya semuanya baik