Частые вопросы
Может ли 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 по требованию для проверки конкретной рекомендации.