Bagaimana kesalahan standar dihitung untuk nilai-nilai yang dipasang dari regresi logistik?

29

Saat Anda memperkirakan nilai yang cocok dari model regresi logistik, bagaimana kesalahan standar dihitung? Maksud saya untuk nilai-nilai yang dipasang , bukan untuk koefisien (yang melibatkan matriks informasi Fishers).

Saya hanya menemukan cara mendapatkan angka R(misalnya, di sini di r-help, atau di sini di Stack Overflow), tetapi saya tidak dapat menemukan formula.

pred <- predict(y.glm, newdata= something, se.fit=TRUE)

Jika Anda dapat memberikan sumber online (lebih disukai di situs web universitas), itu akan sangat fantastis.

pengguna2457873
sumber

Jawaban:

35

Prediksi ini hanyalah kombinasi linear dari koefisien yang diestimasi. Koefisien normal asimptotik sehingga kombinasi linear dari koefisien tersebut juga normal asimptotik. Jadi jika kita dapat memperoleh matriks kovarians untuk estimasi parameter, kita dapat memperoleh kesalahan standar untuk kombinasi linear dari estimasi tersebut dengan mudah. Jika saya menyatakan matriks kovarians sebagai dan dan menulis koefisien untuk kombinasi linier saya dalam vektor sebagai maka kesalahan standarnya hanyaΣCCΣC

# Making fake data and fitting the model and getting a prediction
set.seed(500)
dat <- data.frame(x = runif(20), y = rbinom(20, 1, .5))
o <- glm(y ~ x, data = dat)
pred <- predict(o, newdata = data.frame(x=1.5), se.fit = TRUE)

# To obtain a prediction for x=1.5 I'm really
# asking for yhat = b0 + 1.5*b1 so my
# C = c(1, 1.5)
# and vcov applied to the glm object gives me
# the covariance matrix for the estimates
C <- c(1, 1.5)
std.er <- sqrt(t(C) %*% vcov(o) %*% C)

> pred$se.fit
[1] 0.4246289
> std.er
          [,1]
[1,] 0.4246289

Kita melihat bahwa metode 'dengan tangan' yang saya tunjukkan memberikan kesalahan standar yang sama seperti yang dilaporkan melalui predict

Alasan
sumber
2
Saya punya satu pertanyaan terkait. Ketika kami memprediksi nilai dan interval kepercayaan pada regresi linier (bukan logistik), kami memasukkan varians kesalahan / kesalahan standar. Tetapi regresi logistik tidak. Apakah perbedaan ini berasal dari fakta bahwa nilai-nilai yang diamati regresi logistik adalah 0 atau 1 dan bahwa tidak ada gunanya memperkirakan varians kesalahan? Saya merasa kita setidaknya harus melakukan sesuatu, tetapi saya mungkin kehilangan sesuatu.
user2457873
3
Pertanyaan lama, tapi utas ini membantu saya sekarang, jadi begini: Logit mengamati 0 atau 1, tetapi memprediksi probabilitas. Ketika Anda mendapatkan kesalahan standar dari nilai yang dipasang, itu pada skala prediktor linier. Anda mendapatkan interval kepercayaan pada probabilitas dengan berbicara logit (cocok +/- 1.96 * se.fit)
generic_user
Perlu diketahui bahwa ini menggunakan perkiraan normal asimptotik, yang bisa sangat buruk untuk model logistik (cari situs ini untuk fenomena Hauss-Donner). Untuk koefisien, yang dapat diatasi dengan misalnya kemungkinan profiling (digunakan oleh fungsi confint di MASS). Itu tidak mungkin untuk prediktor linier ...
kjetil b halvorsen
2
Ini tidak benar untuk apa yang diminta OP; GLM yang Anda cocok menggunakan fungsi tautan identitas, bukan fungsi tautan logit. Anda seharusnya sudah bugar o <- glm(y ~ x, data = dat, family = binomial). Bisakah Anda merevisi? Penjelasan Anda berfungsi untuk memperkirakan log-odds SE (menggunakan type = "link"opsi), tetapi tidak SE saat predictmenggunakan type = "response"opsi.
Zhe Zhang