Cosa indica lsmeans per un modello lineare generalizzato, come il modello misto di Poisson (adatta con glmer)?


10

Sto analizzando i dati di tracciamento oculare da un esperimento progettato. Una versione semplificata dei miei dati è simile a questa (Puoi ottenere i dati dput () qui ),

head(lookDATA)

  participant fixationImage fixationCount
1           9    Automobile            81
2           9          Bird            63
3           9         Chair            82
4           9           Dog            64
5           9          Face            90
6           9         Plant            75

dove il partecipante è un identificatore univoco per ogni soggetto, fissationImage è la categoria di immagine su cui si sono fissati e fixationCount è il numero di volte in cui si è fissato su quella categoria di foto.

Adatto un modello di poisson ai dati usando glmer () dal pacchetto lme4 .

model<-glmer(fixationCount ~ fixationImage + (1|participant), family = poisson, data = lookDATA)

Ho usato lsmeans () dal pacchetto lsmeans per esaminare le differenze tra i livelli dei fattori,

cld(lsmeans(model,"fixationImage"))

che fornisce il seguente output:

fixationImage   lsmean         SE df asymp.LCL asymp.UCL .group
Chair         3.786022 0.05764923 NA  3.673018  3.899026  1    
Bird          3.866201 0.05750641 NA  3.753476  3.978925   2   
Dog           3.868768 0.05751010 NA  3.756037  3.981500   2   
Body          3.883644 0.06040952 NA  3.765230  4.002059   23  
Plant         3.893327 0.05746744 NA  3.780679  4.005975   23  
Automobile    3.901939 0.05745528 NA  3.789315  4.014563   23  
Face          3.946848 0.05832549 NA  3.832519  4.061178    3 

Secondo la mia (forse limitata) comprensione dell'uso della vignetta lsmeans, la colonna lsmean dovrebbe rappresentare il numero medio di look per una data categoria prevista dal modello.

Tuttavia, questi valori sembrano scomodamente lontani da semplici statistiche descrittive per questi numeri,

summaryBy(fixationCount ~ fixationImage, data = lookDATA)

  fixationImage fixationCount.mean
1    Automobile           55.18750
2          Bird           53.25000
3          Body           57.12821
4         Chair           50.39450
5           Dog           53.82883
6          Face           56.76389
7         Plant           54.71429

suggerendo forse che non capisco correttamente cosa rappresentano gli lsmeans qui, o forse che ho specificato male il modello.

Qualsiasi aiuto sarebbe molto apprezzato.

Risposte:


9

L'output rappresenta le previsioni del modello per ciascuna immagine. Con la famiglia veleno, la funzione di collegamento predefinita è il registro naturale, quindi tali valori sono nella scala del registro. In tal caso lsmeans(..., type = "response"), trasformerà le previsioni nella scala di risposta originale.


Grazie mille per la rapida risposta. Ho cambiato la mia sintassi in cld (lsmeans (modello, "fixationImage", type = "response")) ma ho ottenuto il seguente errore: Errore in $<-.data.frame( *tmp*, "sep", value = ","): la sostituzione ha 1 riga, i dati hanno 0. Per la cronaca sto usando R versione 3.1.2 (2014-10-31) 'Pumpkin Helmet' e lsmeans versione 2.17. Tuttavia, hai risposto alla mia domanda e trasformerò l'output manualmente. Grazie ancora!
Marcus Morrisey,

Aggiornamento: errore persistente durante l'aggiornamento a R versione 3.2.0 (16-04-2015), "Pieno di ingredienti"
Marcus Morrisey,

2
Non sono sicuro del motivo per cui si verifica l'errore, ma sembra che provenga dal cldlato delle cose. Tiralo fuori e vedi se funziona. E usa pairsinvece di cld per testare i confronti (in una chiamata separata). È comunque una strada migliore perché cld prende decisioni in bianco e nero.
Russ Lenth,

Grazie ancora. Avevi ragione, funzioni benissimo al di fuori di cld (). Sono d'accordo con la tua valutazione sulla superiorità delle coppie (). Ho intenzione di utilizzare l'output di cld () per la stampa e includere una tabella con le informazioni più dettagliate da coppie () nei materiali supplementari. Pacchetto fantastico, continuate così.
Marcus Morrisey,

3
@MarcusMorrisey Ho corretto l'errore cldche ha creato l'errore. Grazie per averlo segnalato. Inviami una e-mail (vedi campo Maintainer) se vuoi che invii il pacchetto aggiornato. Altrimenti verrà aggiornato su CRAN tra qualche settimana.
Russ Lenth,
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.