Erreur LME () - limite d'itération atteinte

14

En spécifiant un modèle à effets mixtes croisés, j'essaie d'inclure des interactions. Cependant, j'obtiens le message d'erreur suivant:

Error in lme.formula(rate ~ nozzle, random = ~nozzle | operator, data = Flow) : 
nlminb problem, convergence error code = 1
message = iteration limit reached without convergence (10)

Le modèle présente les caractéristiques suivantes: 1. 3 types de buses (effet fixe) 2. 5 opérateurs, chacun avec 3 mesures répétées sur le débit de carburant des 3 types de buses.

On m'a demandé d'inclure l'interaction entre le type de buse et l'opérateur dans le modèle. Voici mon code pour le modèle:

flow.lme <- lme(rate ~ nozzle, error= nozzle|operator, data=Flow)

Pourquoi aurais-je ce message d'erreur ??

Tal Bashan
la source
Tu ne veux pas au operator|nozzlehasard?
Olivia Grigg
Non, l'opérateur est l'effet aléatoire.
f1r3br4nd
vous pouvez utiliser> crtl = lmeControl (opt = 'optim', optimMethod = "SANN")
AliReza Afshari Safavi
Vous devriez faire la réponse de @ f1r3br4nd comme réponse
JetLag
@AliRezaAfshariSafavi quels sont les avantages de l'utilisation de "SANN" par rapport au BFGS par défaut?
gcamargo

Réponses:

20

Je n'ai pas entendu parler de l' errorargument lmeet je ne le vois pas dans la documentation. Êtes-vous sûr que ce n'est pas une faute de frappe? Mais, pour répondre à la question que vous avez posée:

Essayer ?lmeControl

Réglage de la maxIter, msMaxIter, niterEMet / ou des msMaxEvalarguments à des valeurs plus élevées que la valeur par défaut peut résoudre ce problème. Capturez la sortie de lmeControlà un objet, puis passez cet objet à l' controlargument de lme.

Ou...

Le nouvel optimiseur par défaut lmeutilise est floconneux. La moitié du temps, ce genre de problèmes est résolu pour moi lorsque je le ramène à l'ancien optimiseur. Pour ce faire, définissez l' optargument de lmeControlsur 'optim'.

Donc, en le rassemblant:

ctrl <- lmeControl(opt='optim');
flow.lme <- lme(rate ~ nozzle, error= nozzle|operator, control=ctrl, data=Flow);
f1r3br4nd
la source
Dans certains cas, il peut être utile de le savoir, c'est lmeControlune fonction du nlmepackage
Qaswed
3

Tout d'abord, il s'agit d'un modèle ANOVA, pas d'un modèle mixte.

Deuxièmement, il me semble que votre modèle n'est pas identifié. Sous forme d'équation, vous avez

réponsejej=β1type de buse1jej+β2type de buse2jej+β3type de buse3jej+opérateurje+buse dans l'opérateurjej

Le dernier terme a 15 valeurs distinctes pour 15 observations que vous avez. Il n'y a plus aucun degré de liberté pour obtenir d'autres termes dans le modèle. Inclure les interactions était un mauvais conseil. Il faudrait que vous les laissiez tomber; même les inclure en tant qu'effets croisés n'aidera pas, car ils seront alors parfaitement colinéaires avec les effets fixes et ne seront pas estimables. Un modèle de vraisemblance maximale ou REML avec 15 observations n'a pas de sens; les résultats asymptotiques de la théorie du maximum de vraisemblance ne fonctionneront tout simplement pas: c'est une Ferrari que vous essayez de conduire sur un champ labouré.

StasK
la source
4
S'il y a à la fois des effets aléatoires et fixes dans un modèle, c'est par définition un modèle à effets mixtes. Que vous l'appeliez ANOVA ou régression est un problème distinct et une sorte de question sémantique. Je suis un peu perplexe, cependant, par ce que l'OP signifie par interaction. Pour autant que je sache, il le fait déjà en utilisant random=~nozzle|operatorau lieu de random=~1|operator.
f1r3br4nd
1
Certaines littératures désignent les effets aléatoires imbriqués comme des interactions entre différents niveaux d'imbrication; Je pense que je l'ai même vu dans Pinheiro & Bates. Je suis d'accord que le nommer correctement est une question de sémantique, mais je pense simplement à introduire la this-does-not-have-to-be-a-mixed-modelbalise. Sur environ les deux tiers de la mixed-modelsquestion que je vois, dire quelque chose à cet effet fait partie de ma réponse.
StasK
1
Drôle, je passe une bonne partie de mon temps à dire aux gens qu'ils n'utilisent pas assez de modèles mixtes. J'aimerais vraiment me tromper, car cela me simplifierait quelque peu la vie. Que diriez-vous au PO, la règle de base est de déterminer quand un modèle mixte est nécessaire?
f1r3br4nd
3
Oh, alors tu es le méchant, alors. Celui-ci a un seul prédicteur catégorique, c'est donc un modèle ANOVA pour moi, comme je l'ai dit plus tôt. Si vous aviez des informations à différents niveaux (par exemple, état \ école \ étudiants, avec des données sur les états, sur l'école et sur les étudiants), cela ressemblerait plus à un modèle mixte. Fondamentalement, si vous pouvez le faire comme des sommes de carrés, c'est ANOVA; si vous pouvez le faire comme modèle de régression, c'est un modèle de régression. Si faire le maximum de vraisemblance / REML est absolument inévitable (comme dans le cas de la réponse binaire), c'est un modèle mixte bien pour moi.
StasK