Kontext
Diese Frage verwendet R, bezieht sich jedoch auf allgemeine statistische Fragen.
Ich analysiere die Auswirkungen von Mortalitätsfaktoren (% Mortalität aufgrund von Krankheit und Parasitismus) auf die Wachstumsrate der Mottenpopulation im Laufe der Zeit, wobei Larvenpopulationen 8 Jahre lang einmal pro Jahr an 12 Standorten beprobt wurden. Die Daten zur Bevölkerungswachstumsrate zeigen einen klaren, aber unregelmäßigen zyklischen Trend im Zeitverlauf.
Die Residuen eines einfachen verallgemeinerten linearen Modells (Wachstumsrate ~% Krankheit +% Parasitismus + Jahr) zeigten über die Zeit einen ähnlich klaren, aber unregelmäßigen zyklischen Trend. Daher wurden auch verallgemeinerte Modelle der kleinsten Quadrate derselben Form mit geeigneten Korrelationsstrukturen an die Daten angepasst, um die zeitliche Autokorrelation zu behandeln, z. B. Verbindungssymmetrie, autoregressive Prozessreihenfolge 1 und autoregressive Korrelationsstrukturen mit gleitendem Durchschnitt.
Alle Modelle enthielten dieselben festen Effekte, wurden mit AIC verglichen und mit REML angepasst (um den Vergleich verschiedener Korrelationsstrukturen mit AIC zu ermöglichen). Ich benutze das R-Paket nlme und die gls-Funktion.
Frage 1
Die Residuen der GLS-Modelle zeigen im Zeitverlauf immer noch nahezu identische zyklische Muster. Bleiben solche Muster auch in Modellen, die die Autokorrelationsstruktur genau berücksichtigen, immer erhalten?
Ich habe einige vereinfachte, aber ähnliche Daten in R unter meiner zweiten Frage simuliert. Dies zeigt das Problem auf der Grundlage meines gegenwärtigen Verständnisses der Methoden, die zur Beurteilung von zeitlich autokorrelierten Mustern in Modellresten erforderlich sind , von denen ich weiß, dass sie falsch sind (siehe Antwort).
Frage 2
Ich habe GLS-Modelle mit allen möglichen plausiblen Korrelationsstrukturen an meine Daten angepasst, aber keine passt wesentlich besser als die GLM ohne Korrelationsstruktur: Nur ein GLS-Modell ist geringfügig besser (AIC-Score = 1,8 niedriger), während alle anderen dies tun höhere AIC-Werte. Dies ist jedoch nur dann der Fall, wenn alle Modelle von REML angepasst werden, nicht von ML, wenn GLS-Modelle eindeutig besser sind. Ich verstehe jedoch, dass Sie aus statistischen Büchern REML nur verwenden müssen, um Modelle mit unterschiedlichen Korrelationsstrukturen und denselben festen Effekten aus Gründen zu vergleichen Ich werde hier nicht näher darauf eingehen.
In Anbetracht der eindeutig zeitlich automatisch korrelierten Natur der Daten ist, wenn kein Modell sogar mäßig besser als das einfache GLM ist, die am besten geeignete Methode, um zu entscheiden, welches Modell für die Schlussfolgerung verwendet werden soll, vorausgesetzt, ich verwende eine geeignete Methode (die ich schließlich verwenden möchte) AIC zum Vergleichen verschiedener Variablenkombinationen)?
Q1 'Simulation' zur Untersuchung von Restmustern in Modellen mit und ohne entsprechende Korrelationsstrukturen
Generieren Sie eine simulierte Antwortvariable mit einem zyklischen Effekt von 'Zeit' und einem positiven linearen Effekt von 'x':
time <- 1:50
x <- sample(rep(1:25,each=2),50)
y <- rnorm(50,5,5) + (5 + 15*sin(2*pi*time/25)) + (x/1)
y sollte einen zyklischen Trend über die Zeit mit zufälliger Variation anzeigen:
plot(time,y)
Und eine positive lineare Beziehung zu 'x' mit zufälliger Variation:
plot(x,y)
Erstellen Sie ein einfaches lineares additives Modell von "y ~ time + x":
require(nlme)
m1 <- gls(y ~ time + x, method="REML")
Das Modell zeigt, wie zu erwarten, klare zyklische Muster in den Residuen, wenn es gegen die "Zeit" aufgetragen wird:
plot(time, m1$residuals)
Und was sollte ein schönes, klares Fehlen von Mustern oder Trends in den Residuen sein, wenn gegen 'x' gezeichnet wird:
plot(x, m1$residuals)
Ein einfaches Modell von "y ~ time + x", das eine autoregressive Korrelationsstruktur der Ordnung 1 enthält, sollte aufgrund der Autokorrelationsstruktur viel besser zu den Daten passen als das vorherige Modell, wenn es mit AIC bewertet wird:
m2 <- gls(y ~ time + x, correlation = corAR1(form=~time), method="REML")
AIC(m1,m2)
Das Modell sollte jedoch weiterhin nahezu identische "zeitlich" autokorrelierte Residuen anzeigen:
plot(time, m2$residuals)
Vielen Dank für jeden Rat.