Prophet 模型回归问题

数据挖掘 机器学习 时间序列 预测
2022-03-07 21:43:07

我正在与先知一起预测半小时英国的电价。我还有另外两个时间序列:天然气价格和初始国家需求反转。因此,在基于日期时间索引将所有数据集合并在一起之后,我使用天然气价格和初始国家需求作为回归量。

当我只使用气体作为回归量时,我会得到更好的预测结果。但是,如果我添加负载需求,模型会给出更差的结果。我有点困惑,因为两个回归量都是正相关的,并且对电价有影响。

此外,一个重要的细节是负荷需求与电力和天然气价格序列相比具有非常清晰的模式。因此,从预测图中,看起来预言家模型正在遵循更容易遵循的模式,在这种情况下是负载需求。无论如何,我可能在某个地方错了。

部分代码:

#Prophet:
model_P = Prophet(weekly_seasonality=True,yearly_seasonality=False, daily_seasonality=True)
model_P.add_seasonality(name="monthly", period=30.5, fourier_order=5)
model_P.add_regressor('Gas')
model_P.add_regressor('INDO')
model_P.fit(pd.DataFrame({'ds': train.index, 'y':train, 'Gas': train_gas, 'INDO': train_indo}))

def populate_indo_val(dt):
current_date=str(dt.date())
return df[current_date]['INDO'][0]

def populate_gas_val(dt):
current_date=str(dt.date())
return df[current_date]['Gas'][0]

future_dates = model_P.make_future_dataframe(periods=test.shape[0],freq='30T')
future_dates['INDO']=future_dates['ds'].apply(populate_indo_val)
future_dates['Gas']=future_dates['ds'].apply(populate_gas_val)
results_P = model_P.predict(future_dates)
forecast_P = results_P.set_index('ds').yhat

我还附上了预测模型图。当仅使用气体作为回归量时,第二张图描述了仅使用初始负载需求进行预测的模型。在此处输入图像描述

0个回答
没有发现任何回复~