如何根据 5 年平均值预测未来数据?
Posted
技术标签:
【中文标题】如何根据 5 年平均值预测未来数据?【英文标题】:How to forecast future data based off 5 year average? 【发布时间】:2021-12-25 18:16:45 【问题描述】:我每天都有 5 年的历史数据;
Volume
2010-01-01 21
2010-01-02 38
2010-01-03 34
.
.
.
2015-12-31 48
数据中有很多季节性因素,所以我只是希望使用 5 年的平均值来预测未来 12 个月。
我可以这样做;
df_fut = df.groupby(by=[df.index.month, df.index.day]).mean()
有没有办法绘制这个以便预测成为当前数据集的一部分?
【问题讨论】:
您在寻找df['Volume'].mean()
吗?
是的,在某种意义上。但是要寻找每日粒度的平均值。如果有意义的话,那么每 5 年数据中每年 3 月 1 日的平均值是多少?
df_fut = df.groupby(by=[df.index.month, df.index.day]).mean() 这可以找到平均值,但是尝试做这个很棘手动态预测。
这适用于获取 3 月 1 日的平均值:df[(df['a'].dt.month == 3) & (df['a'].dt.day == 1)].mean()
。它回答了你的问题吗?
【参考方案1】:
假设您有一个名为 date
的列(datetime64
类型)和一个名为 value 的列(类型为 int
或 float
):
avg_march_1sts = df[(df['date'].dt.month == 3) & (df['date'].dt.day == 1)]['Volume'].mean()
# ^^^^^^^^^^ March ^^^^^^^^ 1st
【讨论】:
哈哈我接受了!它确实回答了我的问题,但我想我可能需要考虑如何正确表达这个问题,因为它并没有准确地告诉我如何使用平均值作为预测(我的错,不是你的错!):) 我已经这样做了:)以上是关于如何根据 5 年平均值预测未来数据?的主要内容,如果未能解决你的问题,请参考以下文章