Saya memiliki model efek campuran (sebenarnya model campuran aditif umum) yang memberi saya prediksi untuk jangka waktu. Untuk mengatasi autokorelasi, saya menggunakan model corCAR1, mengingat fakta saya memiliki data yang hilang. Data seharusnya memberi saya beban total, jadi saya perlu menjumlahkan seluruh interval prediksi. Tapi saya juga harus mendapatkan estimasi kesalahan standar pada beban total itu.
Jika semua prediksi akan independen, ini dapat dengan mudah diselesaikan dengan:
dengan
Masalahnya adalah, nilai yang diprediksi berasal dari suatu model, dan data asli memiliki autokorelasi. Seluruh masalah mengarah ke pertanyaan berikut:
- Apakah saya benar dalam mengasumsikan bahwa SE pada prediksi yang dihitung dapat diartikan sebagai akar dari varians pada nilai yang diharapkan dari prediksi itu? Saya cenderung menafsirkan prediksi sebagai "prediksi rata-rata", dan karenanya menjumlahkan seluruh rangkaian cara.
- Bagaimana cara saya menggabungkan autokorelasi dalam masalah ini, atau bisakah saya berasumsi bahwa itu tidak akan terlalu mempengaruhi hasil?
Ini adalah contoh dalam R. Kumpulan data asli saya memiliki sekitar 34.000 pengukuran, sehingga skalabilitas merupakan masalah. Itulah alasan mengapa saya memodelkan autokorelasi dalam setiap bulan, jika tidak perhitungan tidak mungkin lagi. Ini bukan solusi yang paling benar, tetapi yang paling benar tidak layak.
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)
Edit:
Pelajaran yang dipelajari: pertama-tama telusuri semua sampel di semua file bantuan sebelum panik. Di file bantuan predict.gam, saya dapat menemukan:
#########################################################
## 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)
Yang sepertinya dekat dengan apa yang ingin saya lakukan. Ini masih tidak memberi tahu saya bagaimana tepatnya hal itu dilakukan. Saya bisa mendapatkan sejauh fakta bahwa itu didasarkan pada matriks prediktor linier. Wawasan apa pun masih diterima.