Matrizes de covariância de efeito aleatório singulares
Obter uma estimativa de correlação de efeito aleatório de +1 ou -1 significa que o algoritmo de otimização atingiu "um limite": as correlações não podem ser maiores que +1 ou menores que -1. Mesmo se não houver erros ou avisos explícitos de convergência, isso potencialmente indica alguns problemas com a convergência, porque não esperamos que correlações verdadeiras fiquem no limite. Como você disse, isso geralmente significa que não há dados suficientes para estimar todos os parâmetros de maneira confiável. Matuschek et al. 2017 dizem que nessa situação o poder pode ser comprometido.
Outra maneira de atingir um limite é obter uma estimativa de variação de 0: Por que obtenho uma variação zero de um efeito aleatório no meu modelo misto, apesar de alguma variação nos dados?
Ambas as situações podem ser vistas como a obtenção de uma matriz de covariância degenerada de efeitos aleatórios (no seu exemplo, a matriz de covariância de saída é ); uma variância zero ou uma correlação perfeita significa que a matriz de covariância não é de classificação completa e [pelo menos] um de seus valores próprios é zero. Essa observação sugere imediatamente que existem outras maneiras mais complexas de obter uma matriz de covariância degenerada: pode-se ter uma matriz de covariância sem zeros ou correlações perfeitas, mas, no entanto, deficiente na classificação (singular). Bates et al. 2015 modelos mistos parcimoniosos4 × 44×44×4(pré-impressão não publicada) recomenda o uso da análise de componentes principais (PCA) para verificar se a matriz de covariância obtida é singular. Se for, eles sugerem tratar essa situação da mesma maneira que as situações singulares acima.
Então o que fazer?
Se não houver dados suficientes para estimar todos os parâmetros de um modelo de maneira confiável, devemos considerar a simplificação do modelo. Tomando o seu modelo de exemplo X*Cond + (X*Cond|subj)
, existem várias maneiras possíveis de simplificá-lo:
Remova um dos efeitos aleatórios, geralmente a correlação de maior ordem:
X*Cond + (X+Cond|subj)
Livre-se de todos os parâmetros de correlação:
X*Cond + (X*Cond||subj)
Atualização: como o @Henrik observa, a ||
sintaxe somente removerá correlações se todas as variáveis à esquerda forem numéricas. Se variáveis categóricas (como Cond
) estiverem envolvidas, é melhor usar seu afex
pacote conveniente (ou soluções manuais complicadas). Veja a resposta dele para mais detalhes.
Livre-se de alguns dos parâmetros de correlação dividindo o termo em vários, por exemplo:
X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
- Restrinja a matriz de covariância de alguma maneira específica, por exemplo, definindo uma correlação específica (a que atingiu o limite) como zero, como você sugere. Não há uma maneira integrada de
lme4
conseguir isso. Veja a resposta do @ BenBolker no SO para uma demonstração de como conseguir isso através de alguns hackers inteligentes.
Ao contrário do que você disse, não acho que Matuschek et al. 2017 recomendam especificamente # 4. A essência de Matuschek et al. 2017 e Bates et al. Parece que 2015 começa com o modelo máximo a la Barr et al. 2013 e, em seguida, diminui a complexidade até que a matriz de covariância esteja no nível máximo. (Além disso, eles recomendariam frequentemente reduzir ainda mais a complexidade, a fim de aumentar a potência.) Atualização: Em contraste, Barr et al. recomende reduzir APENAS a complexidade se o modelo não convergir; eles estão dispostos a tolerar matrizes de covariância singulares. Veja a resposta de @ Henrik.
Se alguém concorda com Bates / Matuschek, acho que é bom tentar maneiras diferentes de diminuir a complexidade para encontrar a pessoa que faz o trabalho enquanto faz "o menor dano". Olhando para a minha lista acima, a matriz de covariância original possui 10 parâmetros; # 1 tem 6 parâmetros, # 2 tem 4 parâmetros, # 3 tem 7 parâmetros. Qual modelo se livrará das correlações perfeitas é impossível dizer sem ajustá-las.
Mas e se você estiver interessado neste parâmetro?
A discussão acima trata a matriz de covariância de efeito aleatório como um parâmetro incômodo. Você levanta uma questão interessante sobre o que fazer se estiver especificamente interessado em um parâmetro de correlação que precisa "desistir" para obter uma solução de classificação completa significativa.
Observe que fixar o parâmetro de correlação em zero não produzirá necessariamente BLUPs ( ranef
) não correlacionados; na verdade, eles podem nem ser afetados tanto assim (veja a resposta de @ Placidia para uma demonstração ). Portanto, uma opção seria examinar as correlações dos BLUPs e reportar isso.
Outra opção, talvez menos atraente, seria usar o tratamento subject
como um efeito fixo Y~X*cond*subj
, obter as estimativas para cada sujeito e calcular a correlação entre eles. Isso é equivalente a executar Y~X*cond
regressões separadas para cada sujeito separadamente e obter as estimativas de correlação deles.
Veja também a seção sobre modelos singulares nas perguntas frequentes sobre modelos mistos de Ben Bolker:
É muito comum que modelos mistos com excesso de ajuste resultem em ajustes singulares. Tecnicamente, singularidade significa que alguns dos parâmetros (decomposição de Cholesky da variância-covariância) correspondentes a elementos diagonais do fator de Cholesky são exatamente zero, que é a borda do espaço viável, ou equivalente que a matriz de variância-covariância tem zero autovalores (ou seja, é positivo semidefinido em vez de positivo positivo) ou (quase equivalente) que algumas das variações são estimadas como zero ou que algumas das correlações são estimadas como +/- 1.θ