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