ARIMA(1,0,0) is AR(1). Keep n around 40 so Pyodide stays snappy. disp=0.
Goal
Fit AR(1) and print ar.L1.
import numpy as np
from statsmodels.tsa.arima.model import ARIMA
rng = np.random.default_rng(0)
x = np.cumsum(rng.normal(size=40)) * 0 + rng.normal(size=40)
# white-ish noise so the fit is fast
fit = ARIMA(x, order=(1, 0, 0)).fit()
print({k: round(v, 3) for k, v in fit.params.to_dict().items()})import numpy as np
from statsmodels.tsa.arima.model import ARIMA
y = np.array([1.0, 1.2, 0.9, 1.1, 1.0, 1.3, 0.8, 1.1, 1.0, 1.2] * 3)
fit = ARIMA(y, order=(1, 0, 0)).fit()
print(round(float(fit.aic), 2))import numpy as np
print(len(np.random.default_rng(0).normal(size=40)))import numpy as np
from statsmodels.tsa.arima.model import ARIMA
fit = ARIMA(np.arange(20, dtype=float), order=(0, 0, 0)).fit()
print(round(float(fit.params.iloc[0]), 3))