¿Qué es una tendencia en series de tiempo?

Los datos de series temporales son una secuencia de puntos de datos que miden alguna variable durante un período de tiempo ordenado. Es la categoría de bases de datos de más rápido crecimiento, ya que se usa ampliamente en una variedad de industrias para comprender y pronosticar patrones de datos. Por lo tanto, al preparar estos datos de series temporales para el modelado, es importante verificar los componentes o patrones de las series temporales. Uno de estos componentes es Trend. 

La tendencia es un patrón en los datos que muestra el movimiento de una serie a valores relativamente más altos o más bajos durante un largo período de tiempo. En otras palabras, se observa una tendencia cuando hay una pendiente creciente o decreciente en la serie de tiempo. La tendencia suele ocurrir durante algún tiempo y luego desaparece, no se repite. Por ejemplo, llega alguna canción nueva, se vuelve tendencia por un tiempo y luego desaparece. Hay bastante posibilidad de que vuelva a ser tendencia.

Una tendencia podría ser:

  • Tendencia alcista: el análisis de series temporales muestra un patrón general que es alcista y luego es tendencia alcista.
  • Tendencia bajista: el análisis de series temporales muestra un patrón que es bajista y luego es tendencia bajista.
  • Tendencia horizontal o estacionaria: si no se observa ningún patrón, se denomina tendencia horizontal o estacionaria.

Puede encontrar tendencias en los datos simplemente visualizándolos o descomponiéndolos.

Visualización

Simplemente trazando el conjunto de datos, puede ver la tendencia general en los datos

Acercarse :  

  • Módulo de importación
  • Cargar conjunto de datos
  • Enviar columna de mes a objeto de fecha y hora
  • Establecer mes como índice
  • Crear parcela

Nota: En los ejemplos que se dan a continuación, se utiliza el mismo código para mostrar las tres tendencias, solo que el conjunto de datos utilizado es diferente para reflejar esa tendencia en particular.

Enlace para conjuntos de datos : haga clic aquí

Ejemplo: tendencia alcista 

Python3

# importing the libraries
import pandas as pd
import matplotlib
 
# importing dataset
data = pd.read_csv(r'C:\Users\admin\Downloads\Electric_Production.csv')
 
# casting Month column to datetime object
data['DATE'] = pd.to_datetime(data['DATE'])
 
# Setting Month as index
data = data.set_index('DATE')
 
# Creating the plot
data.plot()

Producción : 

Ejemplo: tendencia bajista

Python3

import pandas as pd
import matplotlib
 
# importing dataset
data = pd.read_csv(r'C:\Users\admin\Downloads\AlcoholSale.csv')
 
# casting Date column to datetime object
data['DATE'] = pd.to_datetime(data['DATE'])
 
# Setting Date column as index
data = data.set_index('DATE')
 
# Creating the plot
data.plot()

Producción : 

Ejemplo: tendencia horizontal

Python3

# importing the libraries
import pandas as pd
import matplotlib
 
# importing dataset
data = pd.read_csv(
    r'C:\Users\admin\Downloads\monthly-beer-production-in-austr.csv')
 
# casting Month column to datetime object
data['Month'] = pd.to_datetime(data['Month'])
 
# Setting Month as index
data = data.set_index('Month')
 
# Creating the plot
data['1984':'1994'].plot()

Producción : 

Descomposición

Para ver la complejidad detrás de la visualización lineal, podemos descomponer los datos. La función llamada season_decompose dentro del paquete statsmodels puede ayudarnos a descomponer los datos en sus componentes/mostrar patrones: tendencia, estacionalidad y componentes residuales de series de tiempo. Aquí solo estamos interesados ​​en el componente de tendencia, por lo que accederemos a él mediante season_decompose().trend .

La función de descomposición estacional utiliza el método de promedios móviles para estimar la tendencia.

Sintaxis: 

statsmodels.tsa.seasonal.seasonal_decompose(x, model=’aditivo’, period=Ninguno, extrapolate_trend=0)

Parámetros importantes: 

  • x : tipo array. Series de tiempo. Si es 2d, las series individuales están en columnas. x debe contener 2 ciclos completos.
  • modelo: {“aditivo”, “multiplicativo”}, opcional (Depende de la naturaleza del componente estacional)
  • período (frecuencia): int, opcional. Debe usarse si x no es un objeto panda o si el índice de x no tiene una frecuencia.

Devoluciones: un objeto con atributos de temporada, tendencia y residencia.

Ejemplo : 

Python3

# importing function
from statsmodels.tsa.seasonal import seasonal_decompose
 
# creating trend object by assuming multiplicative model
output = seasonal_decompose(data, model='multiplicative').trend
 
# creating plot
output.plot()

Producción : 

Publicación traducida automáticamente

Artículo escrito por tejalkadam18m y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *