У меня проблема с прогнозированием временных рядов. Мой весь код похож на прикрепленный.
...
import pmdarima as pm
workload_all_data_pvt=workload_all_data_pvt.set_index('date')
auto_arima = pm.auto_arima(workload_all_data_pvt,
d = 0,
start_p = 1,
start_1 = 1,
max_p = 3,
max_q = 3,
seasonal=True,
m=12,
D=1,
supress_warnings=True,
trace=True,
error_action='ignore',
stepwise=True)
print(auto_arima.summary())
auto_arima.plot_diagnostics()
model = SARIMAX(workload_all_data_pvt, order=(0,0,1), seasonal_order = (0,1,1,12))
results = model.fit()
residuals = results.resid
mae = np.mean(np.abs(residuals))
results.plot_diagnostics()
plt.show()
#workload_all_data_pvt = workload_all_data_pvt.set_index('date')
# Forecast 12 months
diff_forecast = results.get_forecast(steps=12).predicted_mean
diff_forecast=pd.DataFrame(diff_forecast)
diff_forecast.columns=['EstimateManDay']
plt.plot(workload_all_data_pvt, label='observed')
plt.plot(diff_forecast, label='forecast')
plt.legend()
plt.show()
Я хочу увидеть все прошлые и прогнозируемые значения на одном графике. Я получаю ValueError: минимальный предел просмотра -36811.950000000004 меньше 1 и является недопустимым значением даты Matplotlib. Это часто случается, если вы передаете значение без даты и времени на ось с датой и временем Сначала я попытался объединить два кадра данных. Но это не сработало. Спасибо