Tengo un modelo de efectos mixtos (de hecho, un aditivo generalizado (modelo mixto) que me da predicciones para un unicc. Para contrarrestar la autocorrelación, yo uso un corCAR1 modelo, dado el hecho de que tengo los datos que faltan. Los datos se supone que me da un total de la carga, así que tengo que suma más de todo el intervalo de predicción. Pero también debo obtener una estimación del error estándar en que la carga total.
Si todas las predicciones sería independiente, esto puede ser fácilmente resuelto por :
$Var(\sum^{n}_{i=1}E[X_i]) = \sum^{n}_{i=1}Var(E[X_i])$ con $Var(E[X_i]) = E(E[X_i])^2$
El problema es, la predicción de los valores vienen de un modelo, y el original de los datos ha de autocorrelación. Todo el problema conduce a las siguientes preguntas :
- Estoy en lo cierto al suponer que la SE en el cálculo de las predicciones puede ser interpretado como la raíz de la varianza en el valor esperado de esa predicción? Tiendo a interpretar las predicciones como "la media de las predicciones", y por lo tanto la suma de un conjunto de medios.
- ¿Cómo puedo incorporar la autocorrelación en este problema, o se puede asumir con seguridad que no influyen en los resultados demasiado?
Este es un ejemplo en el R. Mi verdadero conjunto de datos tiene cerca de 34.000 mediciones, por lo que escalabilidad es un problema. Esa es la razón por la que el modelo de la autocorrelación dentro de cada mes, de lo contrario, los cálculos no son posibles más. No es la solución más correcta, pero la más correcta no es factible.
set.seed(12)
require(mgcv)
Data <- data.frame(
dates = seq(as.Date("2011-1-1"),as.Date("2011-12-31"),by="day")
)
Data <- within(Data,{
X <- abs(rnorm(nrow(Data),3))
Y <- 2*X + X^2 + scale(Data$dates)^2
month <- as.POSIXlt(dates)$mon+1
mday <- as.POSIXlt(dates)$mday
})
model <- gamm(Y~s(X)+s(as.numeric(dates)),correlation=corCAR1(form=~mday|month),data=Data)
preds <- predict(model$gam,se=T)
Total <- sum(preds$fit)
Editar :
La lección a aprender : primero ir a través de todas las muestras en todos los archivos de ayuda antes de que el pánico. En los archivos de ayuda de predecir.gam, me pueden encontrar :
#########################################################
## now get variance of sum of predictions using lpmatrix
#########################################################
Xp <- predict(b,newd,type="lpmatrix")
## Xp %*% coef(b) yields vector of predictions
a <- rep(1,31)
Xs <- t(a) %*% Xp ## Xs %*% coef(b) gives sum of predictions
var.sum <- Xs %*% b$Vp %*% t(Xs)
Que parece estar cerca de lo que quiero hacer. Con esto no me diga exactamente cómo se hace. Yo podría llegar tan lejos como el hecho de que se basa en el predictor lineal de la matriz. Cualquier conocimiento son bienvenidos.