Как выявить закономерности и аномалии в больших цепочках данных, упорядоченных по времени? Невооруженный человеческий глаз бессилен, но алгоритмы, разработанные в ВШЭКН ЮУрГУ, быстро справляются с такими задачами
Время покажет законы
Сегодня мы живем в эпоху Больших данных, объем которых непрерывно увеличивается, а сами данные имеют разнообразную природу: текст, аудио и видео, числа и др. Однако наиболее часто те данные, которые мы производим и видим вокруг себя, принимают форму временного ряда. Временной ряд – это последовательность числовых значений, с каждым из которых связана отметка времени. Временные ряды возникают как в нашей обычной жизни, так и в науке и производстве, вот лишь несколько примеров. Временные ряды курсов валют или акций. Температура и влажность воздуха, сила и направление ветра, измеряемые ежечасно – временные ряды. Электрокардиограмма, снимаемая со скоростью 25 мм/сек – временной ряд. Потребление электричества, которое в квартире измеряется ежемесячно, а на электростанции может измеряться ежечасно – тоже временные ряды. В цифровой индустрии – временные ряды показаний датчиков вибродиагностики, устанавливаемых на подшипниках прокатного стана металлургического предприятия. Цепочка ДНК также может рассматриваться как временной ряд.
Временные ряды, как и прочие данные, нужно уметь анализировать, чтобы получать из них знания и принимать решения на основе полученных знаний. Давайте перечислим типичные задачи анализа временных рядов. Начнем с простого: поиск во временном ряде аномалий, т.е. чего-то такого, что не похоже на все остальное. При этом мы не обращаем внимания на точки ряда, которые представляют собой «пики» и «впадины», т.к. их можно найти с помощью обычных статистических методов. Нас интересуют подпоследовательности (промежутки) ряда, в которых каждая точка ряда, возможно, не является аномалией, но все вместе они демонстрируют поведение, которое существенно отклоняется от нормы. Решение задачи поиска аномалий широко востребовано независимо от предметной области временных рядов. Поиск аномалий в ЭКГ, которые могут свидетельствовать о сбоях сердечного ритма. Аномалии показаниях датчиков вибродиагностики подшипника укажут на проблемы в его техническом состоянии. Другая задача – поиск мотивов временного ряда. Мотив (или лейтмотив) – это пара наиболее похожих друг на друга подпоследовательностей ряда, одна из которых находится в прошлом, а другая – в будущем. По сути, мотив – это поведенческое правило, которое показывает, что если нечто произошло в прошлом, то что-то подобное произойдет и в будущем. Знание мотивов может помочь организовать эффективное энергопотребление организации или предприятия, например, вычислительного центра. Еще одна интересная задача – поиск поведенческих шаблонов. Представим такую ситуацию: человек тренируется в спортзале, и на нем надет виброакселерометр – прибор, который ежесекундно фиксирует изменение положения объекта по трем осям пространства (сейчас подобный датчик присутствует во многих смартфонах). Зная, сколько различных видов упражнений выполнялось испытуемым (например, три: бег, ходьба, приседания), требуется во временном ряде найти точки смены соответствующих активностей и, таким образом, разметить исходный ряд. Подобную задачу можно решать в приложениях цифровой индустрии, например, для временного ряда показаний датчика вибродиагностики, установленного на подшипнике: роль «упражнений» будут играть различные режимы работы агрегата, составной частью которого является подшипник. Следующая задача – восстановление пропущенных значений временного ряда. Датчики вибродиагностики, упомянутые выше, могут выходить из строя, поскольку штатно работают в агрессивной внешней среде. Требуется алгоритм, который в исходном ряде заменит пропуски на правдоподобные синтетические значения. Очень похожая задача – прогноз временного ряда, когда нам нужно правдоподобно «восстановить» будущие значения заданного временного ряда. Как поется в известной песне, люди всегда желают знать, что будет, поэтому прогноз применяется во многих предметных областях, начиная с временных рядов температуры воздуха и курсов валют, и завершая рядами показаний разного рода диагностических датчиков в задачах цифровой индустрии.
Сейчас в научно-исследовательскую группу, помимо ее руководителя, д.ф.-м.н. Михаила Цымблера, входят три его аспиранта. Яна Краева занимается проблематикой поиска аномалий, она аспирант последнего года обучения, обладатель стипендий Президента РФ и Заксобрания Челябинской области, и уже вышла на досрочную защиту своей диссертации. У Андрея Гоглачева и Алексея Юртина заканчивается второй год аспирантуры, они занимаются исследованиями по темам поиска шаблонов и восстановления пропущенных значений во временных рядах соответственно; Андрей побеждал в конкурсе «Молодая наука ЮУрГУ», Алексей выигрывал грант по программе «УМНИК». Вместе команда исследователей победила в конкурсе грантов Российского научного фонда (проект 23-21-00465), имеются публикации в престижных научных журналах.
Параллели и нейросети
Научные разработки группы для решения задач анализа временных рядов можно разделить на два вида: это параллельные алгоритмы и нейросетевые модели. Параллельный алгоритм нужен, когда анализируемый ряд уже был собран для обработки и доступен весь целиком. Нейросетевая модель требуется, когда данные временного ряда поступают для обработки равными небольшими порциями в режиме реального времени. Параллельный алгоритм не нуждается в предварительных знаниях о предметной области и, используя элементарную математику, обеспечивает вычисление точного ответа на ядрах центрального или графического процессоров, либо высокопроизводительного кластера, если временной ряд не может быть размещен целиком в оперативной памяти одного компьютера. Математика здесь помогает формализовать те понятия, которые неточно определяются в постановке задачи. Например, аномальную подпоследовательность временного ряда можно определить как ту, у которой самый непохожий на нее ближайший сосед, где ближайший сосед – это подпоследовательность ряда, наиболее похожая на данную. Схожесть подпоследовательностей вычисляется как привычное нам евклидово расстояние между ними: чем оно меньше, тем больше схожесть. Параллелизм означает грамотное распределение порций данных для обработки между вычислителями – ядрами процессора и узлами суперкомпьютерного кластера – и эффективное управление этими вычислителями. Параллельная обработка помогает существенно сократить время решения задачи, которое занимает, например, несколько минут вместо нескольких часов. Нейросетевая модель, напротив, требует размеченных данных для своего обучения, но способна давать отклик в течение секунд. Используя разметку ряда, нейросеть «учится» на примерах, как решать задачу, а затем обрабатывать данные, которые «не видела» при обучении. Кстати, разработанные нами параллельные алгоритмы поиска поведенческих шаблонов позволяют получить размеченные данные для обучения нейросетевых моделей анализа временных рядов практически без участия эксперта – получается своеобразный «замкнутый круг».
Математика приходит на завод
Параллельные алгоритмы и нейросетевые модели анализа временных рядов, разработанные группой, применяются для решения реальных практических задач, вот самые показательные примеры. Первый пример – программная система для прогноза остаточного ресурса подшипников стана сортовой прокатки. Этот проект выполнялся в рамках программы развития ЮУрГУ «Приоритет 2030» совместно с командой д.т.н. Дмитрия Шнайдера, которая занималась изготовлением датчиков вибродиагностики, сбором и первичной обработкой временных рядов показаний, снятых с датчиков. Наша команда разработала программную систему, которая анализирует эти временные ряды совместно с данными, полученными из информационных систем предприятия. Выполняется поиск аномалий, шаблонов, восстановление пропусков в данных датчиков, и сопоставление полученных инсайтов с журналом ремонтов оборудования, графиком прокатки сортамента на стане и другими данными. Система обеспечивает нейросетевую модель, выдающую время в часах, оставшееся до предполагаемого сбоя в подшипнике. Удалось достичь точности прогноза 81.6% -- это достаточно высокий показатель. Еще один пример – программная система для предсказания дефектов сварного шва промышленных труб. Представьте, что на агрегате электродуговой сварки установлено около сотни различных датчиков, которые в процессе сварки снимают показания 4 раза в секунду по каждой дуге: сила тока, напряжение, скорость подачи материала и др. Готовую трубу проверяют технологи ОТК – с помощью рентгеновского аппарата и визуально – и фиксируют местоположение дефектов, которые образуются во время сварки, а типов дефектов – десятки: непровар, пережог, свищ, трещина, вкрапление шлака и другое. В итоге образуется массив данных об изготовленных трубах: с одной стороны, это временные ряды показаний датчиков, с другой стороны – локации и виды дефектов, возникших во время сварки (если они были). Наша команда разработала программную систему, которая обеспечивает хранение показаний датчиков в виде упорядоченной базы данных и с помощью нейросетевой модели может предсказывать локацию и тип дефекта сварного шва при выполнении сварки в реальном времени. Разработанная система существенно сокращает ручной труд технологов ОТК. О точности предсказания, которую обеспечивает разработка, может сказать тот факт, что в одном из случаев модель выявила дефект, не зафиксированный ранее технологом при визуальном осмотре, но наличие которого подтвердилось при рентгенографическом исследовании трубы. Есть и разработки не из цифровой индустрии, более близкие к нашей обычной жизни. Например, недавно мы выполняли заказ для одной кредитной организации, где исходным временным рядом были суммы ежедневных займов и в нем требовалось найти аномалии и шаблоны, а также разработать модель краткосрочного прогноза.