Assim, parece-me que a função de pesos em lm dá mais peso às observações quanto maior o valor de 'peso' da observação associada, enquanto a função lme em lme faz exatamente o oposto. Isso pode ser verificado com uma simulação simples.
#make 3 vectors- c is used as an uninformative random effect for the lme model
a<-c(1:10)
b<-c(2,4,6,8,10,100,14,16,18,20)
c<-c(1,1,1,1,1,1,1,1,1,1)
Se você agora executava um modelo no qual ponderava as observações com base no inverso da variável dependente em lm, você só pode gerar exatamente o mesmo resultado no nlme se ponderar apenas a variável dependente, sem tomar o inverso.
summary(lm(b~a,weights=1/b))
summary(lme(b~a,random=~1|c,weights=~b))
Você pode inverter isso e ver o inverso como verdadeiro - especificar pesos = b em lm requer pesos = 1 / b para obter um resultado correspondente.
Então, eu entendo isso, eu só quero validação em uma coisa e fazer uma pergunta sobre outra.
- Se eu quiser ponderar meus dados com base no inverso da variável dependente, é bom codificar pesos = ~ (variável dependente) no lme?
- Por que o lme é escrito para lidar com pesos de maneira completamente diferente do lm? Qual é o propósito disso além de gerar confusão?
Qualquer visão seria apreciada!
lm()
necessário para ser compatível com S e vários livros, o nlme não o fez e tinha o objetivo de ser mais flexível, permitindo que a heterogeneidade fosse modelada com mais flexibilidade do que olm
permitido.