Ist es sinnvoll, einen festen Effekt in einen zufälligen zu verschachteln, oder wie man wiederholte Takte in R (aov und lmer) codiert?


23

Ich habe diese Übersicht der lm / lmer R-Formeln von @conjugateprior durchgesehen und bin durch den folgenden Eintrag verwirrt:

Angenommen, A ist zufällig, aber B ist fest und B ist in A verschachtelt.

aov(Y ~ B + Error(A/B), data=d)

Im Folgenden wird eine analoge Mischmodellformel lmer(Y ~ B + (1 | A:B), data=d) für denselben Fall angegeben.

Ich verstehe nicht ganz, was es bedeutet. In einem Experiment, bei dem die Probanden in mehrere Gruppen unterteilt sind, wird ein Zufallsfaktor (Probanden) in einen festen Faktor (Gruppen) eingebettet. Aber wie kann ein fester Faktor in einem Zufallsfaktor verschachtelt werden? Etwas Festes in zufälligen Themen verschachtelt? Ist es überhaupt möglich? Wenn es nicht möglich ist, machen diese R-Formeln Sinn?


Es wird erwähnt, dass diese Übersicht teilweise auf den Seiten des Persönlichkeitsprojekts zur Durchführung von ANOVA in R basiert, die sich auf dieses Tutorial zu wiederholten Maßnahmen in R stützen . Dort ist das folgende Beispiel für die wiederholten Maßnahmen ANOVA gegeben:

aov(Recall ~ Valence + Error(Subject/Valence), data.ex3)

Hier werden Probanden mit Wörtern unterschiedlicher Wertigkeit (Faktor mit drei Stufen) vorgestellt und ihre Erinnerungszeit gemessen. Jedes Thema wird mit Wörtern aller drei Valenzstufen dargestellt. Ich sehe in diesem Design nichts Verschachteltes (es scheint laut der großartigen Antwort hier gekreuzt zu sein ), und daher würde ich naiv denken, dass Error(Subject)oder (1 | Subject)sollte in diesem Fall ein passender zufälliger Begriff sein. Die Subject/Valence"Verschachtelung" (?) Ist verwirrend.

Beachten Sie, dass ich verstehe, dass dies Valenceein Faktor innerhalb des Subjekts ist. Aber ich denke, es ist kein "verschachtelter" Faktor innerhalb von Fächern (weil alle Fächer alle drei Stufen von erfahren Valence).


Aktualisieren. Ich untersuche Fragen zum Lebenslauf zur Kodierung von ANOVA mit wiederholten Messungen in R.

  • Hier wird Folgendes für feste subjektinterne / wiederholte Maßnahmen A und zufällig verwendet subject:

    summary(aov(Y ~ A + Error(subject/A), data = d))
    anova(lme(Y ~ A, random = ~1|subject, data = d))
    
  • Hier für zwei fixe subjektinterne / wiederholte Effekte A und B:

    summary(aov(Y ~ A*B + Error(subject/(A*B)), data=d))
    lmer(Y ~ A*B + (1|subject) + (1|A:subject) + (1|B:subject), data=d) 
    
  • Hier für drei subjektinterne Effekte A, B und C:

    summary(aov(Y ~ A*B*C + Error(subject/(A*B*C)), data=d))
    lmer(Y ~ A*B*C + (1|subject) + (0+A|subject) + (0+B|subject) + (0+C|subject) + (0+A:B|subject) + (0+A:C|subject) + (0+B:C|subject), data = d)
    

Meine Fragen:

  1. Warum Error(subject/A)nicht Error(subject)?
  2. Ist es (1|subject)oder (1|subject)+(1|A:subject)oder einfach (1|A:subject)?
  3. Ist es (1|subject) + (1|A:subject)oder (1|subject) + (0+A|subject)und warum nicht einfach (A|subject)?

Inzwischen habe ich einige Threads gesehen, die behaupten, dass einige dieser Dinge gleichwertig sind (z. B. die erste: eine Behauptung, dass sie gleich sind, aber eine entgegengesetzte Behauptung auf SO ; die dritte: eine Art Behauptung, dass sie gleich sind ). Sind sie?


2
Nur eine kurze Bemerkung, um zu sagen, dass es meiner Meinung nach streng konzeptionell praktisch nie Sinn macht, einen festen Faktor in einen Zufallsfaktor zu verschachteln. Ich habe auch gelesen, dass mindestens ein Schulbuchautor so viel gesagt hat (ich kann mich im Moment nicht an einen Hinweis erinnern). Das heißt, es ist möglich, dass einige der Modellspezifikationen, die Sie oben geschrieben haben, statistisch den Modellen entsprechen, die sinnvoller sind ... Ich müsste mehr darüber nachdenken und ein bisschen damit herumspielen.
Jake Westfall

4
Eigentlich ist es sinnvoll, wenn Sie sich überlegen, wie R die A / B-Syntax interpretiert: Es erweitert sie einfach auf A + A: B. Wenn wir also einen zufälligen Begriff wie betrachten subject/condition, ist dies konzeptionell zweifelhaft, da es darauf hinzudeuten scheint, dass die Bedingungen in Subjekten verschachtelt sind, wenn eindeutig das Gegenteil der Fall ist, aber das Modell, das tatsächlich passt subject + subject:condition, ein perfekt gültiges Modell mit zufälligen Subjekteffekten ist und zufällige Steigungen des Subjekts X.
Jake Westfall

@JakeWestfall Danke, das ist so, wie ich es mir gerade überlege, aber ich möchte sehr, dass jemand es richtig erklärt. Eigentlich wundere ich mich, dass sich dies als nicht triviale Frage herausstellt; Ich hätte erwartet, dass Sie zu den Leuten gehören, die sofort antworten würden. Aber das ist eine Erleichterung, da ich ursprünglich dachte, meine Verwirrung müsse stumm sein. By the way, gibt es einige Standard - Referenz auf lmund aovFormeln? Wenn ich eine maßgebliche Quelle haben möchte, für was genau aov(ist es ein Wrapper lm?) Und wie die Error()Begriffe funktionieren, wo soll ich suchen?
Amöbe sagt Reinstate Monica

1
@amoeba Ja, aovist ein Wrapper für lmin dem Sinne, dass lmes für die kleinsten Quadrate passt, aoverledigt aber einige zusätzliche Arbeiten (insbesondere die Übersetzung des ErrorBegriffs für lm). Die maßgebliche Quelle ist der Quellcode oder möglicherweise der Verweis in help("aov"): Chambers et al. (1992). Aber ich habe keinen Zugriff auf diese Referenz, also würde ich den Quellcode untersuchen.
Roland

Antworten:


12

In gemischten Modellen kann die Behandlung von Faktoren als fest oder zufällig, insbesondere in Verbindung mit der Frage, ob sie gekreuzt, teilweise gekreuzt oder verschachtelt sind, zu viel Verwirrung führen. Außerdem scheint es terminologische Unterschiede zwischen der Verschachtelung in der Welt der anova / designed-Experimente und der Welt der mixed / multilevel-Modelle zu geben.

Ich gebe nicht zu, alle Antworten zu kennen, und meine Antwort wird nicht vollständig sein (und möglicherweise weitere Fragen ergeben), aber ich werde versuchen, einige der Probleme hier anzusprechen:

Ist es sinnvoll, einen festen Effekt in einen zufälligen zu verschachteln, oder wie man wiederholte Takte in R (aov und lmer) codiert?

(der Fragentitel)

Nein, ich glaube nicht, dass das Sinn macht. Wenn wir es mit wiederholten Takten zu tun haben, dann ist normalerweise alles, worauf sich die Takte wiederholen, zufällig. Nennen wir es einfach Subject, und lme4wir wollen Subjectauf der rechten Seite einen oder mehrere |in den zufälligen Teil des einschließen Formel. Wenn wir andere zufällige Effekte haben, dann sind diese entweder gekreuzt, teilweise gekreuzt oder verschachtelt - und meine Antwort auf diese Frage spricht das an.

Das Problem bei diesen Experimenten vom Anova-Typ scheint zu sein, wie mit Faktoren umgegangen werden soll, die normalerweise in einer Situation mit wiederholten Messungen als behoben angesehen werden, und die Fragen im Gremium des OP sprechen dafür:

Warum Fehler (Betreff / A) und nicht Fehler (Betreff)?

Ich benutze normalerweise nicht, aov()damit mir etwas fehlen könnte, aber für mich Error(subject/A)ist das im Falle der verlinkten Frage sehr irreführend . Error(subject)in der Tat führt zu genau den gleichen Ergebnissen.

Ist es (1 | Betreff) oder (1 | Betreff) + (1 | A: Betreff) oder einfach (1 | A: Betreff)?

Dies bezieht sich auf diese Frage. In diesem Fall führen alle folgenden Zufallseffektformulierungen zu genau demselben Ergebnis:

(1|subject)
(1|A:subject)
(1|subject) + (1|A:subject)
(1|subject) + (1|A:subject) + (1|B:subject)

Dies liegt jedoch daran, dass das simulierte Dataset in der Frage innerhalb von nichts variiert. Es wird nur mit erstellt Y = rnorm(48). Wenn wir einen realen Datensatz wie den cakein nehmen lme4, stellen wir fest, dass dies im Allgemeinen nicht der Fall ist. In der Dokumentation finden Sie den Versuchsaufbau:

Angaben zum Bruchwinkel von Schokoladenkuchen, die nach drei verschiedenen Rezepten hergestellt und bei sechs verschiedenen Temperaturen gebacken wurden. Dies ist ein Split-Plot-Entwurf, bei dem die Rezepte ganze Einheiten sind und die verschiedenen Temperaturen auf Untereinheiten (innerhalb von Wiederholungen) angewendet werden. Die experimentellen Hinweise legen nahe, dass die Nummerierung der Replikate eine zeitliche Reihenfolge darstellt.

Ein Datenrahmen mit 270 Beobachtungen zu den folgenden 5 Variablen.

replicate ein Faktor mit den Stufen 1 bis 15

recipe ein Faktor mit den Stufen A, B und C

temperature ein geordneter Faktor mit den Stufen 175 <185 <195 <205 <215 <225

temp numerischer Wert der Backtemperatur (Grad F).

angle ein numerischer Vektor, der den Winkel angibt, in dem der Kuchen zerbrach.

Wir haben also wiederholte Maßnahmen in replicateuns, und wir interessieren uns auch für die festen Faktoren recipeund temperature(die wir ignorieren können, tempda dies nur eine andere Kodierung ist temperature), und wir können die Situation visualisieren, indem wir Folgendes verwenden xtabs:

> xtabs(~recipe+replicate,data=cake)

     replicate
recipe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
     A 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6
     B 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6
     C 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6

Wenn recipees sich um einen zufälligen Effekt handeln würde, würden wir sagen, dass es sich um gekreuzte zufällige Effekte handelt. In keiner Weise recipe Agehört replicate 1oder irgendein anderes Replikat.

> xtabs(~temp+replicate,data=cake)

     replicate
temp  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  175 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  185 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  195 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  205 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  215 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  225 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3

Ähnliches gilt für temp.

Das erste Modell, zu dem wir passen könnten, ist:

> lmm1 <-  lmer(angle ~ recipe * temperature + (1|replicate), cake, REML= FALSE)

Dies wird jede replicateals einzige Quelle für zufällige Variationen behandeln (abgesehen vom Rest natürlich). Es kann jedoch zu zufälligen Unterschieden zwischen den Rezepten kommen. Wir könnten also versucht sein, einen recipeanderen (gekreuzten) Zufallseffekt einzubeziehen, aber das wäre nicht ratsam, da wir nur drei Stufen recipehaben und wir nicht erwarten können, dass das Modell die Varianzkomponenten gut einschätzt. Stattdessen können wir also replicate:recipeals Gruppierungsvariable verwenden, mit der wir jede Kombination aus Replikat und Rezept als separaten Gruppierungsfaktor behandeln können. Während wir mit dem obigen Modell 15 zufällige Abschnitte für die Ebenen von haben, haben replicatewir jetzt 45 zufällige Abschnitte für jede der separaten Kombinationen:

lmm3 <-  lmer(angle ~ recipe * temperature + (1|replicate:recipe) , cake, REML= FALSE)

Beachten Sie, dass wir jetzt (sehr geringfügig) unterschiedliche Ergebnisse haben, die darauf hinweisen, dass es aufgrund des Rezepts eine zufällige Variabilität gibt, aber nicht sehr viele.

Wir könnten das auch so machen temperature.

Zurück zu Ihrer Frage, fragen Sie auch

Warum (1|subject) + (1|A:subject)und nicht (1|subject) + (0+A|subject)oder einfach (A|subject)?

Ich bin mir nicht ganz sicher, woher dies kommt (unter Verwendung von zufälligen Steigungen) - es scheint nicht in den 2 verknüpften Fragen aufzutreten -, aber mein Problem (1|subject) + (1|A:subject)ist, dass dies genau das gleiche ist, (1|subject/A)was bedeutet, dass Aes sich in verschachtelt subject, was in turn bedeutet (für mich), dass jede Ebene von Ain 1 vorkommt und nur 1 Ebene von subjectder hier eindeutig nicht der Fall ist.

Ich werde diese Antwort wahrscheinlich ergänzen und / oder bearbeiten, nachdem ich mir weitere Gedanken gemacht habe, aber ich wollte meine ersten Gedanken festhalten.


Vielen Dank (+1). Ich bin nicht sicher, ob ich den cakeDatensatz verstehe . Es scheint, dass die Replikation im Rezept verschachtelt ist. Der Grund xtabszeigt nicht, dass dies genau der Grund ist, den Sie in Ihrer Antwort "Verschachtelt gegen gekreuzt" beschrieben haben: Die Replikation ist verwirrenderweise mit 1-15 und nicht mit 1-45 codiert. Für jedes Rezept wurden 15 "Wiederholungen" mit 6 Kuchen durchgeführt; Jeder Kuchen wurde dann bei unterschiedlicher Temperatur gebacken. Das Rezept ist also ein Zwischensubjektfaktor, und die Temperatur ist ein Zwischensubjektfaktor. Nach Ihrer Antwort sollte es also sein (1|recipe/replicate). Nein? (1|replicate:recipe)ist wahrscheinlich gleichwertig.
Amöbe sagt Reinstate Monica

Ich habe meine Frage nur auf subjektinterne Faktoren konzentriert, daher wäre es so, als würde man sich cakeauf nur ein einziges Rezept beschränken. In Bezug auf den dritten Punkt, von dem Sie sagen, dass Sie nicht sicher sind, woher er kommt, lesen Sie bitte den allerletzten Link in meinem Q mit einem Beispiel für drei subjektinterne Faktoren. Siehe auch Jakes upvoted Kommentar unter diesem Q, in dem er zufällige Steigungen erwähnt.
Amöbe sagt Reinstate Monica

Und in Bezug auf aovSie haben Sie Recht, dass es den Anschein hat Error(subject/A)und Sie Error(subject)die gleichen Ergebnisse erzielen, wenn es keine anderen Faktoren gibt, sondern ein Beispiel aus dem verknüpften Thread mit zwei Faktoren nehmen und dort Error(subject/(A*B))und Error(subject)nicht gleichwertig sind. Mein gegenwärtiges Verständnis ist, dass es ist, weil das erstere zufällige Steigungen enthält.
Amöbe sagt Reinstate Monica

@amoeba der cakeDatensatz war kein gutes Beispiel. Entschuldigen Sie. Ich werde etwas genauer darauf eingehen und wahrscheinlich versuchen, einen besseren zur Veranschaulichung zu finden.
Robert Long

Vielen Dank. Wir freuen uns auf Updates sowie auf das Update, das Placidia vorbereitet. In der Zwischenzeit denke ich, dass ich hier ein Kopfgeld bekommen werde.
Amöbe sagt Reinstate Monica

3

Hoppla. Alarmkommentatoren haben festgestellt, dass mein Post voller Unsinn war. Ich habe verschachtelte Entwürfe und wiederholte Maßentwürfe verwirrt.

Diese Site bietet eine nützliche Aufschlüsselung der Unterschiede zwischen verschachtelten und wiederholten Kennzahlenentwürfen. Interessanterweise zeigt der Autor die erwarteten mittleren Quadrate für fest in fest, zufällig in fest und zufällig in zufällig - aber nicht fest in zufällig. Es ist schwer vorstellbar, was das bedeuten würde - wenn die Faktoren in Stufe A zufällig ausgewählt werden, entscheidet jetzt die Zufälligkeit über die Auswahl der Faktoren in Stufe B. Wenn 5 Schulen zufällig von einer Schulbehörde ausgewählt werden und dann 3 Lehrer Die Stufen des "Lehrer" -Faktors, die aus jeder Schule (in Schulen verschachtelten Lehrern) ausgewählt werden, sind nun eine zufällige Auswahl von Lehrern aus der Schulbehörde aufgrund der zufälligen Auswahl von Schulen. Ich kann die Lehrer, die ich im Experiment haben werde, nicht "reparieren".


2
+1, vielen Dank. Alles in Ihrer Antwort macht für mich Sinn. Ich denke jedoch, wir sollten uns einig sein, dass das Wort "verschachtelt" in zwei unterschiedlichen Sinnen verwendet wird und dies zu Verwirrung führt. @RobertLong sagt, dass A in B verschachtelt ist, wenn jede Stufe von B zusammen mit verschiedenen Stufen von AEg-Klassen in Schulen verschachtelt ist, die in Städten usw. verschachtelt sind. In Ihrem Beispiel sind die Fächer innerhalb des Behandlungs- / Kontrollfaktors verschachtelt. Sie sagen, dass die Zeit in Subjekten verschachtelt ist, aber alle Zeitebenen mit allen Subjekten auftreten, so dass Robert sagen würde, dass sie gekreuzt sind! Dies ist ein anderes "verschachtelt". Recht?
Amöbe sagt Reinstate Monica

1
In Ihrem Beispiel ist klar, dass Zeit und Behandlung feste Effekte sind, aber es ist alles andere als klar, dass die Zeit in den Patienten verschachtelt ist. Können Sie eine Definition von "verschachtelt" angeben?
Joe King

Mein Fehler. Ich habe das Verschachteln verwirrt und Maßnahmen wiederholt. Ich habe meine Antwort geändert - wieder !.
Placidia

Eigentlich hat mir Ihre ursprüngliche Antwort mit Korrekturen / Ergänzungen von heute früher gefallen. Zu meiner Frage gab es viele nützliche Informationen, da ich, wie Sie sehen, eigentlich an "wiederholten Maßnahmen" interessiert bin (und die Frage nach "Verschachtelung" nur ein terminologischer Punkt war). Ich würde vorschlagen, dass Sie die vorherige Revision behalten!
Amöbe sagt Reinstate Monica

2
Als ich es schrieb, wurde mir klar, dass zufällige Effekte in sich wiederholenden Maßen verschachtelt sind, und ich möchte testen, wie die Mathematik funktioniert und welche Freiheitsgrade vorhanden sind. Ich werde meine Antwort verstärken, wenn ich sicher bin, dass ich das hinbekommen habe!
Placidia
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.