
Extracción automática de características relevantes de series temporales:
Este repositorio contiene el paquete de Python TSFRESH. La abreviatura significa
"Extracción de características de series temporales basada en pruebas de hipótesis escalables".
El paquete proporciona una extracción sistemática de características de series temporales al combinar algoritmos establecidos de estadística, análisis de series temporales, procesamiento de señales y dinámica no lineal con un algoritmo robusto de selección de características. En este contexto, el término serie temporal se interpreta en el sentido más amplio posible, de modo que cualquier tipo de datos muestreados o incluso secuencias de eventos pueden ser caracterizados.
Los científicos de datos suelen pasar la mayor parte de su tiempo limpiando datos o construyendo características. Aunque no podemos cambiar lo primero, lo segundo se puede automatizar. TSFRESH libera el tiempo que dedicas a construir características al extraerlas automáticamente. Por lo tanto, tienes más tiempo para estudiar el artículo más reciente sobre deep learning, leer Hacker News o construir mejores modelos.
TSFRESH extrae automáticamente cientos de características de series temporales. Estas características describen propiedades básicas de la serie temporal, como el número de picos, el valor medio o máximo, o características más complejas, como la estadística de simetría de inversión temporal.

El conjunto de características puede utilizarse después para construir modelos estadísticos o de aprendizaje automático sobre las series temporales, por ejemplo, en tareas de regresión o clasificación.
Las series temporales suelen contener ruido, redundancias o información irrelevante. Como resultado, la mayoría de las características extraídas no serán útiles para la tarea de aprendizaje automático en cuestión.
Para evitar extraer características irrelevantes, el paquete TSFRESH dispone de un procedimiento de filtrado integrado. Este procedimiento de filtrado evalúa el poder explicativo y la importancia de cada característica para las tareas de regresión o clasificación en cuestión.
Se basa en la teoría bien desarrollada de los contrastes de hipótesis y utiliza un procedimiento de pruebas múltiples. Como resultado, el proceso de filtrado controla matemáticamente el porcentaje de características irrelevantes extraídas.
El paquete TSFRESH se describe en el siguiente artículo de acceso abierto:
El algoritmo FRESH se describe en el siguiente documento técnico:
Los modelos de normalidad simulan cómo los humanos detectan anomalías en las series temporales:
Teh, H.Y., Wang, K.I-K., Kempa-Liehr, A.W. (2021). Expect the Unexpected: Unsupervised feature selection for automated sensor anomaly detection. IEEE Sensors Journal 15.16, p. 18033-18046, doi: 10.1109/JSEN.2021.3084970.
Teh, H.Y., Wang, K.I-K., Kempa-Liehr, A.W. (2025). Feature-based normality models for anomaly detection. Sensors 25.4757, p. 1-25, doi: 10.3390/s25154757.
La extracción sistemática de características de series temporales también funciona para problemas no supervisados:
Debido a que tsfresh básicamente realiza la extracción de características de series temporales sin esfuerzo, ahora puedes concentrarte en la ingeniería de nuevas series temporales, como, por ejemplo, diferencias de señales de mediciones síncronas, que proporcionan características de series temporales aún mejores:
Kempa-Liehr, A.W., Oram, J., Wong, A., Finch, M., Besier, T. (2020). Feature engineering workflow for activity recognition from synchronized inertial measurement units. In: Pattern Recognition. ACPR 2019. Ed. by M. Cree et al. Vol. 1180. Communications in Computer and Information Science (CCIS). Singapore: Springer, p. 223–231. doi: 10.1007/978-981-15-3651-9_20.
Simmons, S., Jarvis, L., Dempsey, D., Kempa-Liehr, A.W. (2021). Data Mining on Extremely Long Time-Series. In: 2021 International Conference on Data Mining Workshops (ICDMW). Ed. by B. Xue et al. Los Alamitos: IEEE, p. 1057-1066. doi: 10.1109/ICDMW53433.2021.00137.
La ingeniería sistemática de características de series temporales permite trabajar con muestras de series temporales de diferente longitud, porque cada serie temporal se proyecta en un espacio de características bien definido. Este enfoque permite el diseño de algoritmos de aprendizaje automático robustos en aplicaciones con datos faltantes.
¿Tu problema de clasificación de series temporales está desequilibrado? Hay una buena probabilidad de que el submuestreo de las matrices de características de series temporales pueda resolver tu problema:
¿No trabajas con series temporales, sino con imágenes 2D y 3D? Las secuencias de variación espacial (SVS, por sus siglas en inglés) son una excelente aplicación para tsfresh:
Jeune, H., Pechan, N., Reitsma, S., Kempa-Liehr, A.W. (2021). Spatial Variation Sequences for Remote Sensing Applications with Small Sample Sizes. In: 2024 Image and Video Technology. 11th Pacific-Rim Symposium, Ed. by W.Q. Yan et al., Lecture Notes in Computer Science (14403). Springer Nature: Singapore, p. 153-166. doi: {10.1007/978-981-97-0376-0_12.
Koptev, I., Tian, J., Peel, E., Parker, R., Walker, C., Kempa-Liehr, A.W. (2025). Interpretable Dimensionality Reduction in 3D Image Recognition with Small Sample Sizes. Journal of Nondestructive Evaluation 44.44, p. 1-12, doi: 10.1007/s10921-025-01183-z.
El procesamiento del lenguaje natural de textos escritos es un ejemplo de aplicación de la ingeniería sistemática de características de series temporales a secuencias de eventos, que se describe en el siguiente artículo de acceso abierto:
TSFRESH tiene varios puntos a su favor, por ejemplo
Si estás interesado en el funcionamiento técnico, consulta nuestra exhaustiva documentación de Read-The-Docs en http://tsfresh.readthedocs.io.
El algoritmo, especialmente la parte de filtrado, también se describe en el artículo mencionado anteriormente.
Agradecemos cualquier contribución; si estás interesado en ayudarnos a convertir TSFRESH en el mayor archivo de métodos de extracción de características en Python, dirígete a nuestras instrucciones de Cómo contribuir.
Si quieres probar tsfresh rápidamente o integrarlo en tu flujo de trabajo, también tenemos una imagen de Docker disponible:
docker pull nbraun/tsfresh
Si necesitas reproducir o actualizar características de series temporales calculadas con los calculadores de características matrixprofile, necesitas crear un entorno de Python 3.8:
conda create --name tsfresh__py_3.8 python=3.8
conda activate tsfresh__py_3.8
pip install tsfresh[matrixprofile]
La investigación y el desarrollo de TSFRESH fueron financiados en parte por el Ministerio Federal de Educación e Investigación de Alemania bajo el número de subvención 01IS14004 (proyecto iPRODICT).