Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Modelo Autorregresivo Integrado de Media Móvil | Modelos Estacionarios
Análisis de Series Temporales
course content

Contenido del Curso

Análisis de Series Temporales

Análisis de Series Temporales

1. Serie Temporal: Comencemos
2. Procesamiento de Series Temporales
3. Visualización de Series Temporales
4. Modelos Estacionarios
5. Modelos No Estacionarios
6. Resuelve Problemas Reales

bookModelo Autorregresivo Integrado de Media Móvil

El último modelo que examinaremos es la media móvil autorregresiva integrada. Este modelo combina la autorregresión, la media móvil y la técnica de diferenciación (no es el modelo del que hemos hablado antes). Se presenta de la siguiente manera:

Puede parecer bastante complicado, pero en realidad, mira, AR - es un modelo autorregresivo con el que ya estás familiarizado, MA - es una media móvil, lo que implica una combinación lineal de errores de la previsión pasada.

ARIMA utiliza 3 parámetros que debemos elegir nosotros mismos (p, d, q):

P - se denomina orden de autoregresión. Es el número de valores inmediatamente anteriores de la serie que se utilizan para predecir el valor en el momento actual;

D - orden de diferenciación;

Q - el orden de la media móvil. Permite establecer el error del modelo como una combinación lineal de los valores de error observados anteriormente.

Nota

En los próximos capítulos estudiaremos con más detalle las técnicas de diferenciación.

¿Cuál es la ventaja de este modelo? Puede predecir procesos no estacionarios simples (más concretamente, procesos en los que la media y la covarianza cambian con el tiempo) y es más eficaz cuando se trabaja con predicciones a corto plazo.

Vamos a crear un modelo ARIMA utilizando statsmodels, para ello utilizaremos la clase ARIMA():

``python from statsmodels.tsa.arima.model import ARIMA from sklearn.metrics import error_medio_cuadrado from math import sqrt

X = df.valores tamaño = int(len(X) * 0.6) tren, prueba = X[0:tamaño], X[tamaño:] historial = entrenar.tolist() predicciones = list()

Realización de predicciones con el modelo ARIMA

for t in range(len(test)): model = ARIMA(history, order=(5, 1, 0)) model_fit = model.fit() salida = model_fit.predicción() predicciones.append(salida[0]) history.append(prueba[t])

Calcular el error MSE

rmse = sqrt(error_medio_cuadrado(prueba, predicciones)) print("RMSE de la prueba: %.3f" % rmse)

Representar los resultados

plt.plot(prueba) plt.plot(predicciones, color="rojo") plt.show()

Los resultados:

Básicamente, utilizará 2 funciones: .forecast() y .predict() La primera función es para predicciones fuera del conjunto de datos (por eso usamos un bucle en el ejemplo anterior), mientras que la función .predict() se usa para predicciones dentro del conjunto de datos.

Además, puede experimentar con los parámetros p, q y d para obtener los mejores resultados. Pero incluso con estos parámetros, puede ver que el modelo sigue bien las tendencias principales.

**El código puede tardar hasta 1 minuto en procesarse.

Tarea
test

Swipe to show code editor

Cree un modelo ARIMA y entrénelo en el conjunto de datos pr_air_quality.csv.

  1. Dentro del bucle for, cree un modelo ARIMA utilizando los datos history y asígnelo a la variable model. A continuación, ajuste el model a los datos y guárdelo como model_fit. A continuación, haga previsiones utilizando el model_fit ajustado.
  2. Calcule el RMSE: tome la raíz cuadrada (sqrt) del error cuadrático medio (calculado utilizando el test y las predicciones).
  3. Visualice los resultados: muestre los valores de test en la primera llamada a la función .plot() y los valores de predictions en la segunda llamada.

*Tenga en cuenta que el código puede tardar mucho tiempo en completarse.

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4
toggle bottom row

bookModelo Autorregresivo Integrado de Media Móvil

El último modelo que examinaremos es la media móvil autorregresiva integrada. Este modelo combina la autorregresión, la media móvil y la técnica de diferenciación (no es el modelo del que hemos hablado antes). Se presenta de la siguiente manera:

Puede parecer bastante complicado, pero en realidad, mira, AR - es un modelo autorregresivo con el que ya estás familiarizado, MA - es una media móvil, lo que implica una combinación lineal de errores de la previsión pasada.

ARIMA utiliza 3 parámetros que debemos elegir nosotros mismos (p, d, q):

P - se denomina orden de autoregresión. Es el número de valores inmediatamente anteriores de la serie que se utilizan para predecir el valor en el momento actual;

D - orden de diferenciación;

Q - el orden de la media móvil. Permite establecer el error del modelo como una combinación lineal de los valores de error observados anteriormente.

Nota

En los próximos capítulos estudiaremos con más detalle las técnicas de diferenciación.

¿Cuál es la ventaja de este modelo? Puede predecir procesos no estacionarios simples (más concretamente, procesos en los que la media y la covarianza cambian con el tiempo) y es más eficaz cuando se trabaja con predicciones a corto plazo.

Vamos a crear un modelo ARIMA utilizando statsmodels, para ello utilizaremos la clase ARIMA():

``python from statsmodels.tsa.arima.model import ARIMA from sklearn.metrics import error_medio_cuadrado from math import sqrt

X = df.valores tamaño = int(len(X) * 0.6) tren, prueba = X[0:tamaño], X[tamaño:] historial = entrenar.tolist() predicciones = list()

Realización de predicciones con el modelo ARIMA

for t in range(len(test)): model = ARIMA(history, order=(5, 1, 0)) model_fit = model.fit() salida = model_fit.predicción() predicciones.append(salida[0]) history.append(prueba[t])

Calcular el error MSE

rmse = sqrt(error_medio_cuadrado(prueba, predicciones)) print("RMSE de la prueba: %.3f" % rmse)

Representar los resultados

plt.plot(prueba) plt.plot(predicciones, color="rojo") plt.show()

Los resultados:

Básicamente, utilizará 2 funciones: .forecast() y .predict() La primera función es para predicciones fuera del conjunto de datos (por eso usamos un bucle en el ejemplo anterior), mientras que la función .predict() se usa para predicciones dentro del conjunto de datos.

Además, puede experimentar con los parámetros p, q y d para obtener los mejores resultados. Pero incluso con estos parámetros, puede ver que el modelo sigue bien las tendencias principales.

**El código puede tardar hasta 1 minuto en procesarse.

Tarea
test

Swipe to show code editor

Cree un modelo ARIMA y entrénelo en el conjunto de datos pr_air_quality.csv.

  1. Dentro del bucle for, cree un modelo ARIMA utilizando los datos history y asígnelo a la variable model. A continuación, ajuste el model a los datos y guárdelo como model_fit. A continuación, haga previsiones utilizando el model_fit ajustado.
  2. Calcule el RMSE: tome la raíz cuadrada (sqrt) del error cuadrático medio (calculado utilizando el test y las predicciones).
  3. Visualice los resultados: muestre los valores de test en la primera llamada a la función .plot() y los valores de predictions en la segunda llamada.

*Tenga en cuenta que el código puede tardar mucho tiempo en completarse.

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4
toggle bottom row

bookModelo Autorregresivo Integrado de Media Móvil

El último modelo que examinaremos es la media móvil autorregresiva integrada. Este modelo combina la autorregresión, la media móvil y la técnica de diferenciación (no es el modelo del que hemos hablado antes). Se presenta de la siguiente manera:

Puede parecer bastante complicado, pero en realidad, mira, AR - es un modelo autorregresivo con el que ya estás familiarizado, MA - es una media móvil, lo que implica una combinación lineal de errores de la previsión pasada.

ARIMA utiliza 3 parámetros que debemos elegir nosotros mismos (p, d, q):

P - se denomina orden de autoregresión. Es el número de valores inmediatamente anteriores de la serie que se utilizan para predecir el valor en el momento actual;

D - orden de diferenciación;

Q - el orden de la media móvil. Permite establecer el error del modelo como una combinación lineal de los valores de error observados anteriormente.

Nota

En los próximos capítulos estudiaremos con más detalle las técnicas de diferenciación.

¿Cuál es la ventaja de este modelo? Puede predecir procesos no estacionarios simples (más concretamente, procesos en los que la media y la covarianza cambian con el tiempo) y es más eficaz cuando se trabaja con predicciones a corto plazo.

Vamos a crear un modelo ARIMA utilizando statsmodels, para ello utilizaremos la clase ARIMA():

``python from statsmodels.tsa.arima.model import ARIMA from sklearn.metrics import error_medio_cuadrado from math import sqrt

X = df.valores tamaño = int(len(X) * 0.6) tren, prueba = X[0:tamaño], X[tamaño:] historial = entrenar.tolist() predicciones = list()

Realización de predicciones con el modelo ARIMA

for t in range(len(test)): model = ARIMA(history, order=(5, 1, 0)) model_fit = model.fit() salida = model_fit.predicción() predicciones.append(salida[0]) history.append(prueba[t])

Calcular el error MSE

rmse = sqrt(error_medio_cuadrado(prueba, predicciones)) print("RMSE de la prueba: %.3f" % rmse)

Representar los resultados

plt.plot(prueba) plt.plot(predicciones, color="rojo") plt.show()

Los resultados:

Básicamente, utilizará 2 funciones: .forecast() y .predict() La primera función es para predicciones fuera del conjunto de datos (por eso usamos un bucle en el ejemplo anterior), mientras que la función .predict() se usa para predicciones dentro del conjunto de datos.

Además, puede experimentar con los parámetros p, q y d para obtener los mejores resultados. Pero incluso con estos parámetros, puede ver que el modelo sigue bien las tendencias principales.

**El código puede tardar hasta 1 minuto en procesarse.

Tarea
test

Swipe to show code editor

Cree un modelo ARIMA y entrénelo en el conjunto de datos pr_air_quality.csv.

  1. Dentro del bucle for, cree un modelo ARIMA utilizando los datos history y asígnelo a la variable model. A continuación, ajuste el model a los datos y guárdelo como model_fit. A continuación, haga previsiones utilizando el model_fit ajustado.
  2. Calcule el RMSE: tome la raíz cuadrada (sqrt) del error cuadrático medio (calculado utilizando el test y las predicciones).
  3. Visualice los resultados: muestre los valores de test en la primera llamada a la función .plot() y los valores de predictions en la segunda llamada.

*Tenga en cuenta que el código puede tardar mucho tiempo en completarse.

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

El último modelo que examinaremos es la media móvil autorregresiva integrada. Este modelo combina la autorregresión, la media móvil y la técnica de diferenciación (no es el modelo del que hemos hablado antes). Se presenta de la siguiente manera:

Puede parecer bastante complicado, pero en realidad, mira, AR - es un modelo autorregresivo con el que ya estás familiarizado, MA - es una media móvil, lo que implica una combinación lineal de errores de la previsión pasada.

ARIMA utiliza 3 parámetros que debemos elegir nosotros mismos (p, d, q):

P - se denomina orden de autoregresión. Es el número de valores inmediatamente anteriores de la serie que se utilizan para predecir el valor en el momento actual;

D - orden de diferenciación;

Q - el orden de la media móvil. Permite establecer el error del modelo como una combinación lineal de los valores de error observados anteriormente.

Nota

En los próximos capítulos estudiaremos con más detalle las técnicas de diferenciación.

¿Cuál es la ventaja de este modelo? Puede predecir procesos no estacionarios simples (más concretamente, procesos en los que la media y la covarianza cambian con el tiempo) y es más eficaz cuando se trabaja con predicciones a corto plazo.

Vamos a crear un modelo ARIMA utilizando statsmodels, para ello utilizaremos la clase ARIMA():

``python from statsmodels.tsa.arima.model import ARIMA from sklearn.metrics import error_medio_cuadrado from math import sqrt

X = df.valores tamaño = int(len(X) * 0.6) tren, prueba = X[0:tamaño], X[tamaño:] historial = entrenar.tolist() predicciones = list()

Realización de predicciones con el modelo ARIMA

for t in range(len(test)): model = ARIMA(history, order=(5, 1, 0)) model_fit = model.fit() salida = model_fit.predicción() predicciones.append(salida[0]) history.append(prueba[t])

Calcular el error MSE

rmse = sqrt(error_medio_cuadrado(prueba, predicciones)) print("RMSE de la prueba: %.3f" % rmse)

Representar los resultados

plt.plot(prueba) plt.plot(predicciones, color="rojo") plt.show()

Los resultados:

Básicamente, utilizará 2 funciones: .forecast() y .predict() La primera función es para predicciones fuera del conjunto de datos (por eso usamos un bucle en el ejemplo anterior), mientras que la función .predict() se usa para predicciones dentro del conjunto de datos.

Además, puede experimentar con los parámetros p, q y d para obtener los mejores resultados. Pero incluso con estos parámetros, puede ver que el modelo sigue bien las tendencias principales.

**El código puede tardar hasta 1 minuto en procesarse.

Tarea
test

Swipe to show code editor

Cree un modelo ARIMA y entrénelo en el conjunto de datos pr_air_quality.csv.

  1. Dentro del bucle for, cree un modelo ARIMA utilizando los datos history y asígnelo a la variable model. A continuación, ajuste el model a los datos y guárdelo como model_fit. A continuación, haga previsiones utilizando el model_fit ajustado.
  2. Calcule el RMSE: tome la raíz cuadrada (sqrt) del error cuadrático medio (calculado utilizando el test y las predicciones).
  3. Visualice los resultados: muestre los valores de test en la primera llamada a la función .plot() y los valores de predictions en la segunda llamada.

*Tenga en cuenta que el código puede tardar mucho tiempo en completarse.

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
Sección 4. Capítulo 4
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
We're sorry to hear that something went wrong. What happened?
some-alt