有一组时间序列数据,是每天6点到23点的,需要用前六个周预测后两个周,但是画出图来准确度不高,怎么才能只对6点到23点进行预测
看了一个博主的相似问题的解答,但不是很明白
假设上面的数据集只有每天早上6点之前的观测值
df2 = df.copy()
df2['ds'] = pd.to_datetime(df2['ds'])
# 只保留每天早上6点之前的数据
df2 = df2[df2['ds'].dt.hour < 6]
m = Prophet().fit(df2)
future = m.make_future_dataframe(periods=300, freq='H')
fcst = m.predict(future)
fig = m.plot(fcst)
这个预测看起来很差,未来的波动比历史上看到的要大得多。这里的问题是,我们将每天的循环安排在一个时间序列中,这个时间序列中只有一天的一部分数据(12a到6a)。因此,每天的季节性在一天剩下的时间里是不受约束的,估计也不准确。解决方案是只对有历史数据的时间窗进行预测。这里,这意味着限制未来dataframe的时间(从12a到6a):
future2 = future.copy()
future2 = future2[future2['ds'].dt.hour < 6]
fcst = m.predict(future2)
fig = m.plot(fcst)
我要如何修改才能只预测每天6点到23点这个时间段的数据,提高精确度