我试图用SARIMA来预测未来的预测值。 这是我的数据
2020-01-22 13:30:00 134.808840
2020-01-22 13:45:00 101.113338
2020-01-22 14:00:00 105.134895
2020-01-22 14:15:00 115.315380
我用这种方式建立了一个模型
results = auto_arima(dataSugar['sugarValue'], seasonal=True, m=7, trace = True)
results.summary()
总结如下:
SARIMAX Results
Dep. Variable: y No. Observations: 1207
Model: SARIMAX(0, 1, 3)x(2, 0, [1, 2], 7) Log Likelihood -3874.203
Date: Fri, 06 Mar 2020 AIC 7766.407
Time: 21:57:14 BIC 7812.262
Sample: 0 HQIC 7783.676
- 1207
Covariance Type: opg
coef std err z P>|z| [0.025 0.975]
intercept 0.0298 0.248 0.120 0.905 -0.457 0.516
ma.L1 -0.0624 0.024 -2.581 0.010 -0.110 -0.015
ma.L2 -0.3912 0.023 -17.259 0.000 -0.436 -0.347
ma.L3 -0.0769 0.027 -2.894 0.004 -0.129 -0.025
ar.S.L7 -1.0120 0.024 -42.474 0.000 -1.059 -0.965
ar.S.L14 -0.9861 0.022 -45.078 0.000 -1.029 -0.943
ma.S.L7 1.0219 0.029 34.793 0.000 0.964 1.079
ma.S.L14 0.9794 0.031 31.162 0.000 0.918 1.041
sigma2 35.9620 1.096 32.805 0.000 33.813 38.111
Ljung-Box (Q): 57.10 Jarque-Bera (JB): 231.80
Prob(Q): 0.04 Prob(JB): 0.00
Heteroskedasticity (H): 1.38 Skew: -0.10
Prob(H) (two-sided): 0.00 Kurtosis: 5.14
所以我申请:
model = SARIMAX(df['sugarValue'], order=(0, 1, 3), seasonal_order=(2, 0, 2, 7), enforce_invertibility=False).fit()
对测试和列车组的预测非常好:
pred = model.predict(start, end)
所以我认为我的模型是正确的(或多或少)…事实上,我不需要严格的精确性
但当我试图用这种方式预测未来的价值时
forecast = model.forecast(steps=96)
我的输出是
我觉得这很糟糕我哪里错了? 我检查了值,结果不一样,但非常相似
Prediction
2020-01-24 00:00:00 105.357804
2020-01-24 00:15:00 105.574045
2020-01-24 00:30:00 104.963241
2020-01-24 00:45:00 104.783142
2020-01-24 01:00:00 104.356709
目前没有回答
相关问题 更多 >
编程相关推荐