Was berichtet lsmeans für ein verallgemeinertes lineares Modell wie das Poisson-Mischmodell (passend zu glmer)?

10

Ich analysiere die Eye-Tracking-Daten eines entworfenen Experiments. Eine vereinfachte Version meiner Daten sieht folgendermaßen aus (Sie können die Daten von dput () hier abrufen ).

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

Wenn der Teilnehmer eine eindeutige Kennung für jedes Thema ist, ist fixationImage die Bildkategorie, auf die er fixiert hat, und fixationCount gibt an, wie oft er auf diese Bildkategorie fixiert hat.

Ich passe ein Poisson-Modell mit glmer () aus dem lme4-Paket an die Daten an .

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

Ich habe lsmeans () aus dem lsmeans-Paket verwendet , um die Unterschiede zwischen den Faktorstufen zu untersuchen.

cld(lsmeans(model,"fixationImage"))

welches die folgende Ausgabe liefert:

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 

Nach meinem (möglicherweise eingeschränkten) Verständnis der Verwendung der lsmeans- Vignette sollte die lsmean-Spalte die durchschnittliche Anzahl von Looks für eine bestimmte vom Modell vorhergesagte Kategorie darstellen.

Diese Werte scheinen jedoch unangenehm weit von einfachen beschreibenden Statistiken für diese Zahlen entfernt zu sein.

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

was darauf hindeutet, dass ich nicht richtig verstehe, was die lsmeans hier darstellen, oder dass ich das Modell falsch spezifiziert habe.

Jede Unterstützung wäre sehr dankbar.

Marcus Morrisey
quelle

Antworten:

9

Die Ausgabe repräsentiert Vorhersagen aus Ihrem Modell für jedes Bild. Bei der Giftfamilie ist die Standardverknüpfungsfunktion das natürliche Protokoll. Diese Werte befinden sich also auf der Protokollskala. Wenn Sie dies tun lsmeans(..., type = "response"), werden die Vorhersagen auf die ursprüngliche Antwortskala zurücktransformiert.

Russ Lenth
quelle
Vielen Dank für die schnelle Antwort. Ich habe meine Syntax in cld geändert (lsmeans (Modell, "fixationImage", type = "response")), aber den folgenden Fehler erhalten: Fehler in $<-.data.frame( *tmp*, "sep", value = ","): Ersetzen hat 1 Zeile, Daten haben 0. Für die Aufzeichnung verwende ich R Version 3.1.2 (2014-10-31) 'Pumpkin Helmet' und lsmeans Version 2.17. Trotzdem haben Sie meine Frage beantwortet und ich werde die Ausgabe manuell transformieren. Danke noch einmal!
Marcus Morrisey
Update: Fehler weiterhin bei Update auf R Version 3.2.0 (2015-04-16), "Voller Zutaten"
Marcus Morrisey
2
Ich bin nicht sicher, warum der Fehler auftritt, aber es sieht so aus, als ob er von der cldSeite der Dinge kommt. Nehmen Sie es heraus und sehen Sie, ob es funktioniert. Und verwenden Sie pairsanstelle von cld, um die Vergleiche zu testen (in einem separaten Aufruf). Das ist sowieso ein besserer Weg, weil cld Schwarz-Weiß-Entscheidungen trifft.
Russ Lenth
Danke noch einmal. Sie hatten Recht, funktioniert gut außerhalb von cld (). Ich stimme Ihrer Einschätzung über die Überlegenheit von Paaren zu (). Ich plane, die Ausgabe von cld () zum Plotten zu verwenden und eine Tabelle mit den detaillierteren Informationen von pair () in die ergänzenden Materialien aufzunehmen. Tolles Paket, macht weiter so.
Marcus Morrisey
3
@MarcusMorrisey Ich habe den Fehler behoben cld, der den Fehler verursacht hat. Vielen Dank für die Meldung. Senden Sie mir eine E-Mail (siehe Feld "Maintainer"), wenn ich das aktualisierte Paket senden soll. Andernfalls wird es in einigen Wochen auf CRAN aktualisiert.
Russ Lenth