1
$\begingroup$

Running

from statsmodels.tsa.statespace.sarimax import SARIMAX

model = SARIMAX([1,2,3,4,5,6,7,8,9,10], order=(0,0,1)).fit(disp=False)
print(model.summary())
print(model.predict())

yields

                               SARIMAX Results                                
==============================================================================
Dep. Variable:                      y   No. Observations:                   10
Model:               SARIMAX(0, 0, 1)   Log Likelihood                 -27.378
Date:                Thu, 10 Aug 2023   AIC                             58.756
Time:                        18:44:11   BIC                             59.361
Sample:                             0   HQIC                            58.092
                                 - 10                                         
Covariance Type:                  opg                                         
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
ma.L1          0.9996    495.167      0.002      0.998    -969.509     971.508
sigma2        11.0045   5454.459      0.002      0.998   -1.07e+04    1.07e+04
===================================================================================
Ljung-Box (L1) (Q):                   6.51   Jarque-Bera (JB):                 0.62
Prob(Q):                              0.01   Prob(JB):                         0.73
Heteroskedasticity (H):              13.60   Skew:                            -0.01
Prob(H) (two-sided):                  0.06   Kurtosis:                         1.78
===================================================================================

and the prediction

[0.         0.49999996 0.99999988 1.49999978 1.99999964 2.49999948
 2.99999929 3.49999907 3.99999881 4.49999853]

The moving average coefficient is ~1, so that's good. But what is going on with the prediction? Why does it start at 0 and then go up by ~0.5 each step? Mechanically, what is statsmodels doing here?

I'd appreciate it if someone could show a "by-hand" calculation of how to think about the MA process in this scenario, like here: How does statsmodels calculate in-sample predictions in AR models?

I'm aware the time-series that I provided is not stationary, and I'm aware of this question: How Statsmodels predict ma process

$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.