Python版Causal Impact:如何获取并导出预测序列的全部数据点?
Python版Causal Impact如何访问并导出预测值?
当然可行,Python版CausalImpact运行后生成的所有预测相关数据都存储在模型对象里,直接提取即可:
- 获取完整结果数据集
执行ci.run()后,ci对象的results属性是一个包含所有相关数据的DataFrame,里面涵盖了预测值、实际观测值、置信区间、因果效应等全部内容:
# 提取完整结果数据集 results_df = ci.results # 查看前几行确认数据内容 print(results_df.head())
- 核心数据列说明
这个DataFrame里的关键列包括:
actual: 原始实际观测值predicted: 模型输出的预测值predicted_lower/predicted_upper: 预测值的置信区间上下限point_effect: 单点因果效应(实际值与预测值的差值)- 以
cumulative_开头的列:对应指标的累计值
- 导出数据到文件
利用DataFrame的导出方法,可将数据保存为CSV、Excel等格式,示例如下:
# 导出全部结果到CSV文件 results_df.to_csv("causal_impact_full_results.csv", index=True) # 若仅需预测相关数据,筛选后导出 prediction_data = results_df[["actual", "predicted", "predicted_lower", "predicted_upper"]] prediction_data.to_csv("prediction_values.csv", index=True)
这些数据和ci.plot()图表中展示的所有数据点完全对应,不管是预处理期还是干预后的时间段,所有数值都能完整导出。
内容的提问来源于stack exchange,提问作者confused_danny
相关产品推荐
相关产品推荐

