Estou curioso para saber como o pacote lmerTest em R, especificamente a função "rand", lida com testes de efeitos aleatórios. Considere o exemplo do pdf lmerTest no CRAN que usa o conjunto de dados incorporado "cenouras":
#import lme4 package and lmerTest package
library(lmerTest)
#lmer model with correlation between intercept and slopes
#in the random part
m <- lmer(Preference ~ sens2+Homesize+(1+sens2|Consumer), data=carrots)
# table with p-values for the random effects
rand(m)
O modelo especifica duas variações aleatórias (a interceptação e "sens2"), ambas aninhadas em "Consumidor" e a covariância entre a interceptação e "sens2". A saída (não fornecida no pdf) para os componentes aleatórios da execução anterior é a seguinte:
Random effects:
Groups Name Variance Std.Dev. Corr
Consumer (Intercept) 0.195168 0.44178
sens2 0.002779 0.05271 0.18
Residual 1.070441 1.03462
Number of obs: 1233, groups: Consumer, 103
O que é esperado, dada a especificação do modelo. A saída da função rand é a seguinte:
Analysis of Random effects Table:
Chi.sq Chi.DF p.value
sens2:Consumer 6.99 2 0.03 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Dada a tabela de efeitos aleatórios, acho que o lmerTest está avaliando a inclinação aleatória para "sens2", mas também pode ser a covariância entre a inclinação e a interceptação. O teste para a interceptação aleatória não está incluído. Estimei outro modelo apenas com a interceptação aleatória (sem inclinação aleatória ou covariância) e obtive o seguinte da declaração "rand":
Analysis of Random effects Table:
Chi.sq Chi.DF p.value
Consumer 79.6 1 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
O teste para a variação aleatória associada à interceptação é fornecido aqui. Então, alguém sabe o que o teste dos componentes de variação aleatória do primeiro modelo está testando? Existe uma maneira que eu não consiga ver na documentação para testar todos os três componentes aleatórios? Devo mencionar que a página para o teste de rand em inside-R.org tem a seguinte descrição confusa (que não vejo no pdf em CRAN):
Values
Produces a data frame with tests for the random terms being non-significant.
Note
If the effect has random slopes, then first the correlations between itercept [sic] and slopes are checked for significance
É possível que a descrição de "Valores" a retroceda e que apenas efeitos significativos sejam relatados? Executei o procedimento "step" e não ficou claro se todos os três componentes de variação aleatória foram considerados na execução.
Qualquer visão sobre o assunto é muito apreciada.
Joe
EDIT: O enredo engrossa um pouco. Ocorreu-me verificar uma estrutura de covariância "diagonal" (sem covariância entre a interceptação aleatória e a inclinação) usando o seguinte (com base neste excelente post ):
m2 <- lmer(Preference ~ sens2+Homesize+(1|Consumer)+(0+sens2|Consumer), data=carrots)
A saída final para as variações aleatórias, usando VarCorr, é a seguinte:
Groups Name Std.Dev.
Consumer (Intercept) 0.441807
Consumer.1 sens2 0.052719
Residual 1.034618
O que omite corretamente a covariância (correlação) entre a inclinação aleatória e a interceptação. A execução da função "rand" do lmerTest produz a seguinte saída:
Analysis of Random effects Table:
Chi.sq Chi.DF p.value
Consumer 84.4 1 <2e-16 ***
sens2:Consumer 6.3 1 0.01 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Portanto, ele testará os dois componentes de variação para este modelo. Mas a questão permanece em relação ao primeiro modelo com a covariância aleatória. O que é o teste lmerTest?