Новости и статьи об искусственном интеллекте и нейросетях. Мы собираем и обрабатываем самую актуальную информацию из мира AI. О проекте

Новости

ShaTS: Метод на основе Shapley для моделей временных рядов

ShaTS представляет собой инновационный метод объяснимости моделей временных рядов на основе значений Шэпли, учитывающий временные зависимости через стратегии группировки. Метод повышает эффективность и интерпретируемость по сравнению с традиционными подходами вроде SHAP. Эксперименты на наборе SWaT подтверждают его преимущества в точности и скорости.

17 ноября 2025 г.
9 мин
0

Введение

Методы на основе значений Шэпли относятся к наиболее востребованным инструментам для интерпретации моделей машинного обучения (МО) и глубокого обучения (ГО). Тем не менее, при работе с данными временных рядов эти подходы часто оказываются недостаточно эффективными, поскольку не учитывают временные зависимости, присущие таким наборам данных. В недавней публикации был представлен ShaTS — инновационный метод объяснимости, основанный на значениях Шэпли и специально адаптированный для моделей временных рядов. ShaTS устраняет недостатки традиционных методов Шэпли за счет внедрения стратегий группировки, которые повышают как вычислительную эффективность, так и степень интерпретируемости.

Значения Шэпли: Основы

Значения Шэпли берут начало в теории кооперативных игр и предназначены для справедливого распределения общего выигрыша между участниками в зависимости от их вклада в совместную деятельность. Значение Шэпли для конкретного участника вычисляется путем анализа всех возможных коалиций участников и определения предельного вклада этого участника в каждую коалицию.

Формально значение Шэпли φ_i для участника i выражается как:

\[ \varphi_i(v) = \sum_{S \subseteq N \setminus \{i\}}
\frac{|S|! (|N| – |S| – 1)!}{|N|!} (v(S \cup \{i\}) – v(S)) \]

где:

  • N — множество всех участников.
  • S — коалиция участников, не включающая i.
  • v(S) — функция ценности, которая присваивает значение каждой коалиции (то есть общий выигрыш, достижимый коалицией S).

Эта формула усредняет предельные вклады участника i по всем возможным коалициям с учетом вероятности формирования каждой из них.

От теории игр к объяснимому ИИ: Значения Шэпли в машинном обучении

В рамках объяснимого искусственного интеллекта (xAI) значения Шэпли используются для распределения вклада модели по входным признакам. Это особенно ценно для понимания сложных моделей, таких как глубокие нейронные сети, где связь между входом и выходом не всегда очевидна.

Методы на основе Шэпли могут быть вычислительно затратными, особенно при росте количества признаков, поскольку число возможных коалиций увеличивается экспоненциально. Однако аппроксимационные техники, в частности реализованные в популярной библиотеке SHAP, сделали их применимыми на практике. Эти техники оценивают значения Шэпли путем выборки подмножества коалиций вместо анализа всех комбинаций, что существенно снижает вычислительную нагрузку.

Рассмотрим промышленный сценарий с тремя компонентами: резервуаром для воды, термометром и двигателем. Предположим, имеется модель обнаружения аномалий (ДОА) на основе МО/ГО, которая выявляет вредоносную активность по показаниям этих компонентов. С помощью SHAP можно определить вклад каждого компонента в предсказание модели относительно вредоносности или безвредности активности.

Интеграция SHAP в сценарий промышленного обнаружения аномалий
Интеграция SHAP в сценарий промышленного обнаружения аномалий. Изображение создано авторами.

В более реалистичных условиях модель использует не только текущие показания каждого датчика, но и предыдущие (временное окно) для формирования предсказаний. Такой подход позволяет модели улавливать временные паттерны и тенденции, повышая ее эффективность. Применение SHAP в этом случае для распределения ответственности по физическим компонентам усложняется, поскольку исчезает однозначное соответствие между признаками и датчиками. Каждый датчик теперь вносит несколько признаков, связанных с разными временными шагами. Обычный метод здесь — расчет значения Шэпли для каждого признака на каждом временном шаге с последующей агрегацией этих значений постфактум.

Интеграция SHAP в сценарий промышленного обнаружения аномалий с окнами данных датчиков и постфактум агрегацией
Интеграция SHAP в сценарий промышленного обнаружения аномалий с окнами данных датчиков и постфактум агрегацией. Изображение создано авторами.

Этот подход имеет два основных недостатка:

  • Вычислительная сложность: Затраты растут экспоненциально с увеличением числа признаков, что делает метод непрактичным для больших наборов данных временных рядов.
  • Игнорирование временных зависимостей: Объяснители SHAP предназначены для табличных данных без временных зависимостей. Постфактум агрегация может приводить к неточным объяснениям, поскольку не учитывает временные связи между признаками.

Подход ShaTS: Группировка перед расчетом важности

В рамках Шэпли-фреймворка ценность участника определяется исключительно сравнением производительности коалиции с ним и без него. Хотя метод определен для индивидуального уровня, ничто не мешает применять его к группам участников вместо отдельных индивидов. Таким образом, если множество участников N разделено на p групп G = {G_1, … , G_p}, можно вычислить значение Шэпли для каждой группы G_i, оценивая предельный вклад всей группы во все возможные коалиции остальных групп. Формально значение Шэпли для группы G_i можно записать как:

\[ \varphi(G_i) = \sum_{T \subseteq G \setminus G_i} \frac{|T|! (|G| – |T| – 1)!}{|G|!} \left( v(T \cup G_i) – v(T) \right) \]

где:

  • G — множество всех групп.
  • T — коалиция групп, не включающая G_i.
  • v(T) — функция ценности, присваивающая значение каждой коалиции групп.

Основываясь на этой концепции, ShaTS работает с временными окнами и предлагает три различных уровня группировки в зависимости от цели объяснения:

Временная

Каждая группа содержит все измерения, зафиксированные в конкретный момент внутри временного окна. Эта стратегия помогает выявлять ключевые моменты, существенно влияющие на предсказание модели.

Пример стратегии временной группировки
Пример стратегии временной группировки. Изображение создано авторами.

По признакам

Каждая группа представляет измерения отдельного признака за период временного окна. Эта стратегия позволяет выделить влияние конкретных признаков на решения модели.

Пример стратегии группировки по признакам
Пример стратегии группировки по признакам. Изображение создано авторами.

Многофакторная

Каждая группа объединяет измерения за временное окно признаков, имеющих логическую связь или представляющих coherentную функциональную единицу. Этот подход анализирует коллективное влияние взаимосвязанных признаков, обеспечивая учет их совместного эффекта.

Пример стратегии многофакторной группировки
Пример стратегии многофакторной группировки. Изображение создано авторами.

После определения групп значения Шэпли рассчитываются аналогично индивидуальному случаю, но с использованием предельных вкладов на уровне групп вместо отдельных признаков.

Обзор методологии ShaTS
Обзор методологии ShaTS. Изображение создано авторами.

Специализированная визуализация ShaTS

ShaTS включает визуализацию, адаптированную специально для последовательных данных и трех стратегий группировки. По горизонтальной оси отображаются последовательные окна. Левая вертикальная ось перечисляет группы, а правая — накладывает оценку аномалии модели для каждого окна. Каждая ячейка тепловой карты в позиции (i, G_j) отражает важность группы G_j для окна i. Более теплые красные тона указывают на сильный положительный вклад в аномалию, более холодные синие — на сильный отрицательный вклад, а близкий к белому цвет означает незначительное влияние. Пунктирная фиолетовая линия отслеживает оценку аномалии по окнам, а горизонтальная пунктирная линия на уровне 0.5 обозначает порог решения между аномальными и нормальными окнами.

Для иллюстрации представьте модель, обрабатывающую окна длиной 10, сформированные из трех признаков X, Y и Z. Когда оператор получает оповещение и желает выяснить, какой сигнал его вызвал, он изучает результаты группировки по признакам. На рисунке в окнах 10–11 оценка аномалии превышает порог, а атрибуция для X усиливается. Этот шаблон свидетельствует, что решение в основном определяется X.

Визуализация ShaTS для стратегии по признакам
Визуализация ShaTS для стратегии по признакам. Изображение сгенерировано библиотекой ShaTS.

Если следующий вопрос касается момента внутри окна, когда возникает аномалия, оператор переключается на вид временной группировки. Следующий рисунок демонстрирует, что финальный момент каждого окна (t_9) последовательно несет наибольший положительный вклад, раскрывая, что модель научилась полагаться на последний временной шаг для классификации окна как аномального.

Визуализация ShaTS для временной стратегии
Визуализация ShaTS для временной стратегии. Левая ось y перечисляет временные слоты окна от t_0 (самый ранний) до t_9 (самый поздний). Изображение сгенерировано библиотекой ShaTS.

Экспериментальные результаты: Тестирование ShaTS на наборе данных SWaT

В недавней публикации ShaTS был проверен на тестовой площадке Secure Water Treatment (SWaT) — промышленном объекте по обработке воды с 51 датчиком/актуатором, организованными в шесть стадий завода (P1–P6). В качестве детектора использовалась стековая Bi-LSTM, обученная на окнах сигналов, и ShaTS сравнивался с постфактум KernelSHAP по трем аспектам: временному (какой момент в окне важен), по датчикам/актуаторам (какое устройство) и по процессам (какая из шести стадий).

По всем атакам ShaTS давал четкие, интерпретируемые полосы, точно указывающие на истинный источник — вплоть до датчика/актуатора или стадии завода, — в то время как постфактум SHAP склонен был распределять важность по многим группам, затрудняя анализ корневой причины. ShaTS также оказался быстрее и масштабируемее: группировка уменьшает множество участников, резко сокращая пространство коалиций; время выполнения остается почти постоянным при росте длины окна, поскольку число групп не меняется; а выполнение на GPU дополнительно ускоряет метод, делая его пригодным для почти реального времени.

Практический пример: Интеграция ShaTS в рабочий процесс

Это руководство демонстрирует, как встроить ShaTS в типичный рабочий процесс на Python: импортировать библиотеку, выбрать стратегию группировки, инициализировать объяснитель с обученной моделью и фоновыми данными, вычислить значения Шэпли по группам на тестовом наборе и визуализировать результаты. Пример предполагает модель временных рядов на PyTorch и данные в формате окон (например, форма [длина_окна, n_признаков] на образец).

1. Импорт ShaTS и настройка объяснителя

В скрипте или ноутбуке Python начните с импорта необходимых компонентов из библиотеки ShaTS. Хотя репозиторий предоставляет абстрактный класс ShaTS, обычно используется одна из его конкретных реализаций (например, FastShaTS).

import shats from shats.grouping import TimeGroupingStrategy from shats.grouping import FeaturesGroupingStrategy from shats.grouping import MultifeaturesGroupingStrategy

2. Инициализация модели и данных

Предполагается наличие предварительно обученной модели временных рядов на PyTorch и фонового набора данных, который должен быть списком тензоров, представляющих типичные образцы данных, виденные моделью во время обучения.

model = MyTrainedModel() random_samples = random.sample(range(len(trainDataset)), 100) background = [trainDataset[idx] for idx in random_samples] shapley_class = shats.FastShaTS(model, support_dataset=background, grouping_strategy= FeaturesGroupingStrategy(names=variable_names)

3. Вычисление значений Шэпли

После инициализации объяснителя вычислите значения ShaTS для тестового набора данных. Тестовый набор должен быть отформатирован аналогично фоновому.

shats_values = shaTS.compute(testDataset)

4. Визуализация результатов

Наконец, примените встроенную функцию визуализации для отображения значений ShaTS. Можно указать, какой класс (например, аномальный или нормальный) требуется объяснить.

shaTS.plot(shats_values, test_dataset=testDataset, class_to_explain=1)

Ключевые выводы

  • Целевое распределение: ShaTS обеспечивает более точное распределение вклада по сравнению с постфактум SHAP, упрощая выявление корневой причины в моделях временных рядов.
  • Эффективность: Сокращение числа участников до групп существенно уменьшает объем коалиций для оценки, ускоряя вычисления.
  • Масштабируемость: ShaTS сохраняет стабильную производительность даже при увеличении размера окна благодаря фиксированной структуре групп.
  • Ускорение на GPU: ShaTS может использовать ресурсы GPU, дополнительно повышая скорость и эффективность.