Image

Представляем ShaTS: метод Шепли для моделей временных рядов

Почему не следует объяснять данные временных рядов с помощью табличных методов Шепли

Делиться

1fb0d5e04c554747735e8ab9b0f62863

Введение

Методы, основанные на алгоритме Шепли, являются одними из самых популярных инструментов для объяснения моделей машинного обучения (МО) и глубокого обучения (ГО). Однако для данных временных рядов эти методы часто оказываются неэффективными, поскольку не учитывают временные зависимости, присущие таким наборам данных. В недавней статье мы (Анхель Луис Пералес Гомес, Лоренсо Фернандес Маймо и я) представили 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: величины Шепли в машинном обучении

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

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

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

fdbd1757da397ddb0f72ee453a1579f9

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

21e7a215a37e5cecd4cad02a5d1ec832

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

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

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

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

[ 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 — коалиция групп, не включающая Gi.
  • v(T) — это функция значения, которая присваивает значение каждой коалиции групп.

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

Временной

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

46712f692cc12ea09c46d874d6e46d0e

Особенность

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

28bbcdef3f822df9da693e3357863024

Многофункциональный

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

96b8d7fc7747f012a5ad2097d75b18db

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

4b9cb4bb6d8bd28dfbc12f1deb045dc5

Пользовательская визуализация ShaTS

ShaTS включает визуализацию, специально разработанную для последовательных данных и трёх описанных выше стратегий группировки. Горизонтальная ось показывает последовательные окна. На левой вертикальной оси перечислены группы, а на правой вертикальной оси наложена оценка аномальности модели для каждого окна. Каждая ячейка тепловой карты в точке (i, Gj) отражает важность группы Gj для окна i. Более тёплые красные оттенки указывают на более сильный положительный вклад в аномалию, более холодные синие оттенки указывают на более сильный отрицательный вклад, а почти белый цвет означает пренебрежимо малое влияние. Фиолетовая пунктирная линия отображает оценку аномалии по окнам, а горизонтальная пунктирная линия на уровне 0,5 обозначает порог принятия решения между аномальными и нормальными окнами.

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

4502255350c81e08a1c78163277a210a

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

32557932d371bde14739ddd0643fc7a4

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

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

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

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

В этом пошаговом руководстве показано, как подключить ShaTS к типичному рабочему процессу Python: импортировать библиотеку, выбрать стратегию группировки, инициализировать пояснитель с помощью обученной модели и фоновых данных, вычислить групповые значения Шепли на тестовом наборе и визуализировать результаты. В примере предполагается, что используется модель временных рядов PyTorch, а данные имеют оконный формат (например, shape [window_len, n_features] на выборку).

1. Импортируйте ShaTS и настройте Explainer.

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

импорт shats из shats.grouping импорт TimeGroupingStrategy из shats.grouping импорт FeaturesGroupingStrategy из shats.grouping импорт MultifeaturesGroupingStrategy

2. Инициализируйте модель и данные

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

модель = MyTrainedModel() случайные_выборки = случайный.выборка(диапазон(len(trainDataset)), 100) фон = [trainDataset[idx] для idx в random_samples] shapley_class = shats.FastShaTS(модель, support_dataset=фон, grouping_strategy=ОсобенностиGroupingStrategy(имена=имена_переменных)

3. Вычислить значения Шепли

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

shats_values = shaTS.compute(testDataset)

4. Визуализируйте результаты

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

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

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

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

Попробуйте сами.

Интерактивная демонстрация

Сравните ShaTS с постфактумным SHAP на синтетических временных рядах здесь. Обучающее видео можно найти в следующем видео.

Открытый исходный код

Модуль ShaTS полностью документирован и готов к подключению к вашему конвейеру машинного и глубокого обучения. Код доступен на Github.

Надеюсь, вам понравилось! Свяжитесь со мной, если у вас есть вопросы, вы хотите оставить отзыв или просто хотите представить свои проекты.

Источник: towardsdatascience.com

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.
dummy-img
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.
dummy-img
dummy-img
Взаимодействие человека и машины погружается под воду.
Взаимодействие человека и машины погружается под воду.
Дифференциально приватное машинное обучение в масштабе с использованием JAX-Privacy
Image Not Found
Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.

Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.

Вкратце Опубликовано: Изображение предоставлено: Thos Robinson/Getty Images для The New York Times (откроется в новом окне) Джули Борт Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.…

Апр 21, 2026
dummy-img

Как почистить виниловые пластинки (2026): пылесос, ультразвук, чистящий раствор, щетка.

Эти щелчки и треск недопустимы. Приведите свою музыку в порядок с помощью этого удобного руководства. Источник: www.wired.com

Апр 21, 2026
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Это сегодняшний выпуск The Download, нашей ежедневной новостной рассылки, которая предоставляет вам ежедневную порцию событий в мире технологий. Кибермошенники обходят системы безопасности банков с помощью незаконных инструментов, продаваемых в Telegram. В центре по отмыванию денег в Камбодже…

Апр 21, 2026
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Это сегодняшний выпуск The Download, нашей ежедневной новостной рассылки, которая предоставляет вам ежедневную порцию событий в мире технологий. Кибермошенники обходят системы безопасности банков с помощью незаконных инструментов, продаваемых в Telegram. В центре по отмыванию денег в Камбодже…

Апр 21, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых