Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python FBProphet模型中的假期效应均为零_Python_Facebook Prophet_Fbprophet - Fatal编程技术网

Python FBProphet模型中的假期效应均为零

Python FBProphet模型中的假期效应均为零,python,facebook-prophet,fbprophet,Python,Facebook Prophet,Fbprophet,我有一个预言家模型,可以预测一家公司的出货量。当我添加特殊事件(促销和假期)时,它们似乎对模型的预测没有影响。我做错什么了吗?在我检查的所有示例中,假期总是对Prophet模型产生影响 from fbprophet.make_holidays import make_holidays_df import datetime country_name= 'ES' festivos=make_holidays_df([2017,2018,2019,2020],'ES') festivos['dia']

我有一个预言家模型,可以预测一家公司的出货量。当我添加特殊事件(促销和假期)时,它们似乎对模型的预测没有影响。我做错什么了吗?在我检查的所有示例中,假期总是对Prophet模型产生影响

from fbprophet.make_holidays import make_holidays_df
import datetime
country_name= 'ES'
festivos=make_holidays_df([2017,2018,2019,2020],'ES')
festivos['dia']=0
for index, row in festivos.iterrows():
    festivos.loc[index,"dia"]='Festivo ' + str(datetime.datetime.weekday(festivos.iloc[index]["ds"]))
festivo2=pd.DataFrame({'holiday':festivos['dia'],'ds':festivos['ds'],'lower_window':-9,'upper_window':1,})
festivo1=pd.DataFrame({'holiday':festivos['holiday'],'ds':festivos['ds'],'lower_window':-9,'upper_window':1,})
festivo=pd.concat((festivo2,festivo1))
festivo=pd.DataFrame(festivo)
festivo


看起来是由于您每月的汇总。见最后一个注释


对于已聚合为每周或每月频率的数据,不在数据中使用的特定日期的假期将被忽略

您可以发布数据样本吗?我将您的代码与FBProphet示例数据一起使用,并按照您的预期工作。我使用的数据具有prophet模型所要求的正确形状,我猜:
ph_home = Prophet(holidays=festivo)
ph_home.add_country_holidays(country_name='ES')
ph_home.fit(home_train)
fut_home= ph_home.make_future_dataframe(periods=6,freq='M')
pred_home=ph_home.predict(fut_home)
fig1 =ph_home.plot(pred_home)
a = add_changepoints_to_plot(fig1.gca(), ph_home, pred_home)
fig1=ph_home.plot_components(pred_home)
pd.concat([home_train.set_index('ds')['y'],pred_home.set_index('ds')['yhat']],axis=1).plot(figsize=(15,10))