我正在使用 KFAS 来拟合表单的动态逻辑模型;
y^=β_t*x+ε
其中 y 是长度为 n 的向量,beta 是长度为 p 的向量,x 是 n*p 的矩阵。
β_t=β_(t-1)+η
因此,回归参数随时间变化,并充当过滤器估计的潜在变量。
如何在 R 中指定这样的模型?我不能使用 MARSS 包,因为我需要一个逻辑链接功能,但是我一直在尝试使用的 KFAS 包(它接受二项式分布)的文档记录很差。
关键问题似乎是每个时间段我有多个观察结果,这个包可能不支持。有关我的问题的示例,请参见下面的代码 - 它应该演示十个时间段,每个时间段有 2-3 个 obs,但 KFAS 认为每一行是一个单独的时间段,其中有 22 个而不是 10 个。
library(KFAS)
y = c(1,0,0,0,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1)
i = seq.Date(from = as.Date("2014-01-01"), as.Date("2014-01-10"), length.out = 22)
x = rnorm(n = 22, mean = 1, sd = 2)
a = model = SSModel(y ~
SSMregression(~x),
distribution = "binomial")
fit = fitSSM(a, inits = c(0,0))