
Автоматическое извлечение релевантных признаков из временных рядов:
Этот репозиторий содержит Python-пакет TSFRESH. Аббревиатура расшифровывается как
«Извлечение признаков временных рядов на основе масштабируемых проверок гипотез».
Пакет обеспечивает систематическое извлечение признаков временных рядов, объединяя устоявшиеся алгоритмы из статистики, анализа временных рядов, обработки сигналов и нелинейной динамики с надежным алгоритмом отбора признаков. В этом контексте термин временной ряд интерпретируется в самом широком смысле, так что могут быть охарактеризованы любые типы дискретизированных данных или даже последовательности событий.
Специалисты по данным часто тратят большую часть времени либо на очистку данных, либо на создание признаков. Хотя мы не можем изменить первое, второе можно автоматизировать. TSFRESH освобождает ваше время, затрачиваемое на создание признаков, извлекая их автоматически. Таким образом, у вас появляется больше времени на изучение новейших статей по глубокому обучению, чтение Hacker News или создание лучших моделей.
TSFRESH автоматически извлекает сотни признаков из временных рядов. Эти признаки описывают базовые характеристики временного ряда, такие как количество пиков, среднее или максимальное значение, а также более сложные признаки, например статистику симметрии обращения времени.

Полученный набор признаков затем можно использовать для построения статистических моделей или моделей машинного обучения на временных рядах, например, для задач регрессии или классификации.
Временные ряды часто содержат шум, избыточность или нерелевантную информацию. В результате большинство извлеченных признаков окажутся бесполезными для решаемой задачи машинного обучения.
Чтобы избежать извлечения нерелевантных признаков, пакет TSFRESH имеет встроенную процедуру фильтрации. Эта процедура фильтрации оценивает объясняющую силу и важность каждой характеристики для решаемой задачи регрессии или классификации.
Она основана на хорошо развитой теории проверки статистических гипотез и использует процедуру множественной проверки гипотез. В результате процесс фильтрации математически контролирует долю нерелевантных извлеченных признаков.
Пакет TSFRESH описан в следующей статье открытого доступа:
Алгоритм FRESH описан в следующей белой книге:
Модели нормальности имитируют то, как люди обнаруживают аномалии временных рядов:
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.
Систематическое извлечение признаков временных рядов работает даже для неконтролируемых задач:
Благодаря тому, что tsfresh по сути предоставляет извлечение признаков временных рядов бесплатно, вы можете сосредоточиться на создании новых временных рядов, например, на разностях сигналов от синхронных измерений, которые дают еще более качественные признаки временных рядов:
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.
Систематическая инженерия признаков временных рядов позволяет работать с выборками временных рядов различной длины, поскольку каждый временной ряд проецируется в хорошо определенное пространство признаков. Этот подход позволяет разрабатывать устойчивые алгоритмы машинного обучения в приложениях с пропущенными данными.
Задача классификации временных рядов несбалансирована? Есть большая вероятность, что андерсэмплинг матриц признаков временных рядов может решить вашу проблему:
Вы работаете не с временными рядами, а с 2D- и 3D-изображениями? Последовательности пространственных вариаций (SVS) — отличное применение для 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.
Обработка естественного языка письменных текстов — это пример применения систематической инженерии признаков временных рядов к последовательностям событий, который описан в следующей статье открытого доступа:
У TSFRESH есть несколько достоинств, например
Если вам интересны технические детали, загляните в нашу исчерпывающую документацию Read-The-Docs по адресу http://tsfresh.readthedocs.io.
Алгоритм, особенно часть, связанная с фильтрацией, также описан в упомянутой выше статье.
Мы ценим любой вклад: если вы заинтересованы в том, чтобы помочь нам сделать TSFRESH крупнейшим архивом методов извлечения признаков на Python, просто перейдите к нашим инструкциям How-To-Contribute.
Если вы хотите быстро опробовать tsfresh или интегрировать его в свой рабочий процесс, у нас также есть готовый docker-образ:
docker pull nbraun/tsfresh
Если вам нужно воспроизвести или обновить признаки временных рядов, которые были вычислены с помощью вычислителей признаков matrixprofile, вам необходимо создать окружение Python 3.8:
conda create --name tsfresh__py_3.8 python=3.8
conda activate tsfresh__py_3.8
pip install tsfresh[matrixprofile]
Исследования и разработка TSFRESH частично финансировались Федеральным министерством образования и научных исследований Германии в рамках гранта под номером 01IS14004 (проект iPRODICT).