我从1992年到2016年有这些数据:
Year month data stdBS index1
1992-05-01 1992 5 302.35 31.69 727319
1992-06-01 1992 6 305.07 27.59 727350
1992-07-01 1992 7 297.12 29.12 727380
1992-08-01 1992 8 304.39 21.41 727411
1992-09-01 1992 9 294.30 32.26 727442
使用此代码:
flow2=fmO['data']
fig,ax = plt.subplots(1,1, figsize=(6,4))
res2 = sm.tsa.seasonal_decompose(flow2)
residual = res2.resid
seasonal = res2.seasonal
trend = res2.trend
fig = res2.plot()
plt.show()
我获得了这个情节:
一切都很好,但现在我需要绘制适合的预测
trend2 = trend.reset_index()
X = fm0.index1
y = trend
X = sm.add_constant(X)
model = sm.OLS(y,X, missing='drop')
results = model.fit()
predictions = results.predict(X)
p = results.summary()
使用以下简短代码:
fig, ax = plt.subplots(figsize=(8,4))
ax.scatter(df0.index, trend)
ax.plot(df0.index, df0.predic, 'r')
ax.set_ylabel('Data')
我获得了这个情节:
但是我丢失了原始趋势图的索引。我的问题是,是否存在一些简单的方法来绘制来自sm.tsa.seasonal_decompose
的趋势数据以及具有原始索引时间的线性拟合预测?