Je veux adapter un modèle mixte à l'aide de lme4, nlme, package de régression baysian ou tout autre disponible.
Modèle mixte dans les conventions de codage Asreml-R
avant d'entrer dans les détails, nous pourrions vouloir avoir des détails sur les conventions asreml-R, pour ceux qui ne sont pas familiers avec les codes ASREML.
y = Xτ + Zu + e ........................(1) ;
le modèle mixte habituel avec, y désigne le vecteur n × 1 des observations, où τ est le vecteur p × 1 des effets fixes, X est une matrice de conception n × p de rang de colonne complet qui associe les observations à la combinaison appropriée d'e ff ets fixes , u est le vecteur q × 1 des e ff ets aléatoires, Z est la matrice de conception n × q qui associe les observations à la combinaison appropriée d'e ff ets aléatoires, et e est le vecteur n × 1 des erreurs résiduelles. Le modèle (1) est appelé un modèle mixte linéaire ou un modèle à effets mixtes linéaires. Il est supposé
où les matrices G et R sont des fonctions des paramètres γ et φ, respectivement.
Le paramètre θ est un paramètre de variance que nous appellerons paramètre d'échelle.
Dans les modèles à e ff ets mixtes avec plus d'une variance résiduelle, résultant par exemple de l'analyse de données avec plus d'une section ou variée, le paramètre θ est fixé à un. Dans les modèles à e ff ets mixtes avec une seule variance résiduelle, alors θ est égal à la variance résiduelle (σ2). Dans ce cas, R doit être une matrice de corrélation. De plus amples détails sur les modèles sont fournis dans le manuel Asreml (lien) .
Structures de variance pour les erreurs: structure R et structures de variance pour les effets aléatoires: les structures G peuvent être spécifiées.
modélisation de la variance dans asreml (), il est important de comprendre la formation de structures de variance via des produits directs. L'hypothèse des moindres carrés habituelle (et la valeur par défaut dans asreml ()) est que ceux-ci sont distribués de manière indépendante et identique (IID). Cependant, si les données provenaient d'une expérience sur le terrain disposée dans un tableau rectangulaire de r lignes par c colonnes, disons, nous pourrions organiser les résidus e comme une matrice et potentiellement considérer qu'ils étaient autocorrélés dans des lignes et des colonnes. un vecteur dans l'ordre des champs, c'est-à-dire qu'en triant les lignes de résidus dans les colonnes (parcelles dans les blocs), la variance des résidus pourrait alors être
sont des matrices de corrélation pour le modèle de ligne (ordre r, paramètre d'autocorrélation ½r) et le modèle de colonne (ordre c, paramètre d'autocorrélation ½c) respectivement. Plus précisément, une structure spatiale autorégressive séparable bidimensionnelle (AR1 x AR1) est parfois supposée pour les erreurs courantes dans une analyse d'essai sur le terrain.
Les données d'exemple:
nin89 est de la bibliothèque asreml-R, où différentes variétés ont été cultivées dans des réplications / blocs dans un champ rectangulaire. Pour contrôler une variabilité supplémentaire dans la direction des lignes ou des colonnes, chaque tracé est référencé en tant que variables de ligne et de colonne (conception de colonne de ligne). Ainsi, cette conception de colonne de ligne avec blocage. Le rendement est une variable mesurée.
Exemples de modèles
J'ai besoin de quelque chose d'équivalent aux codes asreml-R:
La syntaxe du modèle simple ressemblera à ceci:
rcb.asr <- asreml(yield ∼ Variety, random = ∼ Replicate, data = nin89)
.....model 0
Le modèle linéaire est spécifié dans les arguments fixe (obligatoire), aléatoire (facultatif) et rcov (composant d'erreur) en tant qu'objets de formule. La valeur par défaut est un terme d'erreur simple et n'a pas besoin d'être spécifiée formellement pour le terme d'erreur comme dans le modèle 0. .
ici, la variété est à effet fixe et aléatoire est des répliques (blocs). Outre les termes aléatoires et fixes, nous pouvons spécifier le terme d'erreur. Ce qui est par défaut dans ce modèle 0. Le composant résiduel ou d'erreur du modèle est spécifié dans un objet de formule via l'argument rcov, voir les modèles 1: 4 suivants.
Le modèle suivant1 est plus complexe dans lequel les structures G (aléatoire) et R (erreur) sont spécifiées.
Modèle 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)
Ce modèle est équivalent au modèle 0 ci-dessus et introduit l'utilisation des modèles de variance G et R. Ici, l'option random et rcov spécifie des formules aléatoires et rcov pour spécifier explicitement les structures G et R. où idv () est la fonction de modèle spéciale dans asreml () qui identifie le modèle de variance. L'expression idv (unités) définit explicitement la matrice de variance pour e sur une identité mise à l'échelle.
# Modèle 2: modèle spatial bidimensionnel avec corrélation dans une direction
sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)
les unités expérimentales de nin89 sont indexées par colonne et ligne. Nous nous attendons donc à une variation aléatoire dans deux directions - direction des lignes et des colonnes dans ce cas. où ar1 () est une fonction spéciale spécifiant un modèle de variance autorégressive de premier ordre pour Row. Cet appel spécifie une structure spatiale bidimensionnelle pour l'erreur mais avec une corrélation spatiale dans la direction de la ligne uniquement. Le modèle de variance pour la colonne est l'identité (id ()) mais n'a pas besoin d'être spécifié formellement car c'est la valeur par défaut.
# modèle 3: modèle spatial bidimensionnel, structure d'erreur dans les deux sens
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)
similaire au modèle 2 ci-dessus, mais la corrélation est bidirectionnelle - autorégressive.
Je ne sais pas combien de ces modèles sont possibles avec les packages R open source. Même si la solution de l'un de ces modèles sera d'une grande aide. Même si le bouty de +50 peut stimuler le développement d'un tel package, cela sera d'une grande aide!
Voir MAYSaseen a fourni une sortie de chaque modèle et des données (comme réponse) pour comparaison.
Modifications: Ce qui suit est une suggestion que j'ai reçue dans le forum de discussion sur les modèles mixtes: "Vous pouvez consulter les packages de régression et de covariance spatiale de David Clifford. Le premier permet l'ajustement de modèles mixtes (gaussiens) où vous pouvez spécifier la structure de la matrice de covariance de manière très flexible. (par exemple, je l'ai utilisé pour des données généalogiques.) Le package spatialCovariance utilise la régression pour fournir des modèles plus élaborés que AR1xAR1, mais peut être applicable. Vous devrez peut-être correspondre avec l'auteur pour l'appliquer à votre problème exact. "
lme4
. Pouvez-vous (a) nous dire pourquoi vous devez le fairelme4
plutôt queasreml-R
(b) envisager de publier surr-sig-mixed-models
les domaines où il existe une expertise plus pertinente?corStruct
dansnlme
(pour les corrélations anisotropes) ... Il serait utile que vous puissiez énoncer brièvement (en mots ou en équations) les modèles statistiques correspondant à ces déclarations ASREML, car nous ne sommes pas tous familiers avec Syntaxe ASREML ...MCMCglmm
, et je suis presque sûr que lespatialCovariance
mentionné, que je ne connais pas) la seule façon de le faire dans R est de définir de nouveauxcorStruct
s - ce qui est possible, mais pas trivial.Réponses:
Vous pouvez adapter ce modèle avec AD Model Builder. AD Model Builder est un logiciel gratuit pour construire des modèles non linéaires généraux, y compris des modèles d'effets aléatoires non linéaires généraux. Ainsi, par exemple, vous pourriez adapter un modèle spatial binomial négatif où la dispersion moyenne et la dispersion excessive avaient une structure ar (1) x ar (1). J'ai construit le code de cet exemple et je l'ai adapté aux données. Si quelqu'un est intéressé, il est probablement préférable d'en discuter sur la liste à http://admb-project.org
Remarque: Il existe une version R d'ADMB, mais les fonctionnalités disponibles dans le package R sont un sous-ensemble du logiciel ADMB autonome.
Pour cet exemple, il est plus facile de créer un fichier ASCII avec les données, de le lire dans le programme ADMB, d'exécuter le programme, puis de relire les estimations de paramètres, etc. dans R pour tout ce que vous voulez faire.
Vous devez comprendre qu'ADMB n'est pas une collection de packages, mais plutôt un langage pour écrire des logiciels d'estimation de paramètres non linéaires. Comme je l'ai déjà dit, il vaut mieux en discuter sur la liste ADMB où tout le monde connaît le logiciel. Une fois terminé et que vous avez compris le modèle, vous pouvez publier les résultats ici. Cependant, voici un lien vers les codes ML et REML que j'ai rassemblés pour les données sur le blé.
http://lists.admb-project.org/pipermail/users/attachments/20111124/448923c8/attachment.zip
la source
Modèle 0
ASReml-R
lme4
nlme
la source
Modèle 1
ASReml-R
nlme
Voir l'astuce
la source
Modèle 2
ASReml-R
nlme
Travailler sur, mais pas encore compris. Cela pourrait être quelque chose comme ça. Je ne savais toujours pas comment faire
rcov=~Column:ar1(Row)
avecnlme
la source
Modèle 3
ASReml-R
nlme
Travailler sur, mais pas encore compris. Cela pourrait être quelque chose comme ça. Je ne savais toujours pas comment faire
rcov=~ar1(Column):ar1(Row)
avecnlme
Je ne pouvais pas comprendre comment adapter les modèles 2 et 3
nlme
. J'y travaille et je mettrai à jour la réponse lorsque vous aurez terminé. Mais j'ai inclus la sortie desASReml-R
modèles 2 et 3 à des fins de comparaison. Kevin a une bonne expérience de l'analyse de tels modèles et Ben Bolker a une merveilleuse autorité sur les modèles mixtes. J'espère qu'ils pourront nous aider sur les modèles 2 et 3.la source