Пространство состояний с использованием пакетов DLM и FKF

Модель пространства состояний, которую я пытаюсь реализовать, выглядит следующим образом:

$ y_t= CY + FF* X_t + Ve_t$

$(X_t-m0)= GG (X_{t-1}-m0) +W\eta_t$

В DLM я использую следующую модификацию (потому что DLM не позволяет перехватывать в уравнении измерения и перехода)

mod= build(param) #creates DLM objects with some additional objects
adj= mod$FF%*%mod$m0+ mod$CY
data= t(apply(data_full,1,function(x) x-adj)) # adjust Y variable for the intercept term
mod$m0=0 # now latent factor will have zero mean
dlmLL(data,mod )

Теперь я пытаюсь реализовать то же самое с помощью пакета fkf:

mod= build(param)
mod$CX= (I-mod$GG)%*%mod$m0
ans <- fkf(a0 = mod$m0, P0 = mod$C0, dt = mod$CX, ct = mod$CY, Tt = mod$GG,
         Zt = mod$FF, HHt = mod$W, GGt = mod$V, yt = t(data_full))
ans$logLik

Правильны ли оба подхода?

Если да, то почему я получаю разные значения вероятности, используя разные пакеты, и какой из них должен быть предпочтительным?

0 ответов

Другие вопросы по тегам