动态因素模型:预测因素

时间:2020-06-04 22:22:37

标签: statsmodels

statsmodels软件包提供了一个DynamicFactor对象,当适合时,它会产生一个statsmodels.tsa.statespace.dynamic_factor.DynamicFactorResultsWrapper对象。这提供了predictsimulate方法,但是都预测了原始时间序列,而不是潜在的潜在因素。

我曾尝试将潜在因素重建为AR流程,但未成功。 .ssm["transition"]和结果.summary()中的系数都匹配,但是当作为AR过程进行模拟时,不要把结果.factors["filtered"]上的系数还给我...

如何生成潜在因子的未来值?

1 个答案:

答案 0 :(得分:0)

一种方法是:

m = sm.tsa.DynamicFactor(endog, k_factors=1, factor_order=1)
r = m.fit()
f = r.get_forecast(10)
print(f.prediction_results.filtered_state)

请注意,这始终是一个numpy数组,因此如果您的数据具有例如一个熊猫日期索引,您需要自己使用该索引创建熊猫系列。

另一种方法是将np.nan值附加到数据集的末尾,然后使用典型的.factors["filtered"]访问器。如果您将n观测值附加到np.nan,则n的最后.factors["filtered"]值将包含因素的预测。