实验数据:
数据每分钟一个点,共获取7天的数据。
def xgboost_model_forecast(data, step):
"""
将原始数据分割为两部分,一部分进行训练,一部分用于模型评估(默认近三天),
然后预测未来step hours的数据
:param data: dataframe格式,index,val
:param hours: 要预测的时长
:return: Series,预测的时间点和预测值
"""
latest_date = data.index[-1] + datetime.timedelta(minutes=1)
forecast_times = pd.date_range(start=latest_date, periods=step, freq='T')
split_date = latest_date + datetime.timedelta(-3)
train_data = data.loc[data.index <= split_date].copy()
evaluation_data = data.loc