GLM binomiale negativo vs. trasformazione del log per i dati di conteggio: aumento del tasso di errore di tipo I.


18

Alcuni di voi potrebbero aver letto questo bel documento:

O'Hara RB, Kotze DJ (2010) Non registrare i dati di conteggio della trasformazione. Metodi in Ecologia ed Evoluzione 1: 118-122. Klick .

Nel mio campo di ricerca (ecotossicologia) abbiamo a che fare con esperimenti scarsamente replicati e le GLM non sono ampiamente utilizzate. Quindi ho fatto una simulazione simile a O'Hara & Kotze (2010), ma ho imitato i dati ecotossicologici.

Simulazioni di potenza :

Ho simulato i dati da un disegno fattoriale con un gruppo di controllo ( ) e 5 gruppi di trattamento ( ). L'abbondanza nel trattamento 1 era identica al controllo ( ), l'abbondanza nei trattamenti 2-5 era la metà dell'abbondanza nel controllo ( ). Per le simulazioni ho variato la dimensione del campione (3,6,9,12) e l'abbondanza nel gruppo di controllo (2, 4, 8, ..., 1024). Abbondanze sono state tratte da una distribuzione binomiale negativa con parametro di dispersione fisso ( ). Sono stati generati e analizzati 100 set di dati utilizzando un GLM binomiale negativo e un GLM + gaussiano trasformato in dati.μ 1 - 5 μ 1 = μ c μ 2 - 5 = 0,5 μ c θ = 3.91μcμ15μ1=μcμ25=0.5μcθ=3.91

I risultati sono quelli previsti: il GLM ha una potenza maggiore, specialmente quando non sono stati campionati molti animali. inserisci qui la descrizione dell'immagine Il codice è qui.

Errore di tipo I :

Successivamente ho esaminato l'errore di tipo uno. Le simulazioni sono state fatte come sopra, tuttavia tutti i gruppi avevano la stessa abbondanza ( ).μc=μ15

Tuttavia, i risultati non sono quelli previsti: inserisci qui la descrizione dell'immagine GLM binomiale negativo ha mostrato un errore di tipo I maggiore rispetto alla trasformazione LM +. Come previsto, la differenza è svanita all'aumentare della dimensione del campione. Il codice è qui.

Domanda:

Perché c'è un errore di tipo I maggiore rispetto a lm + trasformazione?

Se abbiamo dati scarsi (piccole dimensioni del campione, bassa abbondanza (molti zeri)), dovremmo usare lm + trasformazione? Campioni di piccole dimensioni (2-4 per trattamento) sono tipici di tali esperimenti e non possono essere aumentati facilmente.

Anche se, il neg. bidone. GLM può essere giustificato come appropriato per questi dati, lm + trasformazione può impedirci di errori di tipo 1.


1
Non una risposta alla tua domanda principale, ma qualcosa da notare per i lettori: a meno che non si equivalga l'errore di tipo I equivalente per le due procedure, confrontare il potere non ha senso; Posso sempre aumentare la potenza per quella inferiore (in questo caso prendere i registri e adattarli a quelli normali) sollevando il suo errore di tipo I. D'altra parte, se si specifica la situazione particolare (dimensione del campione, abbondanza), è possibile ottenere il tasso di errore di tipo I (ad esempio mediante simulazione), e quindi determinare quale tasso nominale verificare per ottenere il tasso di errore di tipo I desiderato , quindi il loro potere diventa comparabile.
Glen_b -Restate Monica

I valori dell'asse y nei grafici sono mediati tra i 100 set di dati?
Shadowtalker,

Dovrei chiarire il mio commento: nel caso in cui le statistiche siano intrinsecamente discrete non si ha un controllo perfetto del tasso di errore di tipo I, ma in genere è possibile rendere abbastanza vicini i tassi di errore di tipo I. In situazioni in cui non puoi avvicinarli abbastanza da essere comparabili, l'unico modo per renderli comparabili è con i test randomizzati.
Glen_b -Restate Monica

@ssdecontrol: No, è solo la proporzione di set di dati (su 100) dove p <α
EDi

1
Ci sono due problemi: (i) è che le approssimazioni sono asintotiche ma non è l'infinito, quindi l'approssimazione è proprio quella, un'approssimazione - questo sarebbe un problema se ci fosse o meno discrezione e porterebbe a un livello di significatività diverso da quello nominale (ma se è continuo è qualcosa per cui puoi adattarti); (ii) c'è il problema della discrezione, che ti impedisce di ottenere un livello di significazione esatto se ti adegui. n
Glen_b

Risposte:


17

Questo è un problema estremamente interessante. Ho esaminato il tuo codice e non riesco a trovare alcun errore di battitura immediatamente evidente.

Mi piacerebbe vederti ripetere questa simulazione, ma usare il test della massima verosimiglianza per fare deduzione sull'eterogeneità tra i gruppi. Ciò implicherebbe il refitting di un modello nullo in modo da poter ottenere stime dei s sotto l'ipotesi nulla di omogeneità nei tassi tra i gruppi. Penso che ciò sia necessario perché il modello binomiale negativo non è un modello lineare (la frequenza è parametrizzata linearmente, ma i non lo sono). Pertanto non sono convinto che l' argomento fornisca una corretta deduzione.θθθdrop1

La maggior parte dei test per i modelli lineari non richiede di ricalcolare il modello secondo l'ipotesi nulla. Questo perché è possibile calcolare la pendenza geometrica (test del punteggio) e approssimare l'ampiezza (test di Wald) utilizzando le stime dei parametri e la covarianza stimata sotto la sola ipotesi alternativa.

Poiché il binomio negativo non è lineare, penso che dovrai adattare un modello nullo.

MODIFICARE:

Ho modificato il codice e ottenuto il seguente: inserisci qui la descrizione dell'immagine

Codice modificato qui: https://github.com/aomidpanah/simulations/blob/master/negativeBinomialML.r


Ma penso che drop1() si adatta internamente al modello nullo ...
Ben Bolker,

4
No! Guarda quanto è complicato l'adattatore negbinom nel glm.nbcodice, i sono stimati usando l'algoritmo EM. non ha un metodo predefinito per il binomio negativo. Tuttavia, la funzione lo fa (vedi ). Ho corretto il codice dell'OP e dimostrato che facendo ciò si ottiene un'inferenza quasi identica al modello di Poisson sotto il valore null (che presenta ancora un problema di calibrazione significativo a causa di altri problemi). θdrop1logLikgetS3method('logLik', 'negbin'
AdamO,

vorrei fare +1 di nuovo ma non posso. Bello.
Ben Bolker,

Grazie! Ho appena guardato il codice di entrambi drop1()e lrtest(). Hai ragione, drop1.glmusi glm.fitche danno la devianza sbagliata. Non era consapevole del fatto che non possiamo usare drop1()con glm.nb()!
EDi,

Quindi il punteggio tipico e i test di Wald non sono validi nel modello binomiale negativo?
Shadowtalker,

8

Il documento di O'Hara e Kotze (Methods in Ecology and Evolution 1: 118–122) non è un buon punto di partenza per la discussione. La mia preoccupazione più seria è l'affermazione di cui al punto 4 del riassunto:

Abbiamo scoperto che le trasformazioni hanno funzionato male, tranne. . .. I modelli binomiali quasi-Poisson e negativi ... [mostravano] poca propensione.

La media per un Poisson o una distribuzione binomiale negativa è per una distribuzione che, per i valori di <= 2 e per l'intervallo di valori della media che è stato studiato, è fortemente distorta. I mezzi delle distribuzioni normali adattate sono su una scala di log (y + c) (c è l'offset) e stimano E (log (y + c)]. Questa distribuzione è molto più vicina alla simmetria di quanto non sia la distribuzione di y .θ λλθλ

Le simulazioni di O'Hara e Kotze confrontano E (log (y + c)], come stimato dalla media (log (y + c)), con log (E [y + c]). Possono essere, e nei casi annotati sono molto diversi. I loro grafici non confrontano un binomio negativo con un adattamento log (y + c), ma piuttosto confrontano la media (log (y + c)] con log (E [y + c]). ) mostrati nei loro grafici, in realtà sono gli adattamenti binomiali negativi che sono più distorti! λ

Il seguente codice R illustra il punto:

x <- rnbinom(10000, 0.5, mu=2)  
## NB: Above, this 'mu' was our lambda. Confusing, is'nt it?
log(mean(x+1))
[1] 1.09631
log(2+1)  ## Check that this is about right
[1] 1.098612

mean(log(x+1))
[1] 0.7317908

Oppure prova

log(mean(x+.5))
[1] 0.9135269
mean(log(x+.5))
[1] 0.3270837

La scala su cui sono stimati i parametri conta molto!

Se si preleva un campione da un Poisson, ovviamente ci si aspetta che il Poisson faccia meglio, se giudicato dai criteri utilizzati per adattarsi al Poisson. Idem per un binomio negativo. La differenza potrebbe non essere così grande, se il confronto è giusto. I dati reali (ad esempio, forse, in alcuni contesti genetici) possono talvolta essere molto vicini a Poisson. Quando partono da Poisson, il binomio negativo può o meno funzionare bene. Allo stesso modo, specialmente se è dell'ordine di forse 10 o più, per il log di modellazione (y + 1) usando la teoria normale standard.λ

Si noti che la diagnostica standard funziona meglio su una scala di log (x + c). La scelta di c potrebbe non importare troppo; spesso 0,5 o 1,0 hanno senso. Inoltre è un punto di partenza migliore per studiare le trasformazioni Box-Cox o la variante Yeo-Johnson di Box-Cox. [Yeo, I. e Johnson, R. (2000)]. Vedi più avanti la pagina di aiuto per powerTransform () nel pacchetto auto di R. Il pacchetto gamlss di R consente di adattare i tipi binomiali negativi I (la varietà comune) o II, o altre distribuzioni che modellano la dispersione e la media, con collegamenti di trasformazione di potenza pari a 0 (= log, ovvero log link) o più . Gli adattamenti potrebbero non convergere sempre.

Esempio: i dati sui decessi contro i danni di base si riferiscono agli uragani atlantici nominati che hanno raggiunto la terraferma statunitense. I dati sono disponibili (nome hurricNamed ) da una recente versione del pacchetto DAAG per R. La pagina di aiuto per i dati contiene dettagli.

Loglinear robusto vs adattamento binomiale negativo

Il grafico confronta una linea adattata ottenuta utilizzando un robusto adattamento lineare del modello, con la curva ottenuta trasformando un adattamento binomiale negativo con collegamento log sulla scala log (conteggio + 1) utilizzata per l'asse y sul grafico. (Si noti che si deve usare qualcosa di simile a una scala log (count + c), con c positiva, per mostrare i punti e la "linea" adattata dall'adattamento binomiale negativo sullo stesso grafico.) Notare il grande pregiudizio che è evidente per l'adattamento binomiale negativo sulla scala del log. Il robusto adattamento del modello lineare è molto meno distorto su questa scala, se si assume una distribuzione binomiale negativa per i conteggi. Un adattamento lineare del modello sarebbe imparziale sotto le ipotesi della teoria normale classica. Ho trovato sorprendente il pregiudizio quando ho creato per la prima volta quello che era essenzialmente il grafico sopra! Una curva si adatterebbe meglio ai dati, ma la differenza è nei limiti dei soliti standard di variabilità statistica. La robusta vestibilità del modello lineare fa un cattivo lavoro per i conteggi nella parte bassa della scala.

Nota --- Studi con dati RNA-Seq: il confronto tra i due stili del modello è stato interessante per l'analisi dei dati di conteggio da esperimenti di espressione genica. Il seguente documento confronta l'uso di un modello lineare robusto, che lavora con log (conteggio + 1), con l'uso di accoppiamenti binomiali negativi (come nel bordo del pacchetto Bioconduttore R ). La maggior parte dei conteggi, nell'applicazione RNA-Seq che è principalmente in mente, sono abbastanza grandi da adattarsi perfettamente a un modello log-lineare opportunamente pesato.

Law, CW, Chen, Y, Shi, W, Smyth, GK (2014). Voom: pesi di precisione sbloccano strumenti di analisi del modello lineare per conteggi di lettura RNA-seq. Genome Biology 15, R29. http://genomebiology.com/2014/15/2/R29

NB anche il recente documento:

Schurch NJ, Schofield P, Gierliński M, Cole C, Sherstnev A, Singh V, Wrobel N, Gharbi K, Simpson GG, Owen-Hughes T, Blaxter M, Barton GJ (2016). Quanti replicati biologici sono necessari in un esperimento RNA-seq e quale strumento di espressione differenziale dovresti usare? RNA http://www.rnajournal.org/cgi/doi/10.1261/rna.053959.115

È interessante notare che il modello lineare si adatta usando il pacchetto limma (come edgeR , del gruppo WEHI) stare in piedi estremamente bene (nel senso di mostrare poca evidenza di bias), rispetto ai risultati con molti replicati, poiché il numero di replicati è ridotto.

Codice R per il grafico sopra:

library(latticeExtra, quietly=TRUE)
hurricNamed <- DAAG::hurricNamed
ytxt <- c(0, 1, 3, 10, 30, 100, 300, 1000)
xtxt <- c(1,10, 100, 1000, 10000, 100000, 1000000 )
funy <- function(y)log(y+1)
gph <- xyplot(funy(deaths) ~ log(BaseDam2014), groups= mf, data=hurricNamed,
   scales=list(y=list(at=funy(ytxt), labels=paste(ytxt)),
           x=list(at=log(xtxt), labels=paste(xtxt))),
   xlab = "Base Damage (millions of 2014 US$); log transformed scale",
   ylab="Deaths; log transformed; offset=1",
   auto.key=list(columns=2),
   par.settings=simpleTheme(col=c("red","blue"), pch=16))
gph2 <- gph + layer(panel.text(x[c(13,84)], y[c(13,84)],
           labels=hurricNamed[c(13,84), "Name"], pos=3,
           col="gray30", cex=0.8),
        panel.text(x[c(13,84)], y[c(13,84)],
           labels=hurricNamed[c(13,84), "Year"], pos=1, 
           col="gray30", cex=0.8))
ab <- coef(MASS::rlm(funy(deaths) ~ log(BaseDam2014), data=hurricNamed))

gph3 <- gph2+layer(panel.abline(ab[1], b=ab[2], col="gray30", alpha=0.4))
## 100 points that are evenly spread on a log(BaseDam2014) scale
x <- with(hurricNamed, pretty(log(BaseDam2014),100))
df <- data.frame(BaseDam2014=exp(x[x>0])) 
hurr.nb <- MASS::glm.nb(deaths~log(BaseDam2014), data=hurricNamed[-c(13,84),])
df[,'hatnb'] <- funy(predict(hurr.nb, newdata=df, type='response'))
gph3 + latticeExtra::layer(data=df,
       panel.lines(log(BaseDam2014), hatnb, lwd=2, lty=2, 
           alpha=0.5, col="gray30"))    

2
Grazie per il tuo commento Mr. Maindonald. Negli ultimi due anni ci sono stati anche altri articoli (incentrati maggiormente sul test delle ipotesi, quindi sulla distorsione): Ives 2015, Warton et al 2016, Szöcs 2015.
EDi,

forse è un buon punto di partenza per la discussione, anche se questo particolare punto è problematico? (Direi più in generale che questa è una ragione per non concentrarsi troppo sul pregiudizio, ma piuttosto per considerare qualcosa come RMSE ... [disclaimer, non ho riletto questi documenti ultimamente e ho letto solo l'abstract di il documento di Warton ...]
Ben Bolker,

1
Il punto di Warton et al (2016), secondo cui le proprietà dei dati dovrebbero essere la base della scelta, è cruciale. I grafici quantile-quantile sono un buon modo per confrontare i dettagli degli accoppiamenti. In particolare l'adattamento all'uno o all'altro o entrambi gli estremi può essere importante per alcune applicazioni. I modelli a gonfiaggio zero o ostacolo possono essere un raffinamento efficace per ottenere correttamente i conteggi zero. All'estremo superiore, uno qualsiasi dei modelli in discussione può essere gravemente compromesso. Warton et al., Lodevolmente, hanno un esempio. Mi piacerebbe vedere i confronti tra una vasta gamma di set di dati ecologici.
John Maindonald,

Ma nei set di dati ecologici le specie nella parte inferiore (= specie rare) non sono interessanti? Non dovrebbe essere troppo difficile compilare alcuni set di dati ecologici e confrontarli ...
EDi

In realtà, è per la fascia bassa della categoria di danno che il modello binomiale negativo sembra, per i dati sui decessi dell'uragano, il meno soddisfacente. Il pacchetto gamlss di R ha una funzione che consente di confrontare facilmente i centili della distribuzione adattata con i centili dei dati:
John Maindonald

6

Il post originale riflette l'articolo di Tony Ives: Ives (2015) . È chiaro che i test di significatività danno risultati diversi alla stima dei parametri.

John Maindonald spiega perché le stime sono distorte, ma la sua ignoranza sullo sfondo è fastidiosa - ci critica per aver dimostrato che un metodo che tutti concordiamo è imperfetto è imperfetto. Molti ecologisti registrano ciecamente la trasformazione e stavamo cercando di evidenziare i problemi nel farlo.

C'è una discussione più sfumata qui: Warton (2016)

Ives, AR (2015), Per testare il significato dei coefficienti di regressione, andare avanti e registrare i dati di conteggio della trasformazione. Metodi Ecol Evol, 6: 828–835. DOI: 10.1111 / 2041-210X.12386

Warton, DI, Lyons, M., Stoklosa, J. and Ives, AR (2016), Tre punti da considerare quando si sceglie un test LM o GLM per i dati di conteggio. Metodi Ecol Evol. DOI: 10.1111 / 2041-210X.12552


Benvenuti nel CV. Sebbene utile, questa risposta è principalmente di tipo "solo link". I collegamenti cambiano e scollegano. Sarebbe più utile per il CV se dovessi approfondire i punti chiave di ognuno.
Mike Hunter,

Grazie per la risposta. Penso che l'articolo di Warton et al. conia lo stato attuale della discussione.
EDi,

Grazie e benvenuto! Mi sono preso la libertà di aggiungere i riferimenti per intero.
Scortchi - Ripristina Monica

1
Si prega di delineare i punti principali che vengono fatti nei nuovi riferimenti e dove ha senso, anche ricollegarli alla domanda originale. Questo è un contributo prezioso, ma al momento è più vicino a un commento su un'altra risposta che a una risposta alla domanda (che dovrebbe fornire un contesto per i collegamenti , ad esempio). Alcune frasi aggiuntive di contesto aiuterebbero sostanzialmente il post.
Glen_b

3
In particolare, i miei commenti riguardano il punto 4 del documento di O'Hara e Kotze: "Abbiamo scoperto che le trasformazioni hanno funzionato male, tranne ... I modelli binomiali quasi-Poisson e negativi ... [hanno mostrato] un piccolo pregiudizio". Le simulazioni sono un commento sul confronto tra la media attesa su una scala di y (i conteggi), rispetto alla media attesa su una scala di log (y + c), per una distribuzione fortemente inclinata, niente di più. Il parametro binomiale negativo lambda è imparziale sulla scala di y, mentre la media logaritmica è imparziale (in condizioni normali su quella scala) su una scala di log (y + c).
John Maindonald,
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.