Многошаговый прогноз многопараметрического временного ряда - PullRequest
0 голосов
/ 07 марта 2019

Я делаю школьный проект, который может прогнозировать количество людей на основе лет, но я должен учитывать принятые заказы (в зависимости от года) и продажи (в зависимости от года), чтобы уменьшить MSE

Но я не понимаю, как это сделать, кроме использования SARIMAX, но не могу учесть ни одну из функций, о которых я говорил ранее

Если вы мне поможете, я буду благодарен

mod = sm.tsa.statespace.SARIMAX(y,
                            order=(1, 1, 1),
                            seasonal_order=(0, 0, 0, 12),
                            enforce_stationarity=False,
                            enforce_invertibility=False)


results = mod.fit()

print(results.summary().tables[1])pred_uc = results.get_forecast(steps=5)
    pred_ci = pred_uc.conf_int()

pred = results.get_prediction()
pred_ci = pred.conf_int()

ax = y['2014':].plot(label='observed')
pred.predicted_mean.plot(ax=ax, label='One-step ahead Forecast', alpha=.7, figsize=(14, 7))

ax.fill_between(pred_ci.index,
                pred_ci.iloc[:, 0],
                pred_ci.iloc[:, 1], color='k', alpha=.2)

ax.set_xlabel('Years')
ax.set_ylabel('Dvlpment Staff')
plt.legend()

plt.show()

ax = y.plot(label='observed', figsize=(14, 7))
pred_uc.predicted_mean.plot(ax=ax, label='Forecast')
ax.fill_between(pred_ci.index,
                pred_ci.iloc[:, 0],
                pred_ci.iloc[:, 1], color='k', alpha=.25)
ax.set_xlabel('Years')
ax.set_ylabel('Dvlpment Staff')

plt.legend()
plt.show()
...