Entonces, me parece que la función de pesos en lm da más peso a las observaciones cuanto mayor sea el valor de "peso" de la observación asociada, mientras que la función lme en lme hace exactamente lo contrario. Esto se puede verificar con una simple simulación.
#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 ahora ejecutara un modelo donde ponderara las observaciones basadas en el inverso de la variable dependiente en lm, solo podría generar exactamente el mismo resultado en nlme si pesa solo con la variable dependiente, sin tomar el inverso.
summary(lm(b~a,weights=1/b))
summary(lme(b~a,random=~1|c,weights=~b))
Puede voltear esto y ver que lo contrario es cierto: especificar pesos = b en lm requiere pesos = 1 / b para obtener un resultado lme coincidente.
Entonces, entiendo esto, solo quiero validar una cosa y hacer una pregunta sobre otra.
- Si quiero ponderar mis datos basados en el inverso de la variable dependiente, ¿está bien codificar pesos = ~ (variable dependiente) dentro de lme?
- ¿Por qué se escribe lme para manejar pesos completamente diferentes a lm? ¿Cuál es el propósito de esto aparte de generar confusión?
¡Cualquier idea sería apreciada!
lm()
necesitaba ser compatible con S y varios libros, nlme no lo hizo, y pretendía ser más flexible, permitiendo que la heterogeneidad se modelara de manera más flexible de lo quelm
permite.