0 / 0
Volver a la versión inglesa de la documentación
Funciones clave de series temporales
Última actualización: 05 jul 2024
Funciones clave de series temporales

La biblioteca de series temporales proporciona varias funciones univariante, multivariante, series temporales de múltiples claves así como tipos numéricos y categóricos.

La funcionalidad que proporciona la biblioteca puede clasificarse a grandes rasgos en:

  • E/S de serie temporal, para crear y guardar datos de series temporales
  • Funciones de series temporales, transformaciones, sistema de ventanas o segmentación y reductores
  • SQL de series temporales y extensiones de SQL en Spark para permitir ejecutar funciones de series temporales escalables

En las secciones siguientes mediante ejemplos, se muestra parte de la funcionalidad clave

E/S de serie temporal

La funcionalidad de entrada y salida (E/S) principal para una serie temporal es mediante un pandas DataFrame o una lista Python. En el código de ejemplo siguiente se muestra cómo construir una serie temporal a partir de un DataFrame:

>>> import numpy as np
>>> import pandas as pd
>>> data = np.array([['', 'key', 'timestamp', "value"],['', "a", 1, 27], ['', "b", 3, 4], ['', "a", 5, 17], ['', "a", 3, 7], ['', "b", 2, 45]])
>>> df = pd.DataFrame(data=data[1:, 1:], index=data[1:, 0], columns=data[0, 1:]).astype(dtype={'key': 'object', 'timestamp': 'int64', 'value': 'float64'})
>>> df
key  timestamp  value
  a          1   27.0
  b          3    4.0
  a          5   17.0
  a          3    7.0
  b          2   45.0

#Create a timeseries from a dataframe, providing a timestamp and a value column
>>> ts = tspy.time_series(df, ts_column="timestamp", value_column="value")
>>> ts
TimeStamp: 1     Value: 27.0
TimeStamp: 2     Value: 45.0
TimeStamp: 3     Value: 4.0
TimeStamp: 3     Value: 7.0
TimeStamp: 5     Value: 17.0

Para volver de una serie temporal a un DataFrame pandas, utilice la función to_df:

>>> import tspy
>>> ts_orig = tspy.time_series([1.0, 2.0, 3.0])
>>> ts_orig
TimeStamp: 0     Value: 1
TimeStamp: 1     Value: 2
TimeStamp: 2     Value: 3

>>> df = ts_orig.to_df()
>>> df
   timestamp  value
0          0      1
1          1      2
2          2      3

Modelo de datos

Los datos de serie temporal no tienen ningún estándar para el modelo y los tipos de datos, a diferencia de algunos tipos de datos como los espaciales, que se rigen por un estándar como Open Geospatial Consortium (OGC). El reto con los datos de serie temporal es la gran variedad de funciones que se deben soportar, similar a la de los conjuntos distribuidos y flexibles de datos Spark (RDD).

El modelo de datos permite una gran variedad de operaciones que abarcan diferentes formas de segmentación o de sistema de ventanas de las series temporales, transformaciones o conversiones de una serie temporal a otra, reductores que calculan un valor estático a partir de una serie temporal, uniones que unen varias series temporales y recopiladores de series temporales de diferentes zonas horarias. La biblioteca de series temporales permite la incorporación de nuevas funciones, manteniendo inalterable la estructura de datos central. La biblioteca también soporta series temporales con tipos numéricos y categóricos.

Con husos horarios y varios formatos legibles, un aspecto clave del modelo de datos es la compatibilidad con el Sistema de referencia de tiempo (SRH). Cada serie temporal está asociada a un TRS (valor predeterminado del sistema), que puede reasignarse a cualquier elección específica del usuario en cualquier momento, lo que permite una fácil transformación de una serie temporal específica o de un segmento de una serie temporal. Consulte Utilización del sistema de referencia de tiempo.

Además, con la necesidad de manejar series temporales a gran escala, la biblioteca ofrece una construcción de evaluación diferida al proporcionar un mecanismo para identificar la máxima dependencia temporal acotada. Esta construcción es muy similar a la de un gráfico de cálculo de Spark, que también carga los datos en la memoria en función de las necesidades y realiza los cálculos sólo cuando se necesitan.

Tipos de datos de series temporales

Puede utilizar múltiples tipos de datos como elemento de una serie temporal, que abarcan estructuras de datos numéricas, categóricas, de matriz y de diccionario.

En una serie temporal, se da soporte a los tipos de datos siguientes:

Tipo de datos Descripción
numérico Serie temporal con observaciones univariadas de tipo numérico incluidos doble y entero. Por ejemplo:[(1, 7.2), (3, 4.5), (5, 4.5), (5, 4.6), (5, 7.1), (7, 3.9), (9, 1.1)]
matriz numérica Serie temporal con observaciones multivariadas de tipo numérico, incluidos matriz doble y matriz de entero. Por ejemplo: [(1, [7.2, 8.74]), (3, [4.5, 9.44]), (5, [4.5, 10.12]), (5, [4.6, 12.91]), (5, [7.1, 9.90]), (7, [3.9, 3.76])]
serie Series temporales con observaciones de una sola variable de tipo serie, por ejemplo: [(1, "a"), (3, "b"), (5, "c"), (5, "d"), (5, "e"), (7, "f"), (9, "g")]
matriz de series Serie temporal con observaciones multivariantes de matriz de tipo serie, por ejemplo: [(1, ["a", "xq"]), (3, ["b", "zr"]), (5, ["c", "ms"]), (5, ["d", "rt"]), (5, ["e", "wu"]), (7, ["f", "vv"]), (9, ["g", "zw"])]
Segmento Series temporales de segmentos. La salida de la función segmentBy puede ser de cualquier tipo, incluido numérico, serie, matriz numérica y matriz de series. Por ejemplo: [(1,[(1, 7.2), (3, 4.5)]), (5,[(5, 4.5), (5, 4.6), (5, 7.1)]), (7,[(7, 3.9), (9, 1.1)])]
diccionario Series temporales de diccionarios. Un diccionario puede tener tipos arbitrarios en él

Funciones de series temporales

Puede utilizar diferentes funciones de los paquetes de series temporales proporcionados para analizar los datos de series temporales con objeto de extraer información significativa con la que crear modelos que puedan utilizarse para predecir nuevos valores basados en valores observados previamente. Consulte Funciones de serie temporal.

Más información

Para utilizar el SDK tspy de Python, consulte la Documentación del SDK tspy de Python.

Tema principal: Análisis de series temporales

Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información