Saya tertarik untuk mengubah hipotesis nol menggunakan glm()
R.
Sebagai contoh:
x = rbinom(100, 1, .7)
summary(glm(x ~ 1, family = "binomial"))
menguji hipotesis bahwa . Bagaimana jika saya ingin mengubah null ke p = beberapa nilai arbitrer, di dalam ? glm()
Saya tahu ini dapat dilakukan juga dengan prop.test()
dan chisq.test()
, tetapi saya ingin mengeksplorasi ide menggunakan glm()
untuk menguji semua hipotesis yang berkaitan dengan data kategorikal.
r
hypothesis-testing
generalized-linear-model
chi-squared
offset
Bill Ravenwood
sumber
sumber
glm
Jawaban:
Anda dapat menggunakan offset :β0=0 p q=logit(p)=log(p/(1−p))
glm
denganfamily="binomial"
estimasi parameter pada log-odds atau skala logit, jadi sesuai dengan log-odds 0 atau probabilitas 0,5. Jika Anda ingin membandingkan dengan probabilitas p , Anda ingin nilai baseline menjadi q = logit ( p ) = log ( p / ( 1 - p ) ) . Model statistik sekarangdi mana hanya baris terakhir telah berubah dari pengaturan standar. Dalam kode R:
offset(q)
dalam formulaqlogis(p)
rep(q,100)
.sumber
glm(y ~ offset(q)-1, family=binomial, data=dd)
dan menggunakanlrtest
darilmtest
paket. Uji chi-square Pearson adalah tes skor untuk model GLM. Wald / LRT / Score adalah semua tes yang konsisten dan harus memberikan kesimpulan yang setara dalam ukuran sampel yang cukup besar.anova()
dari pangkalan R di glm untuk mendapatkan tes LRlrtest
tidak.anova(.,test="Chisq")
?Lihatlah interval kepercayaan untuk parameter GLM Anda:
Ini adalah interval kepercayaan untuk log-odds.
Now, for any arbitraryp , you can compute log-odds and check if it is inside confidence interval.
sumber
confint
. So it is not only forIt is not (entirely) correct/accurate to use the p-values based on the z-/t-values in the glm.summary function as a hypothesis test.
Ini adalah bahasa yang membingungkan. Nilai yang dilaporkan bernama nilai-z. Tetapi dalam kasus ini mereka menggunakan estimasi kesalahan standar sebagai pengganti penyimpangan yang sebenarnya. Karena itu dalam kenyataannya mereka lebih dekat dengan nilai-t . Bandingkan tiga output berikut:
1) ringkasan.glm
2) uji-
3 3) uji-z
Mereka bukan nilai p yang tepat. Perhitungan tepat dari nilai-p menggunakan distribusi binomial akan bekerja lebih baik (dengan kekuatan komputasi saat ini, ini bukan masalah). Distribusi t, dengan asumsi distribusi kesalahan Gaussian, tidak tepat (terlalu tinggi p, melebihi tingkat alpha terjadi lebih jarang dalam "kenyataan"). Lihat perbandingan berikut:
Kurva hitam mewakili kesetaraan. Kurva merah di bawahnya. Itu berarti bahwa untuk nilai-p hitung yang diberikan oleh fungsi ringkasan glm, kami menemukan situasi ini (atau perbedaan yang lebih besar) lebih jarang dalam kenyataan daripada yang ditunjukkan oleh nilai-p.
sumber