python - 使用 Facebook Prophet 在具有多个时间序列的数据框中进行时间序列预测

标签 python pandas facebook-prophet

我有以下数据框:

             fid         via
2015-01-18  id_22207  0.275056
2015-01-30  id_22207  0.306961
2015-02-23  id_22207  0.285065
2015-02-24  id_22207  0.337570
2015-02-27  id_22207  0.311612
2015-01-18  id_22208  0.371765
2015-01-20  id_22208  0.405391
2015-02-11  id_22208  0.354052
2015-02-24  id_22208  0.421126
2015-03-15  id_22208  0.454406

我想使用此数据框通过 facebook 的 prophet 库进行时间序列预测。该库中有没有办法使用这个数据框?棘手的部分是我有多个 fid 值,并且对于每个 fid,我在 via 列中都有多个日期的数据。我想通过 via 列进行预测。数据框:

2015-03-18  id_22209
2015-03-20  id_22209
2015-03-21  id_22209
2015-03-24  id_22209
2015-03-25  id_22209

最佳答案

目前,prophet 不支持多元时间序列预测或 VAR。最好的办法是根据 fid 列分割数据框后在循环中创建预测。

library(tidyverse)
library(prophet)

lapply(split(df, f= df$fid), function(x) {
    # Prophet expects columns to be ds, y
    x <- x %>% rename(y = via, ds = date)

    # Create prophet forecasts
    # ...
})
<小时/>

编辑

没有注意到这个问题被标记为Python。

unique_fid = df['fid'].unique()
for fid in unique_fid:
    temp_df = df.loc[df['fid'] == fid,['date', 'via']]
    # Prophet expects ds and y as columns
    temp_df.columns = ['ds', 'y']
    # Create prophet forecasts
    # ...

关于python - 使用 Facebook Prophet 在具有多个时间序列的数据框中进行时间序列预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53828168/

相关文章:

python - 使用python在数据框中的某些列中删除具有相同值的行

python - groupby 并替换某些值

r - 使用 R 对多个项目进行 Prophet 预测

r - Prophet模型中假期的不确定性很大

python - 使用 Facebook Prophet 创建 SKU 循环预测并导出为 CSV

python - 除了 tabula 之外,我如何提取 pdf 表格

python - 如何根据python中另一个列表中的元素过滤列表

python-3.x - 将 dropna 设置为 True 的 Pandas groupby 生成错误的输出

python - pandas 中 DataFrame 沿行轴的 bool 索引

python - 包含完全相反顺序的元素的两个数组的交集