statsmodels - 动态因子模型:预测因子
问题描述
该statsmodels
包提供了一个DynamicFactor
对象,当它适合时,会产生一个statsmodels.tsa.statespace.dynamic_factor.DynamicFactorResultsWrapper
对象。提供predict
和simulate
方法,但都预测原始时间序列,而不是潜在的潜在因素。
我尝试将潜在因素重建为 AR 过程,但没有成功。.ssm["transition"]
和结果中的系数.summary()
匹配,但是当模拟为 AR 过程时,不要给我返回结果的因素.factors["filtered"]
......
如何生成潜在因素的未来值?
解决方案
一种方法是:
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 数组,因此如果您的数据有例如 Pandas 日期索引,您需要自己创建带有该索引的 Pandas 系列。
另一种方法是将np.nan
值附加到数据集的末尾,然后使用典型的.factors["filtered"]
访问器。如果您使用 附加n
观测值np.nan
,则 的最后一个n
值.factors["filtered"]
将包含因子的预测。
推荐阅读
- python - 用于 NLP 文本分类的 AI 模型的 GCP 部署
- c# - 大摇大摆的 Ocelat api 网关文档
- c - pthread 和 printf 的 C 性能不佳
- javascript - 发送推送通知 PHP
- python - 在 Django 中上传图像返回错误“UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte”
- jquery - 为什么单击自动完成结果时会在 url 中添加 #?
- ios - UITableViewCell 里面有一个 StackView,里面有动态添加的 WKWebViews 和 UIImageViews
- linux - 通过 WSL 安装 zsh。Git说他不能chdir到文件夹。该怎么办?
- amazon-web-services - 将多个文件从 s3 复制到 redshift
- firebase - Flutter Firebase Dynamic Link Navigator.push 不导航