Im Klartext: Ich habe ein multiples Regressions- oder ANOVA-Modell, aber die Antwortvariable für jedes Individuum ist eine krummlinige Funktion der Zeit.
- Wie kann ich feststellen, welche der Variablen auf der rechten Seite für signifikante Unterschiede in den Formen oder vertikalen Versätzen der Kurven verantwortlich sind?
- Ist dies ein Zeitreihenproblem, ein Problem mit wiederholten Messungen oder etwas ganz anderes?
- Was sind die Best Practices für die Analyse solcher Daten (vorzugsweise in
R
, aber ich bin offen für die Verwendung anderer Software)?
Genauer gesagt: Nehmen wir an, ich habe ein Modell aber ist tatsächlich eine Reihe von Datenpunkten, die aus dem dasselbe Individuum k zu vielen Zeitpunkten t , die als numerische Variable aufgezeichnet wurden. Die Darstellung der Daten zeigt, dass y_ {ijkt} für jedes einzelne eine quadratische oder zyklische Funktion der Zeit ist, deren vertikaler Versatz, Form oder Frequenz (im zyklischen Fall) erheblich von den Kovariaten abhängen kann. Die Kovariaten ändern sich nicht im Laufe der Zeit - dh eine Person hat ein konstantes Körpergewicht oder eine konstante Behandlungsgruppe für die Dauer des Datenerfassungszeitraums.y i j k k t y i j k t
Bisher habe ich folgende R
Ansätze ausprobiert :
Manova
Anova(lm(YT~A*B,mydata),idata=data.frame(TIME=factor(c(1:10))),idesign=~TIME);
... wo
YT
ist eine Matrix, deren Spalten die Zeitpunkte sind, 10 davon in diesem Beispiel, aber viel mehr in den realen Daten.Problem: Hierbei wird die Zeit als Faktor behandelt, aber die Zeitpunkte stimmen nicht für jeden Einzelnen genau überein. Darüber hinaus gibt es viele davon im Verhältnis zur Stichprobengröße, sodass das Modell gesättigt wird. Es scheint, als würde die Form der Antwortvariablen über die Zeit ignoriert.
Mixed-Modell (wie bei Pinheiro und Bates, Mixed-Effect-Modelle bei S und S-Plus )
lme(fixed=Y~ A*B*TIME + sin(2*pi*TIME) + cos(2*pi*TIME), data=mydata, random=~(TIME + sin(2*pi*TIME) + cos(2*pi*TIME))|ID), method='ML')
... wo
ID
ist ein Faktor, der Daten nach Individuen gruppiert. In diesem Beispiel ist die Antwort über die Zeit zyklisch, es können jedoch auch quadratische Terme oder andere Zeitfunktionen vorhanden sein.Problem: Ich bin nicht sicher, ob jeder Zeitterm notwendig ist (insbesondere für quadratische Terme) und welche von welchen Kovariaten betroffen sind.
- Ist
stepAIC()
eine gute Methode, um sie auszuwählen? - Wenn ein zeitabhängiger Begriff entfernt wird, wird er dann auch aus dem
random
Argument entfernt? - Was ist, wenn ich auch eine Autokorrelationsfunktion (z. B.
corEXP()
) verwende, die eine Formel imcorrelation
Argument verwendet - sollte ich diese Formel fürcorEXP()
dieselbe wie die inrandom
oder nur~1|ID
erstellen? - Das
nlme
Paket wird im Zusammenhang mit Zeitreihen außerhalb von Pinheiro und Bates selten erwähnt ... wird es für dieses Problem nicht als gut geeignet angesehen?
- Ist
Anpassen eines quadratischen oder trigonometrischen Modells an jedes Individuum und anschließendes Verwenden jedes Koeffizienten als Antwortvariable für multiple Regression oder ANOVA.
Problem: Mehrfachvergleichskorrektur erforderlich. Ich kann mir keine anderen Probleme vorstellen, die mich misstrauisch machen, dass ich etwas übersehen habe.
Wie bereits auf dieser Website vorgeschlagen ( Was ist der Begriff für eine Zeitreihenregression mit mehr als einem Prädiktor? ), Gibt es ARIMAX- und Übertragungsfunktions- / dynamische Regressionsmodelle .
Problem: ARMA-basierte Modelle nehmen diskrete Zeiten an, nicht wahr? Was die dynamische Regression betrifft, habe ich heute zum ersten Mal davon gehört, aber bevor ich mich mit einer weiteren neuen Methode befasse, die sich vielleicht doch nicht durchsetzt, hielt ich es für ratsam, Leute, die dies zuvor getan haben, um Rat zu fragen.
Antworten:
Wie Jeromy Anglim sagte, wäre es hilfreich zu wissen, wie viele Zeitpunkte Sie für jede Person haben. Wie Sie sagten "viele", würde ich wagen, dass Funktionsanalyse eine praktikable Alternative sein könnte. Vielleicht möchten Sie das R-Paket fda überprüfen und sich das Buch von Ramsay und Silverman ansehen .
quelle
nlme
Ansätze (Punkte 2 und 3 im OP) zumindest gültig, um sie vorerst für Daten zu verwenden, während ich mich damit vertraut mache ?Seit ich diese Frage ursprünglich gestellt habe, bin ich zu dem Schluss gekommen, dass Modelle mit gemischten Effekten mit Subjekten als zufälligem Blockierungsfaktor die praktische Lösung für dieses Problem sind, dh Option 2 in meinem ursprünglichen Beitrag. Wenn das
random
Argument to auf gesetztlme
ist~1|ID
(wobeiID
Beobachtungen identifiziert werden, die von derselben Testperson stammen), wird ein zufälliges Abfangmodell angepasst. Wenn es auf eingestellt ist,~TIME|ID
wird ein zufälliges Steigungs- und Schnittmodell angepasst. Jede rechtsseitige Formel, die Variablen enthält, die innerhalb derselben Person variieren, kann zwischen die~
und die gesetzt werden|ID
, aber zu komplizierte Formeln führen zu einem gesättigten Modell und / oder verschiedenen numerischen Fehlern. Daher kann man einen Likelihood-Ratio-Test verwenden (anova(myModel, update(myModel,random=~TIME|ID))
) um ein zufälliges Intercept-Modell mit einem zufälligen Steigungs- und Intercept-Modell oder anderen möglichen Zufallseffektmodellen zu vergleichen. Wenn der Unterschied in der Passform nicht signifikant ist, bleiben Sie beim einfacheren Modell. Es war übertrieben für mich, in meinem ursprünglichen Beitrag auf zufällige Triggerfunktionen einzugehen.Das andere Problem, das ich angesprochen habe, war die Modellauswahl. Es scheint, als ob die Leute keine Modellauswahl mögen, aber niemand hat praktische Alternativen. Wenn Sie dem Forscher, der die Daten darüber gesammelt hat, welche erklärenden Variablen relevant sind und welche nicht, blind glauben, werden Sie ihre ungetesteten Annahmen oft blind akzeptieren. Wenn Sie alle möglichen Informationen berücksichtigen, erhalten Sie häufig ein gesättigtes Modell. Wenn Sie ein bestimmtes Modell und bestimmte Variablen willkürlich auswählen, weil sie einfach sind, akzeptieren Sie wieder ungetestete Annahmen, diesmal Ihre eigenen.
Zusammenfassend lässt sich sagen, dass bei wiederholten Messungen die
lme
Modelle gefolgt von Trimmen überMASS:::stepAIC
oderMuMIn:::dredge
und / odernlme:::anova.lme
bis und solange nicht jemand eine bessere Idee hat.Ich werde diese Selbstantwort für eine Weile stehen lassen, bevor ich sie akzeptiere, um zu sehen, ob jemand irgendwelche Widerlegungen hat. Vielen Dank für Ihre Zeit, und wenn Sie dies lesen, weil Sie die gleiche Art von Frage haben, die ich habe, viel Glück und willkommen in halb unbekanntem Gebiet.
quelle