卡尔曼平滑滤波器代码:dynfactorR的重启

卡尔曼·克劳迪的代码用于动态因子模型的估计,目前宏观经济学中的大多数因子模型仅支持Matlab。该存储库包含用R重写的模型的小样本,尽管状态空间模型(动态因子模型的子集)在R的多个包中已可用(如MARSS),但出于速度和可理解性,在R中使用它是有益的。

最初,该代码是从Doz、Gianone和Reichlin (2011)的复制文件逐行重写而来。其目标是重构代码以提升可读性和可维护性,同时在数据丢失的情况下增加估计选项。完成后,计划将其打包成一个简单的R库。虽然原链接已不可用,Matlab复制文件仍然可以使用。

当前状态显示,只要q <= r且矩阵求逆保持稳定,开发分支可以支持任意的q、r和p。虽然尚未进行广泛的数值测试以确保正确性,但在Octave上对示例数据的原始代码进行了测试,结果相符,因此具有希望。当q != r时,原始代码似乎失效,需进一步调查。em_functions.R文件包含了相关功能。