Existen algoritmos estándar (en oposición a los programas) para hacer jerárquico de regresión lineal? Hacer que la gente normalmente MCMC o hay más especializados, tal vez parcialmente cerrados forma, los algoritmos?
Respuestas
¿Demasiados anuncios?Hay Harvey Goldstein iterativo generalizada de mínimos cuadrados (IGLS) para el algoritmo de uno, y también es menor modificación, restringido iterativo generalizada de mínimos cuadrados (RIGLS), que da imparcial de las estimaciones de la variación de parámetros.
Estos algoritmos son todavía iterativo, por lo que no forma cerrada, pero son computacionalmente más simple que MCMC o de máxima verosimilitud. Usted acaba de recorrer hasta que los parámetros convergen.
Goldstein, H. Multinivel Lineales Mixtos-Modelo De Análisis Mediante Iterativo Generalizada De Los Mínimos Cuadrados. Biometrika 1986; 73(1):43-56. doi: 10.1093/biomet/73.1.43
Goldstein, H. Restringido Imparcial Iterativo Generalizada De Mínimos Cuadrados De La Estimación. Biometrika 1989; 76(3):622-623. doi: 10.1093/biomet/76.3.622
Para obtener más información sobre este y alternativas, véase por ejemplo:
- Stephen W. Raudenbush, Anthony S. Bryk. Jerárquica de los modelos lineales: las aplicaciones de análisis de datos y métodos. (2ª edición) de Sage, 2002.
Otra buena fuente de información para los "algoritmos de computación" para HLM (de nuevo en la medida en que se consideran como similares especificaciones de LMM) sería:
- McCulloch, C., Searle, S., Neuhaus, J. (2008). Lineales generalizados y Modelos Mixtos. 2ª Edición. Wiley. Capítulo 14 - La Informática.
Los algoritmos que lista para el cómputo de LMM incluyen:
- Algoritmo EM
- Newton Raphson algoritmo
Los algoritmos que lista para GLMM incluyen:
- Numérico de cuadratura (GH cuadratura)
- Algoritmo EM
- Algoritmos MCMC (como usted menciona)
- Estocástico de los algoritmos de aproximación
- Simulado de máxima verosimilitud
Otros algoritmos para GLMM que se sugieren son:
- Penalizado cuasi-verosimilitud métodos
- Laplace aproximaciones
- PQL/Laplace con bootstrap corrección del sesgo de
Si usted considera que la reunión de alto nivel para ser un tipo de modelo lineal mixto, usted podría considerar el algoritmo EM. Página 22-23 de las siguientes notas indican cómo implementar el clásico algoritmo EM para el modelo mixto:
http://www.stat.ucla.edu/~yuille/cursos/stat153/emtutorial.pdf
###########################################################
# Classical EM algorithm for Linear Mixed Model #
###########################################################
em.mixed <- function(y, x, z, beta, var0, var1,maxiter=2000,tolerance = 1e-0010)
{
time <-proc.time()
n <- nrow(y)
q1 <- nrow(z)
conv <- 1
L0 <- loglike(y, x, z, beta, var0, var1)
i<-0
cat(" Iter. sigma0 sigma1 Likelihood",fill=T)
repeat {
if(i>maxiter) {conv<-0
break}
V <- c(var1) * z %*% t(z) + c(var0) * diag(n)
Vinv <- solve(V)
xb <- x %*% beta
resid <- (y-xb)
temp1 <- Vinv %*% resid
s0 <- c(var0)^2 * t(temp1)%*%temp1 + c(var0) * n - c(var0)^2 * tr(Vinv)
s1 <- c(var1)^2 * t(temp1)%*%z%*%t(z)%*%temp1+ c(var1)*q1 -
c(var1)^2 *tr(t(z)%*%Vinv%*%z)
w <- xb + c(var0) * temp1
var0 <- s0/n
var1 <- s1/q1
beta <- ginverse( t(x) %*% x) %*% t(x)%*% w
L1 <- loglike(y, x, z, beta, var0, var1)
if(L1 < L0) { print("log-likelihood must increase, llikel <llikeO, break.")
conv <- 0
break
}
i <- i + 1
cat(" ", i," ",var0," ",var1," ",L1,fill=T)
if(abs(L1 - L0) < tolerance) {break} #check for convergence
L0 <- L1
}
list(beta=beta, var0=var0,var1=var1,Loglikelihood=L0)
}
#########################################################
# loglike calculates the LogLikelihood for Mixed Model #
#########################################################
loglike<- function(y, x, z, beta, var0, var1)
}
{
n<- nrow(y)
V <- c(var1) * z %*% t(z) + c(var0) * diag(n)
Vinv <- ginverse(V)
xb <- x %*% beta
resid <- (y-xb)
temp1 <- Vinv %*% resid
(-.5)*( log(det(V)) + t(resid) %*% temp1 )
}