使用 facebook prophet 在具有多个时间序列的数据框中进行时间序列预测
Using facebook prophet to do time-series forecasting in dataframe that has multiple time-series
我有以下数据框:
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
# ...
我有以下数据框:
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
# ...