Penjelasan berikut tidak terbatas pada regresi logistik tetapi berlaku sama dalam regresi linier normal dan GLM lainnya. Biasanya, R
mengecualikan satu tingkat kategori dan koefisien menunjukkan perbedaan masing-masing kelas dengan kelas referensi ini (atau kadang-kadang disebut kelas dasar) (ini disebut pengkodean dummy atau kontras perawatan R
, lihat di sini untuk ikhtisar yang sangat baik dari opsi kontras yang berbeda ). Untuk melihat kontras saat ini R
, ketik options("contrasts")
. Biasanya, R
memesan level variabel kategorikal berdasarkan abjad dan mengambil yang pertama sebagai kelas referensi. Ini tidak selalu optimal dan dapat diubah dengan mengetik (di sini, kita akan mengatur kelas referensi menjadi "c" dalam variabel baru)new.variable <- relevel(old.variable, ref="c")
. Untuk setiap koefisien dari setiap level variabel kategori, uji Wald dilakukan untuk menguji apakah perbedaan berpasangan antara koefisien kelas referensi dan kelas lainnya berbeda dari nol atau tidak. Ini adalah apa nilai dan dalam tabel regresi. Jika hanya satu kelas kategorikal yang signifikan, ini tidak berarti bahwa seluruh variabel tidak ada artinya dan harus dikeluarkan dari model. Anda dapat memeriksa efek keseluruhan dari variabel dengan melakukan uji rasio kemungkinan : fit dua model, satu dengan dan satu tanpa variabel dan jenis di (lihat contoh di bawah). Berikut ini sebuah contoh:zhalanova(model1, model2, test="LRT")
R
mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")
mydata$rank <- factor(mydata$rank)
my.mod <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
summary(my.mod)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.989979 1.139951 -3.500 0.000465 ***
gre 0.002264 0.001094 2.070 0.038465 *
gpa 0.804038 0.331819 2.423 0.015388 *
rank2 -0.675443 0.316490 -2.134 0.032829 *
rank3 -1.340204 0.345306 -3.881 0.000104 ***
rank4 -1.551464 0.417832 -3.713 0.000205 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Tingkat rank1
telah dihilangkan dan masing-masing koefisien rank
menunjukkan perbedaan antara koefisien rank1
dan rank
tingkat yang sesuai . Jadi perbedaan antara koefisien rank1
dan rank2
akan . Koefisien hanyalah intersep. Jadi koefisien sebenarnya adalah . Tes Wald di sini menguji apakah perbedaan antara koefisien kelas referensi (di sini ) dan tingkat yang sesuai berbeda dari nol. Dalam hal ini, kami memiliki bukti bahwa koefisien semua kelas berbeda dari koefisien . Anda juga bisa menyesuaikan model tanpa memotong dengan menambahkan- 0,675rank1
rank2
- 3,99 - 0,675 = - 4,67rank1
rank1
- 1
ke rumus model untuk melihat semua koefisien secara langsung:
my.mod2 <- glm(admit ~ gre + gpa + rank - 1, data = mydata, family = "binomial")
summary(my.mod2) # no intercept model
Coefficients:
Estimate Std. Error z value Pr(>|z|)
gre 0.002264 0.001094 2.070 0.038465 *
gpa 0.804038 0.331819 2.423 0.015388 *
rank1 -3.989979 1.139951 -3.500 0.000465 ***
rank2 -4.665422 1.109370 -4.205 2.61e-05 ***
rank3 -5.330183 1.149538 -4.637 3.54e-06 ***
rank4 -5.541443 1.138072 -4.869 1.12e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Perhatikan bahwa intersep hilang sekarang dan koefisien rank1
tepat adalah intersep dari model pertama. Di sini, uji Wald memeriksa bukan perbedaan berpasangan antara koefisien tetapi hipotesis bahwa masing-masing koefisien individu adalah nol. Sekali lagi, kami memiliki bukti bahwa setiap koefisien rank
berbeda dari nol. Akhirnya, untuk memeriksa apakah seluruh variabel rank
meningkatkan kecocokan model, kami mencocokkan satu model dengan ( my.mod1
) dan satu tanpa variabel rank
( my.mod2
) dan melakukan uji rasio kemungkinan. Ini menguji hipotesis bahwa semua koefisien rank
nol:
my.mod1 <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial") # with rank
my.mod2 <- glm(admit ~ gre + gpa, data = mydata, family = "binomial") # without rank
anova(my.mod1, my.mod2, test="LRT")
Analysis of Deviance Table
Model 1: admit ~ gre + gpa + rank
Model 2: admit ~ gre + gpa
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 394 458.52
2 397 480.34 -3 -21.826 7.088e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Uji rasio kemungkinan sangat signifikan dan kami akan menyimpulkan bahwa variabel rank
harus tetap dalam model.
Posting ini juga sangat menarik.
admit ~ 1
vsadmit ~ rank - 1
?admit~rank
atauadmit~rank - 1
, mereka setara dengan fit.gre
dangpa
akan terpengaruh oleh kurangnya masuknya intersep?rank
rank
Jadi, apakah koefisien yang tidak signifikan berarti Anda dapat menggabungkan kategori? Pertama, tidak signifikan artinya kita tidak dapat menolak hipotesis bahwa tidak ada perbedaan, tetapi itu tidak berarti bahwa tidak ada perbedaan seperti itu. Tidak adanya bukti tidak sama dengan bukti ketidakhadiran. Kedua, menggabungkan kategori, terutama kategori referensi, mengubah interpretasi dari semua koefisien lainnya. Apakah itu masuk akal atau tidak tergantung pada apa yang diperjuangkan oleh kelas-kelas yang berbeda itu.
Apakah itu berarti bahwa seluruh variabel kategori adalah prediktor "buruk" (tidak signifikan)? Tidak, untuk itu Anda perlu melakukan tes simultan untuk semua istilah CLASS.
sumber