从OLS(statsmodels)绘制趋势和预测数据

时间:2017-08-14 15:11:28

标签: python-3.x pandas linear-regression statsmodels

我从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()

我获得了这个情节:

enter image description here

一切都很好,但现在我需要绘制适合的预测

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')

我获得了这个情节:

enter image description here

但是我丢失了原始趋势图的索引。我的问题是,是否存在一些简单的方法来绘制来自sm.tsa.seasonal_decompose的趋势数据以及具有原始索引时间的线性拟合预测?

0 个答案:

没有答案