Ainsi, il me semble que la fonction de pondération en lm donne aux observations plus de poids plus la valeur de «poids» de l'observation associée est grande, tandis que la fonction lme en lme fait exactement le contraire. Cela peut être vérifié avec une simulation simple.
#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)
Si vous deviez maintenant exécuter un modèle où vous pondérez les observations en fonction de l'inverse de la variable dépendante en lm, vous ne pouvez générer le même résultat exact dans nlme que si vous pondérez uniquement la variable dépendante, sans prendre l'inverse.
summary(lm(b~a,weights=1/b))
summary(lme(b~a,random=~1|c,weights=~b))
Vous pouvez inverser cela et voir que l'inverse est vrai - spécifier les poids = b dans lm nécessite des poids = 1 / b pour obtenir un résultat lme correspondant.
Donc, je comprends bien, je veux juste une validation sur une chose et poser une question sur une autre.
- Si je veux pondérer mes données en fonction de l'inverse de la variable dépendante, est-il correct de coder uniquement les poids = ~ (variable dépendante) dans lme?
- Pourquoi lme est-il écrit pour gérer les poids complètement différemment de lm? Quel est le but de ceci autre que de générer de la confusion?
Toute idée serait appréciée!
lm()
nécessaire pour être compatible avec S et divers livres, nlme ne l'a pas fait, et il visait à être plus flexible, permettant à l'hétérogénéité d'être modélisée de manière plus flexible que ce qui estlm
permis.