python - Statsmodels ARIMA、值警告、日期索引和相关频率信息
问题描述
我目前正在用 python 构建 ARIMA 模型,并且在查看错误代码时遇到了这个我不太明白的错误。我很好奇它是否会影响模型中的参数,如果有人能就这个问题提出建议,我会非常感激,可能会提出修复建议。
已提供日期索引,但它没有相关的频率信息,因此在预测时将被忽略。
https://i.stack.imgur.com/sNZjd.png
github中的错误文档中的代码如下:
date_index = isinstance(index, (DatetimeIndex, PeriodIndex))
if date_index and not has_freq:
warnings.warn('A date index has been provided, but it has no'
' associated frequency information and so will be'
' ignored when e.g. forecasting.', ValueWarning)
这是我的数据框。我将日期时间设置为我的数据框索引。
https://i.stack.imgur.com/rlkd0.png
为了清楚起见,代码仍然是可执行的,并且可以打印结果摘要。
解决方案
当您的日期索引没有与之关联的频率时,会显示此警告。您尚未提供与数据/时间索引关联的定义频率(如季度、每月等)。
此警告的意思是您不能按日期指定预测步骤,并且 forecast 和 get_forecast 方法的输出将没有关联的日期。原因是如果没有给定的频率,就无法确定每个预测应该分配到哪个日期。尝试指定如下时期:
df.index = pd.DatetimeIndex(df.index).to_period('M')
在此处阅读此页面以获取更多详细信息。 https://www.statsmodels.org/stable/examples/notebooks/generated/statespace_forecasting.html
推荐阅读
- github - 为什么我的主分支合并到另一个分支
- javascript - 如何将数据保存在会话存储中并稍后获取?
- json - 在反应中获取 Json 的问题
- r - 按组连接多边形。我应该使用带有 sf 包的 dplyr 使用什么命令
- c++ - 是什么导致了这里的分段错误?
- python - 我不明白为什么这段代码是一个无限循环
- spring-boot - Spring boot、JavaMailSender、Thymeleaf 和 Bootstrap:收到的电子邮件是一个纯 HTML 页面
- python - 如何从另一个 .py 文件将 pexpect 输入到函数中
- python - 使用图像遍历文件夹并将名称放入 .csv
- spring-boot - Swagger UI 被 Spring Security 阻止