Saya telah membangun regresi logistik di mana variabel hasil sedang disembuhkan setelah menerima pengobatan ( Cure
vs No Cure
). Semua pasien dalam penelitian ini menerima perawatan. Saya tertarik melihat apakah memiliki diabetes terkait dengan hasil ini.
Dalam R, output regresi logistik saya terlihat sebagai berikut:
Call:
glm(formula = Cure ~ Diabetes, family = binomial(link = "logit"), data = All_patients)
...
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.2735 0.1306 9.749 <2e-16 ***
Diabetes -0.5597 0.2813 -1.990 0.0466 *
...
Null deviance: 456.55 on 415 degrees of freedom
Residual deviance: 452.75 on 414 degrees of freedom
(2 observations deleted due to missingness)
AIC: 456.75
Namun, interval kepercayaan untuk rasio odds termasuk 1 :
OR 2.5 % 97.5 %
(Intercept) 3.5733333 2.7822031 4.646366
Diabetes 0.5713619 0.3316513 1.003167
Ketika saya melakukan tes chi-squared pada data ini saya mendapatkan yang berikut:
data: check
X-squared = 3.4397, df = 1, p-value = 0.06365
Jika Anda ingin menghitungnya sendiri, distribusi diabetes pada kelompok yang sembuh dan tidak sembuh adalah sebagai berikut:
Diabetic cure rate: 49 / 73 (67%)
Non-diabetic cure rate: 268 / 343 (78%)
Pertanyaan saya adalah: Mengapa nilai-p dan interval kepercayaan termasuk 1 tidak sesuai?
r
hypothesis-testing
logistic
generalized-linear-model
odds-ratio
SniperBro2000
sumber
sumber
confint()
. Yaitu, kemungkinan itu diprofilkan. Dengan begitu Anda mendapatkan CI yang analog dengan LRT. Perhitungan Anda benar, tetapi sebagai gantinya Wald CIs. Ada lebih banyak informasi dalam jawaban saya di bawah ini.Jawaban:
Dengan model linear umum, ada tiga jenis tes statistik yang dapat dijalankan. Ini adalah: tes Wald, tes rasio kemungkinan, dan tes skor. Situs bantuan statistik UCLA yang sangat baik membahasnya di sini . Gambar berikut (disalin dari situs mereka) membantu menggambarkannya:
summary.glm()
confint()
profile()
Di bawah ini saya profil koefisien pada skala prediktor linier dan menjalankan uji rasio kemungkinan secara eksplisit (via
anova.glm()
). Saya mendapatkan hasil yang sama seperti Anda:Seperti @JWilliman tunjukkan dalam komentar (sekarang dihapus), dalam
R
, Anda juga bisa mendapatkan nilai p berbasis skor menggunakananova.glm(model, test="Rao")
. Pada contoh di bawah, catatan bahwa p-value adalah tidak persis sama seperti pada uji chi-squared di atas, karena secara default,R
'schisq.test()
berlaku koreksi kontinuitas. Jika kita mengubah pengaturan itu, nilai-p cocok dengan:sumber