時系列上の混合効果モデルからの予測値の合計の分散


32

時系列の予測を行う混合効果モデル(実際には一般化された加算混合モデル)があります。自己相関に対抗するために、データが欠落しているという事実から、corCAR1モデルを使用します。データは私に総負荷を与えることになっているので、予測区間全体で合計する必要があります。ただし、その合計負荷の標準誤差の推定値も取得する必要があります。

すべての予測が独立している場合、これは次の方法で簡単に解決できます。

with V a r E [ X i ] = S E E [ X i ] 2Var=1nE[バツ]==1nVarE[バツ]VarE[バツ]=SEE[バツ]2

問題は、予測値がモデルからのものであり、元のデータに自己相関があることです。問題全体が次の質問につながります。

  1. 計算された予測のSEは、その予測の期待値の分散のルートとして解釈できると仮定して正しいですか?私は、予測を「平均予測」として解釈する傾向があるため、平均のセット全体を合計します。
  2. この問題に自己相関を組み込むにはどうすればよいですか、または結果にあまり影響を与えないと安全に想定できますか?

これはRの例です。実際のデータセットには約34.000の測定値があるため、スケーラビリティが問題になります。それが、私が毎月内に自己相関をモデル化する理由です。そうしないと、計算が不可能になります。それは最も正しい解決策ではありませんが、最も正しい解決策は実行不可能です。

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)

編集:

学ぶべき教訓:パニックになる前に、まずすべてのヘルプファイルのすべてのサンプルを調べます。predict.gamのヘルプファイルで、次を見つけることができます。

#########################################################
## 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)

これは私がやりたいことに近いようです。これはまだそれがどのように行われるかを正確に教えてくれません。線形予測行列に基づいているという事実を知ることができました。すべての洞察はまだ歓迎されています。


6
varE[バツ]=aTvarE[バツ]a
avarE[バツ]E[バツ]=E[バツ1]E[バツn]T

@probabilityislogicこれは基本的にrプログラムが行っていることです。数学のためのTHX
ジョリスメイズ

2
@probabilityislogicそれを答えにまとめることができれば、私の+50バウンティをつかむことができます。;)
電子寿司

Eバツ=μ=1nVarE[バツ]=0

@ user52220それはあなたが間違っているところです。E(Xi)は期待値であり、したがってランダム変数です。一方、mu_iは母集団の平均であり、したがって固定数です。Var(mu)= 0ですが、E(Xi)については同じではありません。
ジョリスメイズ

回答:


1

行列表記では、混合モデルは次のように表すことができます

y = X * beta + Z * u +イプシロン

XとZは、それぞれ固定効果とランダム効果の観測に関連する既知の設計行列です。

最初の観測値が失われることを伴う自己相関を補正し、[y1、y2、... yn]の列ベクトルを1より小さい値に置き換えるために、単純で適切な(最良ではない)変換を適用しますすなわち、観測列ベクトル:[y2-rho * y1、y3-rho * y2、...、yn-rho * y(n-1)]。ここで、rhoはシリアル自己相関の推定値です。

これは、行列Tを乗算してT * yを形成することで実行できます。Tの1行目は次のように構成されます:[-rho、1、0、0、....]、2行目:[0、 -rho、1、0、0、...]など。同様に、他の設計行列はT * XおよびT * Zに変更されます。また、誤差項の分散共分散行列も変更され、独立した誤差項が追加されました。

次に、新しい設計マトリックスを使用してソリューションを計算します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.