3 votos

¿por qué el pdLogChol inicializado en un modelo ajustado no coincide con el pdLogChol del modelo ajustado?

Estoy tratando de construir e inicializar un pdLogChol de un objeto ajustado lme modelo. Sin embargo, aunque el pdLogChol se inicia a partir del ajuste del modelo, el VarCorr da valores diferentes cuando se compara con el ajuste del modelo. Esperaba ver valores idénticos pero no es el caso. ¿Es un comportamiento normal?

library(nlme)
fm2 <- lme(distance ~ 1, data = Orthodont, random = ~ 1|Subject)
coef(fm2$modelStruct$reStruct$Subject, unconstrained = F)
pd <- pdLogChol(coef(fm2$modelStruct$reStruct$Subject, unconstrained = F))

VarCorr(fm2) # this must be equal to
VarCorr(pd) # but it is not. Why?

2voto

Ben Bolker Puntos 8729

Parece que la varianza de los efectos aleatorios está parametrizada en relación con la varianza residual:

(cc <- coef(fm2$modelStruct$reStruct$Subject, unconstrained=FALSE)) 
## 0.7610834 
(res_var <- sigma(fm2)^2)
## [1] 4.929783
cc*res_var
## var((Intercept)) 
## 3.751976 

Comparar con el modelo ajustado:

VarCorr(fm2)
## Subject = pdLogChol(1) 
##             Variance StdDev  
## (Intercept) 3.751976 1.937002
## Residual    4.929783 2.220312

Mirando el VarCorr.lme parece que la forma de hacer este escalado de forma más idiomática es pasar un sigma argumento para VarCorr() :

pd <- pdLogChol(coef(fm2$modelStruct$reStruct$Subject, 
   unconstrained = TRUE))
VarCorr(pd,sigma=sigma(fm2))
##    Variance   StdDev
## V1 3.751976 1.937002
## attr(,"formStr")
## [1] "pdLogChol(ULL)"

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X