0

我正在构建一个简单的状态空间模型。使用 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) 

4

0 回答 0