typestar

ARIMA en Python

Orden (p, d, q), un ajuste, y un pronóstico con intervalo.

import numpy as np
import pandas as pd
from statsmodels.tsa.arima.model import ARIMA

rng = np.random.default_rng(14)
valores = np.zeros(200)
for i in range(1, 200):
    valores[i] = 0.6 * valores[i - 1] + rng.normal()
serie = pd.Series(valores + 90)

model = ARIMA(serie, order=(1, 0, 0)).fit()
print(model.params.round(4).to_dict())
print(round(model.aic, 2), round(model.bic, 2))

pronostico = model.get_forecast(steps=3)
print(pronostico.predicted_mean.round(2).tolist())
print(pronostico.conf_int(alpha=0.05).round(2).to_numpy()[0])

Cómo funciona

  1. d es cuántas veces se diferencia la serie.
  2. get_forecast da el intervalo; pronostico, solo el punto.
  3. El AIC es lo que comparas al elegir un orden.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
533
Tokens
178
Ritmo de tres estrellas
115 tpm

Al ritmo de tres estrellas de 115 tokens por minuto, este intento toma unos 93 segundos.

Escribe este fragmento

Paso 4 de 6 en Series de tiempo; paso 16 de 19 en Estadística con statsmodels.

← Anterior Siguiente →