Ich möchte ein gemischtes Modell mit lme4, nlme, baysian regression package oder einem anderen verfügbaren Modell anpassen.
Gemischtes Modell in Asreml-R-Kodierungskonventionen
Bevor wir auf die Details eingehen, möchten wir vielleicht Details zu ASREML-R-Konventionen für diejenigen haben, die mit ASREML-Codes nicht vertraut sind.
y = Xτ + Zu + e ........................(1) ;
das übliche gemischte Modell mit, y bezeichnet den n × 1-Vektor von Beobachtungen, wobei τ der p × 1-Vektor von festen Effekten ist, X eine n × p-Entwurfsmatrix mit vollem Spaltenrang ist, die Beobachtungen mit der geeigneten Kombination von festen Effekten assoziiert , u ist der q × 1-Vektor von zufälligen Effekten, Z ist die n × q-Entwurfsmatrix, die Beobachtungen mit der geeigneten Kombination von zufälligen Effekten verknüpft, und e ist der n × 1-Vektor von Restfehlern. Das Modell (1) wird genannt ein lineares Mischmodell oder ein lineares Mischwirkungsmodell. Es wird davon ausgegangen
wobei die Matrizen G und R Funktionen der Parameter γ bzw. φ sind.
Der Parameter θ ist ein Varianzparameter, den wir als Skalenparameter bezeichnen werden.
In gemischten Effektmodellen mit mehr als einer Restvarianz, die beispielsweise bei der Analyse von Daten mit mehr als einem Abschnitt oder einer Variation auftreten, ist der Parameter θ auf eins festgelegt. In gemischten Effektmodellen mit einer einzelnen Restvarianz ist θ gleich der Restvarianz (σ2). In diesem Fall muss R eine Korrelationsmatrix sein. Weitere Details zu den Modellen finden Sie im Asreml-Handbuch (Link) .
Varianzstrukturen für die Fehler: R-Struktur und Varianzstrukturen für die zufälligen Effekte: G-Strukturen können angegeben werden.
Varianzmodellierung in asreml () ist es wichtig, die Bildung von Varianzstrukturen über direkte Produkte zu verstehen. Die übliche Annahme der kleinsten Quadrate (und die Standardannahme in asreml ()) ist, dass diese unabhängig und identisch verteilt sind (IID). Wenn die Daten jedoch aus einem Feldexperiment stammen, das in einem rechteckigen Array aus r Zeilen und c Spalten angeordnet ist, könnten wir die Residuen e als Matrix anordnen und möglicherweise in Betracht ziehen, dass sie in Zeilen und Spalten automatisch korreliert sind ein Vektor in Halbbildreihenfolge, dh durch Sortieren der Residuenzeilen in Spalten (Plots in Blöcken) könnte die Varianz der Residuen dann sein
sind Korrelationsmatrizen für das Zeilenmodell (Ordnung r, Autokorrelationsparameter ½r) bzw. das Spaltenmodell (Ordnung c, Autokorrelationsparameter ½c). Insbesondere wird manchmal eine zweidimensional trennbare autoregressive räumliche Struktur (AR1 × AR1) für die häufigen Fehler in einer Feldversuchsanalyse angenommen.
Die Beispieldaten:
nin89 stammt aus der asreml-R-Bibliothek, in der verschiedene Sorten in Replikationen / Blöcken im rechteckigen Feld gezüchtet wurden. Um die zusätzliche Variabilität in Zeilen- oder Spaltenrichtung zu steuern, wird jedes Diagramm als Zeilen- und Spaltenvariable (Zeilenspalten-Design) bezeichnet. Also diese Reihenspaltengestaltung mit Sperren. Ertrag ist Messgröße.
Beispielmodelle
Ich benötige etwas, das den asreml-R-Codes entspricht:
Die einfache Modellsyntax sieht folgendermaßen aus:
rcb.asr <- asreml(yield ∼ Variety, random = ∼ Replicate, data = nin89)
.....model 0
Das lineare Modell wird in den festen (erforderlichen), zufälligen (optionalen) und rcov-Argumenten (Fehlerkomponenten) als Formelobjekte angegeben. Der Standardwert ist ein einfacher Fehlerbegriff und muss für den Fehlerbegriff nicht wie im Modell 0 formal angegeben werden .
Hier ist die Sorte fester Effekt und zufällig wird repliziert (Blöcke). Neben zufälligen und festen Begriffen können wir Fehlerbegriffe angeben. Dies ist die Standardeinstellung in diesem Modell 0. Die Residuen- oder Fehlerkomponente des Modells wird in einem Formelobjekt durch das Argument rcov angegeben (siehe die folgenden Modelle 1: 4).
Das folgende Modell1 ist komplexer, in dem sowohl die G- (Zufalls-) als auch die R- (Fehler-) Struktur angegeben sind.
Modell 1:
data(nin89)
# Model 1: RCB analysis with G and R structure
rcb.asr <- asreml(yield ~ Variety, random = ~ idv(Replicate),
rcov = ~ idv(units), data = nin89)
Dieses Modell entspricht dem obigen Modell 0 und führt die Verwendung des G- und R-Varianzmodells ein. Hier gibt die Option random and rcov zufällige und rcov-Formeln an, um die G- und R-Strukturen explizit anzugeben. Dabei ist idv () die spezielle Modellfunktion in asreml (), die das Varianzmodell identifiziert. Der Ausdruck idv (units) setzt die Varianzmatrix für e explizit auf eine skalierte Identität.
# Modell 2: zweidimensionales räumliches Modell mit Korrelation in einer Richtung
sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)
experimentelle Einheiten von nin89 sind nach Spalte und Zeile indiziert. Wir erwarten also zufällige Abweichungen in zwei Richtungen - in diesem Fall in Zeilen- und Spaltenrichtung. Dabei ist ar1 () eine spezielle Funktion, die ein autoregressives Varianzmodell erster Ordnung für Row angibt. Dieser Aufruf gibt eine zweidimensionale räumliche Struktur für Fehler mit räumlicher Korrelation nur in Zeilenrichtung an. Das Varianzmodell für Column ist identity (id ()), muss jedoch nicht formal angegeben werden, da dies der Standard ist.
# Modell 3: zweidimensionales räumliches Modell, Fehlerstruktur in beide Richtungen
sp.asr <- asreml(yield ~ Variety, rcov = ~ ar1(Column):ar1(Row),
data = nin89)
sp.asr <- asreml(yield ~ Variety, random = ~ units,
rcov = ~ ar1(Column):ar1(Row), data = nin89)
ähnlich dem obigen Modell 2, jedoch ist die Korrelation in zwei Richtungen - autoregressiv.
Ich bin mir nicht sicher, wie viele dieser Modelle mit Open Source R-Paketen möglich sind. Auch wenn die Lösung eines dieser Modelle von großer Hilfe sein wird. Auch wenn der Bouty von +50 zur Entwicklung eines solchen Pakets anregen kann, wird dies eine große Hilfe sein!
Siehe MAYSaseen hat die Ausgabe jedes Modells und die Daten (als Antwort) zum Vergleich bereitgestellt.
Bearbeitungen: Folgendes ist ein Vorschlag, den ich im Diskussionsforum für gemischte Modelle erhalten habe: "Sie können sich die Regress- und SpatialCovariance-Pakete von David Clifford ansehen. Ersteres ermöglicht die Anpassung von (Gaußschen) gemischten Modellen, bei denen Sie die Struktur der Kovarianzmatrix sehr flexibel festlegen können (Ich habe es beispielsweise für Stammbaumdaten verwendet.) Das Paket "spaciousCovariance" verwendet "regress", um komplexere Modelle als AR1xAR1 bereitzustellen, kann jedoch anwendbar sein. Möglicherweise müssen Sie mit dem Autor über die Anwendung auf Ihr genaues Problem korrespondieren. "
corStruct
In nlme
(für anisotrope Korrelationen) zu definieren. Es wäre hilfreich, wenn Sie kurz (in Worten oder Gleichungen) die statistischen Modelle angeben könnten, die diesen ASREML-Anweisungen entsprechen, da wir nicht alle vertraut sind ASREML-Syntax ...
MCMCglmm
, und ich bin mir ziemlich sicher, dass (außer das spatialCovariance
erwähnte, mit dem ich nicht vertraut bin, ist der einzige Weg, es in R zu erledigen, indem man neue corStruct
s definiert - was möglich, aber nicht trivial ist.
lme4
. Können Sie uns (a) sagen, warum Sie dies tun müssen,lme4
anstattasreml-R
(b) in Erwägung zu ziehen, dort zu posten,r-sig-mixed-models
wo relevanteres Fachwissen vorhanden ist?