Lojistik regresyondan elde edilen değerler için standart hatalar nasıl hesaplanır?


29

Bir lojistik regresyon modelinden bir takılan değer tahmin ettiğinizde standart hatalar nasıl hesaplanır? I anlamına monte değerleri (Fishers bilgi matrisi içerir) olup katsayıları için.

Sadece sayıların nasıl alınacağını öğrendim R(örneğin, burada r- help'de veya burada Stack Overflow'ta), ancak formülü bulamıyorum.

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

Çevrimiçi kaynak sağlayabilirseniz (tercihen bir üniversite web sitesinde), bu harika olurdu.

Yanıtlar:


35

Tahmin, tahmini katsayıların doğrusal bir birleşimidir. Katsayılar asimptotik olarak normaldir, bu yüzden bu katsayıların doğrusal bir kombinasyonu da asimptotik olarak normal olacaktır. Dolayısıyla parametre tahminleri için kovaryans matrisini elde edebilirsek, bu tahminlerin doğrusal bir kombinasyonu için standart hatayı kolayca alabiliriz. Kovaryans matrisini ve doğrusal kombinasyonum için katsayıları bir vektörde olarak , standart hata sadeceΣ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

Gösterdiğim 'el ile' yönteminin, bildirildiği gibi aynı standart hatayı verdiğini görüyoruz. predict


2
İlgili bir sorum var. Doğrusal bir regresyonda bir değer ve güven aralığı öngördüğümüzde (lojistik değil), hata sapması / standart hatasını dahil ediyoruz. Fakat lojistik regresyon değil. Bu fark, lojistik regresyonun gözlemlenen değerlerinin 0 veya 1 olması ve hata varyansını tahmin etmenin bir anlamı olmaması gerçeğinden mi geliyor? En azından bir şeyler yapmamız gerektiğini hissediyorum, ama bir şeyleri özlüyorum.
user2457873

3
Eski soru, ama bu konu bana şimdi yardımcı oldu, işte burada: Logit 0 veya 1'i gözlemler, ancak bir olasılık tahmin eder. Takılan değerin standart bir hatasını aldığınızda, doğrusal kestiricinin ölçeğindedir. Sen LOGIT (uyum +/- 1.96 * se.fit) konuşarak olasılıkla ilgili bir güven aralığını olsun
generic_user

Bunun, lojistik model için oldukça kötü olabilen yaklaşık asimptotik normal kullandığının farkında olun (bu siteyi Hauss-Donner fenomeni için arayın). Katsayılar için, örneğin olasılık profili ile (MASS'deki confint işlevi tarafından kullanılan) düzeltilebilir. Doğrusal tahminciler için bu mümkün değildir ...
kjetil b halvorsen 4:16

2
OP'nin istediği şey için bu doğru değil; Sığdırdığınız GLM, logit link işlevini değil kimlik link işlevini kullanır. Bunun o <- glm(y ~ x, data = dat, family = binomial)yerine uygun olmalısın . Lütfen revize edebilir misiniz? Açıklamanız, SE oranını ( type = "link"seçeneği kullanarak ) hesaplamak için çalışır , ancak seçeneği predictkullandığında SE'yi değil type = "response".
Zhe Zhang
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.