我正在构建一个简单的状态空间模型。使用 dlm 小插图中的符号,我有一个 5x5 FF 矩阵和一个 3x3 GG 矩阵。协方差矩阵 V 和 W 分别为 5x5 和 3x3。唉,我仍然得到一个“不兼容的矩阵维度”错误。这个模型在纸上有效。任何人都知道我做错了什么?可重现的代码如下:
alpha_lag <- 0.2
alpha_rgap <- 0.2
beta_lag <- 0.5
beta_y <- 0.2
gamma_lag <- 0.8
gamma_y <- 0.5
gamma_pi <- 0.5
rho <- 0.9
sig_ygap <- 2
sig_pi <- 2 #
sig_i <- 1
sig_rstar <- 0.2*sig_i
m0 <- c(1.5, 0, 0)
C0 <- matrix(rep(0, 9),nrow=3)
FF <- matrix(c(alpha_lag, 0, 0, alpha_rgap, 0,
beta_y, beta_lag, 0, 0, 0,
(1-gamma_lag)*gamma_y, (1-gamma_lag)*gamma_pi, gamma_lag, 0, 0,
0, -1, 1, 0, 0,
0, 0, 0, 0, 1),
nrow = 5, byrow = TRUE)
V <- diag(c(sig_ygap, sig_pi, sig_i, 0, 0), nrow = 5)
GG <- matrix(c(lambda_1, 0, 0, 1, 0, 0, 0, 0, 1), nrow = 3, byrow=TRUE)
W <- matrix(c(sig_rstar, 0, 0, 1, 0, 0, 0, 0, 0), nrow = 3, byrow=TRUE)
my_dlm <- dlm(FF = FF, V = V, GG = GG, W = W, V = V,m0 = m0, C0 = C0)