Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

SHAP и LIME: интерпретируемость AI при анализе портфеля

SHAP (SHapley Additive exPlanations) и LIME (Local Interpretable Model-agnostic Explanations) — методы, которые показывают, почему нейросеть дала конкретный прогноз. Вместо чёрного ящика вы видите: Газпром получил вес 30% из-за отношения P/E и дивидендной доходности. Это критично для инвестора — без интерпретируемости вы слепо следуете машине.

Автор: ~8 мин

Почему SHAP и LIME важны для инвестора?

AI-модель по акциям предсказывает рост, но если вы не поймёте, на чём основано предсказание, вы не сможете верифицировать логику и оценить риск. SHAP и LIME раскрывают влияние каждого фактора: вес P/E, темп роста прибыли, объём торгов. Нюанс: методы показывают корреляцию, не причинность — модель может придать вес отношению, которое по факту не влияет на цену.

Источник: SHAP документация

Как SHAP работает при анализе портфеля Газпрома?

SHAP вычисляет вклад каждого признака в финальный прогноз, опираясь на коалиционную игру (значение Шепли). Например, если модель прогнозирует рост GAZP на 15%, SHAP покажет: дивидендная доходность +8%, P/E −2%, объём торгов +5%, остальное +4%. Разбить можно по дням, по сценариям, по группам акций. Минус: вычисления требуют мощности, для тысячи признаков медленнее.

Чем LIME отличается от SHAP?

LIME аппроксимирует локальное решение модели линейной моделью. Вместо глобального объяснения (SHAP) LIME объясняет один прогноз для одной акции: почему модель дала именно эту оценку для Сбера в этот день. LIME быстрее и проще в интерпретации новичку. Но LIME менее строг математически и может дать противоречивые веса разным акциям с похожим профилем.

Как использовать SHAP-веса для проверки AI-рекомендации?

Запросите у сервиса SHAP-объяснение: «Почему модель советует купить Лукойл?» Сервис выдаст вклад каждого фактора. Проверьте логику: если вес идёт на геополитику и фьючерсы на нефть, а вы не согласны с этим сценарием — игнорируйте совет. Если веса рассредоточены равномерно или опираются на шум (объём торгов в конкретный час), совет слабый. Риск: сервис может выдать красиво структурированное объяснение, которое всё равно неправильно.

Можно ли использовать SHAP для анализа криптовалют?

SHAP применим к любой модели с числовыми входами: цена, объём, волатильность, корреляция с рынком. Для Bitcoin модель может выявить вес полученных в сеть токенов, уровней поддержки, макроэкономических индексов. Нюанс: в крипто данных меньше истории (Bitcoin старше 15 лет, но альткойны часто моложе), что снижает надёжность весов. LIME быстрее срабатывает на новых монетах с коротким рядом.

Источник: SHAP документация

Как убедиться, что модель не переобучена, смотря на SHAP-веса?

Если SHAP показывает вес на случайном признаке (например, день недели или час котировки), модель переобучена на шуме. Переобученная модель раздаст высокие веса на непостоянные факторы. Проверьте на отложенной выборке: если веса резко меняются при минимальных изменениях данных, это сигнал переобучения. Применяйте регуляризацию, увеличивайте датасет или используйте LIME для быстрой санитарной проверки.

Источник: Hugging Face Transformers для финтеха

Может ли SHAP объяснить решение нейросети, обученной на микроэкономике и макроэкономике сразу?

Да. SHAP разберёт вклад каждого блока: макроэкономические факторы (ставка ЦБ, инфляция, VIX), микроэкономические (P/E, прибыль, дивиденды), технические (объём, волатильность). Веса покажут, что макроэкономика даёт 40%, микроэкономика 50%, техника 10%.

Эксклюзив от ИнвестХомяка

Сравнение методов интерпретируемости по параметрам

МетодСкорость (на 1000 признаков)Математическая строгость
SHAP (TreeExplainer)10–100 мсОчень высокая (значения Шепли)
SHAP (KernelExplainer)1–10 секОчень высокая
LIME50–500 мсСредняя (локальная аппроксимация)
Встроенные веса (feature importance)<1 мсНизкая (эмпирическая)

SHAP vs LIME: какой выбрать для инвестиций

КритерийSHAPLIME
Глобальная логика моделиПолное объяснение (все прогнозы)Только локальное (один прогноз)
Скорость расчётаМедленнее на малых моделяхБыстро, даже на neural-сетях
Минимальный набор данныхНужна история и параллелиНужна история + многомерность
ИнтерпретируемостьИнтуитивна для финансистовМожет дать противоречивые веса
Рекомендуемый сценарийОсновная проверка модели перед запускомБыстрая санитарная проверка одного совета

Как начать работать с SHAP для анализа акций

  1. Выберите вашу модель

    Возьмите готовую нейросеть по акциям (например, модель из Hugging Face, обучённую на GAZP, LKOH, POSI) или тренируйте свою на исторических данных из Moex. Модель должна принимать числовые признаки: P/E, дивидендная доходность, объём, волатильность, темп роста прибыли.

  2. Установите shap-библиотеку

    Запустите `pip install shap` в Python окружении. Убедитесь, что у вас есть также pandas, numpy и модель в формате pkl или SavedModel. SHAP совместим с scikit-learn, XGBoost, LightGBM, TensorFlow, PyTorch.

  3. Загрузите данные и модель

    Подготовьте тестовый датасет с последними котировками 20–50 российских акций из индекса Мосбиржи. Нормализуйте признаки так же, как при обучении модели. Загрузите обученную модель в Python (например, `model = pickle.load(open("model.pkl"))`).

  4. Вычислите SHAP-значения

    Создайте объект Explainer: `explainer = shap.TreeExplainer(model)` для XGBoost или `explainer = shap.KernelExplainer(model.predict, X_train)` для нейросети. Затем: `shap_values = explainer.shap_values(X_test)`. На выходе вы получите веса каждого признака для каждого прогноза.

  5. Визуализируйте и интерпретируйте

    Используйте `shap.summary_plot()` для глобального обзора (какие признаки влияют на рекомендации в целом) и `shap.force_plot()` для анализа отдельной акции (почему модель дала вес Газпрому именно в этот день). Проверьте логику: совпадает ли с вашим фундаментальным анализом, нет ли противоречий.

Частые вопросы

Может ли SHAP объяснить решение нейросети, обученной на микроэкономике и макроэкономике сразу?

Да. SHAP разберёт вклад каждого блока: макроэкономические факторы (ставка ЦБ, инфляция, VIX), микроэкономические (P/E, прибыль, дивиденды), технические (объём, волатильность). Веса покажут, что макроэкономика даёт 40%, микроэкономика 50%, техника 10%.

Нужно ли пересчитывать SHAP каждый день, если рынок меняется?

Желательно. Веса SHAP рассчитываются для конкретного состояния модели и данных. Если модель ретренирована на свежих котировках, веса могут измениться. На дневных прогнозах пересчёт раз в день логичен; на минутных — раз в час или реже, если модель стабильна.

Правда ли, что SHAP может дать неправильное объяснение, если модель сама ошибается?

Да. SHAP верно разберёт логику модели, но если модель ошибочна по сути (например, переобучена на зашумленные данные), SHAP просто покажет, какие шумовые признаки модель использует. SHAP не исправляет логику модели, только её раскрывает.

Чем SHAP отличается от просто посмотреть «важность признаков» в XGBoost?

XGBoost.feature_importances показывает глобальную роль признака (сколько раз он использовался в деревьях и какой прирост дал). SHAP показывает вклад в каждый конкретный прогноз с учётом взаимодействия признаков. Для инвестиций SHAP полезнее: вы видите, почему модель рекомендует именно эту акцию сейчас.

Дорого ли считать SHAP-значения для портфеля из 100 акций ежедневно?

Зависит от метода. TreeExplainer для XGBoost справляется за секунды. KernelExplainer для нейросети может требовать минуты. Для дневных обновлений это нормально; для минутных трейдов — избыточно. Рекомендуется: SHAP раз в день по закрытию, LIME по требованию для проверки конкретной рекомендации.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

Точка входавозрастной скепсис, долго не решался зайти в закрытый клуб

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

«Возрастной скепсис мешал зайти — думал, всё как обычно. Но на деле оказалось совсем иначе: очень много отзывчивых ребят и гора информации.»
история в Telegram →

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Источники