Correzioni dei gradi di libertà dovrebbero essere usate per deduzione sui parametri GLM?


11

Questa domanda è ispirata dalla risposta di Martijn qui .

Supponiamo di adattare un GLM per una famiglia a un parametro come un modello binomiale o di Poisson e che si tratti di una procedura di piena verosimiglianza (al contrario, quasipoisson). Quindi, la varianza è una funzione della media. Con binomiale: e con Poisson var [ X ] = E [ X ] .var[X]=E[X]E[1X]var[X]=E[X]

A differenza della regressione lineare quando i residui sono normalmente distribuiti, la distribuzione campionata esatta ed esatta di questi coefficienti non è nota, è forse una combinazione complicata di esiti e covariate. Inoltre, utilizzando la stima della media della GLM , che verrà utilizzata come stima del plug-in per la varianza del risultato.

Come per la regressione lineare, tuttavia, i coefficienti hanno una distribuzione normale asintotica, e quindi nell'inferenza del campione finito possiamo approssimare la loro distribuzione campionaria con la curva normale.

La mia domanda è: otteniamo qualcosa usando l'approssimazione della distribuzione T alla distribuzione campionaria dei coefficienti in campioni finiti? Da un lato, conosciamo la varianza, ma non conosciamo l'esatta distribuzione, quindi un'approssimazione T sembra la scelta sbagliata quando un bootstrap o uno stimatore con un coltello a serramanico potrebbero spiegare correttamente queste discrepanze. D'altra parte, forse il leggero conservatorismo della distribuzione a T è semplicemente preferito nella pratica.


1
buona domanda. Potresti voler esaminare le correzioni di Bartlett .
Ben Bolker,

1
Penso che questa domanda sia mal posta, quando usi MLE o QMLE hai solo una stima e un'inferenza asintoticamente giustificate. chiedendo se il presupposto A o B sia migliore in contesti finiti, non si può rispondere, esso bollirà sempre al banale "dipende dai dati e dalle ipotesi che si è disposti a fare". Personalmente mi piace il bootstrap e lo uso ogni volta che posso, ma non è più sbagliato che usare il test standard basato su z o t - non ti consente di sfuggire al problema dei piccoli dati e quindi stai ancora facendo ipotesi (solo diverse )
Repmat,

Risposte:


3

Risposta breve: non è ancora una risposta completa, ma potresti essere interessato alle seguenti distribuzioni correlate alla domanda collegata: confronta z-test (come anche usato da glm) e t-test

    layout(matrix(1:2,1,byrow=TRUE))

    # trying all 100 possible outcomes if the true value is p=0.7
    px <- dbinom(0:100,100,0.7)
    p_model = rep(0,101)
    p_model2 = rep(0,101)
    for (i in 0:100) {
      xi = c(rep(1,i),rep(0,100-i))
      model = glm(xi ~ 1, offset=rep(qlogis(0.7),100), family="binomial")
      p_model[i+1] = 1-summary(model)$coefficients[4]
      model2 <- glm(xi ~ 1, family = "binomial")
      coef <- summary(model2)$coefficients
      p_model2[i+1] = 1-2*pt(-abs((qlogis(0.7)-coef[1])/coef[2]),99,ncp=0)
    }


    # plotting cumulative distribution of outcomes z-test
    outcomes <- p_model[order(p_model)]
    cdf <- cumsum(px[order(p_model)])
    plot(1-outcomes,1-cdf, 
         ylab="cumulative probability", 
         xlab= "calculated glm p-value",
         xlim=c(10^-4,1),ylim=c(10^-4,1),col=2,cex=0.5,log="xy")
    lines(c(0.00001,1),c(0.00001,1))
    for (i in 1:100) {
      lines(1-c(outcomes[i],outcomes[i+1]),1-c(cdf[i+1],cdf[i+1]),col=2)
    #  lines(1-c(outcomes[i],outcomes[i]),1-c(cdf[i],cdf[i+1]),col=2)
    }

    title("probability for rejection with z-test \n as function of set alpha level")


    # plotting cumulative distribution of outcomes t-test
    outcomes <- p_model2[order(p_model2)]
    cdf <- cumsum(px[order(p_model2)])
    plot(1-outcomes,1-cdf, 
         ylab="cumulative probability", 
         xlab= "calculated glm p-value",
         xlim=c(10^-4,1),ylim=c(10^-4,1),col=2,cex=0.5,log="xy")
    lines(c(0.00001,1),c(0.00001,1))
    for (i in 1:100) {
      lines(1-c(outcomes[i],outcomes[i+1]),1-c(cdf[i+1],cdf[i+1]),col=2)
      #  lines(1-c(outcomes[i],outcomes[i]),1-c(cdf[i],cdf[i+1]),col=2)
    }

    title("probability for rejection with t-test \n as function of set alpha level")
    [![p-test vs t-test][1]][1]

E c'è solo una piccola differenza. E anche il test z è effettivamente migliore (ma questo potrebbe essere perché sia ​​il test t che il test z sono "sbagliati" e probabilmente l'errore del test z compensa questo errore).

inserisci qui la descrizione dell'immagine

Risposta lunga: ...

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.