Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Estacionariedad | Procesamiento de Datos de Series Temporales
Procesamiento Previo de Datos
course content

Contenido del Curso

Procesamiento Previo de Datos

Procesamiento Previo de Datos

1. Introducción Breve
2. Procesamiento de Datos Cuantitativos
3. Procesamiento de Datos Categóricos
4. Procesamiento de Datos de Series Temporales
5. Ingeniería de Características
6. Avanzando a Tareas

bookEstacionariedad

Uno de los pasos principales es el proceso de convertir una serie temporal no estacionaria en estacionaria eliminando la tendencia, la estacionalidad y otros factores que afectan al cambio de las propiedades estadísticas de la serie a lo largo del tiempo. Una serie temporal estacionaria transformada puede ser más predecible y fácil de analizar que una serie no estacionaria. Existen varios métodos para transformar los datos en estacionarios:

Diferenciación

Diferenciación: cálculo de la diferencia entre el valor actual y el valor anterior de la serie temporal. Pero, ¿cómo elegir el orden de diferenciación? Si las primeras diferencias no giran en torno a una media y una varianza constantes, entonces hallamos la segunda diferenciación utilizando los valores de la primera diferenciación. Esto se puede repetir hasta obtener una serie estacionaria.

También puede representar gráficamente la serie diferenciada y comprobar si hay una media y una varianza constantes para determinar si la serie está suficientemente diferenciada o no.

Descomposición

Descomposición - descomponer la serie temporal en sus componentes de tendencia, estacionalidad y ruido aleatorio.

Transformación Box-Cox

La transformación de Box-Cox es un método que generaliza la transformación del logaritmo natural y convierte los datos no normales en una distribución más normal.

Eliminación de valores atípicos

Eliminación de valores atípicos: método que elimina los valores atípicos de las series temporales no estacionarias, lo que ayuda a mejorar su estacionariedad.

En el siguiente ejemplo, consideraremos cómo implementar la transformación de datos en datos estacionarios utilizando el método de descomposición:

1234567891011121314151617181920212223
import pandas as pd import numpy as np from statsmodels.tsa.seasonal import seasonal_decompose from statsmodels.tsa.stattools import adfuller # Read the dataset dataset = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/9c23bf60-276c-4989-a9d7-3091716b4507/datasets/df_diamond_data.csv', index_col=0, parse_dates=True) # Time series decomposition result = seasonal_decompose(dataset['diamond price'], model='additive', period=365) # Dickey-Fuller test result = adfuller(result.resid.dropna()) print(f'ADF Statistic: {result[0]:.3f}') print(f'p-value: {result[1]:.3f}') # Differencing dataset_diff = dataset['diamond price'].diff().dropna() # Dickey-Fuller test result = adfuller(dataset_diff) print(f'ADF Statistic: {result[0]:.3f}') print(f'p-value: {result[1]:.3f}')
copy

Puede ver los gráficos a continuación. El primero corresponde al conjunto de datos original y el segundo, a la aplicación del método de diferenciación.

¿Cuál de los siguientes métodos puede utilizarse para convertir una serie temporal no estacionaria en estacionaria?

¿Cuál de los siguientes métodos puede utilizarse para convertir una serie temporal no estacionaria en estacionaria?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 3
some-alt