Come vengono calcolati gli errori standard per i valori adattati da una regressione logistica?


29

Quando si prevede un valore adattato da un modello di regressione logistica, come vengono calcolati gli errori standard? Intendo per i valori adattati , non per i coefficienti (che coinvolgono la matrice di informazioni dei pescatori).

Ho solo scoperto come ottenere i numeri R(ad es. Qui su r-help o qui su Stack Overflow), ma non riesco a trovare la formula.

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

Se potessi fornire una fonte online (preferibilmente su un sito web universitario), sarebbe fantastico.

Risposte:


35

La previsione è solo una combinazione lineare dei coefficienti stimati. I coefficienti sono asintoticamente normali, quindi anche una combinazione lineare di tali coefficienti sarà asintoticamente normale. Quindi, se riusciamo ad ottenere la matrice di covarianza per le stime dei parametri, possiamo ottenere facilmente l'errore standard per una combinazione lineare di tali stime. Se denoto la matrice di covarianza come e scrivo i coefficienti per la mia combinazione lineare in un vettore come C, l'errore standard è solo Σ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

Vediamo che il metodo 'a mano' che mostro dà lo stesso errore standard riportato tramite predict


2
Ho una domanda correlata. Quando prevediamo un intervallo di valore e confidenza su una regressione lineare (non logistica), incorporiamo la varianza dell'errore / errore standard. Ma la regressione logistica no. Questa differenza deriva dal fatto che i valori osservati della regressione logistica sono 0 o 1 e che non ha senso stimare la varianza dell'errore? Sento che dovremmo almeno fare qualcosa, ma potrei mancare qualcosa.
user2457873

3
Vecchia domanda, ma questo thread mi ha aiutato proprio ora, quindi ecco qui: Il logit osserva 0 o 1, ma prevede una probabilità. Quando viene visualizzato un errore standard di un valore adattato, si trova sulla scala del predittore lineare. Ottieni un intervallo di confidenza sulla probabilità parlando logit (misura +/- 1,96 * se.fit)
generic_user

Basta essere consapevoli del fatto che questo utilizza il normale asintotico approssimativo, che può essere piuttosto negativo per il modello logistico (cercare in questo sito il fenomeno Hauss-Donner). Per i coefficienti, che possono essere corretti, ad esempio, dal profilo di verosimiglianza (usato dalla funzione confint in MASS). Ciò non è possibile per i predittori lineari ...
kjetil b halvorsen

2
Ciò non è corretto per ciò che l'OP ha richiesto; il GLM adatto utilizza la funzione collegamento identità, non la funzione collegamento logit. Dovresti o <- glm(y ~ x, data = dat, family = binomial)invece adattarti . Potresti rivedere per favore? La tua spiegazione funziona per stimare le probabilità del log SE (usando l' type = "link"opzione), ma non la SE quando predictusa l' type = "response"opzione.
Zhe Zhang,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.