Вопрос или проблема
Пожалуйста, подтвердите, правильно ли я понимаю.
Вы можете воспринимать изображение выше с точки зрения графика сил Шепли. Стрелки указывают направление, в котором признаки толкают предсказание от базового значения. В моей модели регрессии xgboost (для прогноза будущей реализованной волатильности) я получил разное базовое значение для каждой образецовой записи.
Я хочу определить плохие и хорошие признаки в недопрогнозированных экземплярах. Плохие признаки вызывают недопрогнозирование и толкают предсказание влево. Хорошие признаки предотвращают недопрогнозирование, толкая предсказание вправо.
Я разделил недопрогнозированные экземпляры на те, у которых истинное значение ниже и выше базового значения.
Для экземпляров, где истинное значение ниже базового, направление голубой стрелки указывает на хорошие признаки, которые реально пытаются подтолкнуть предсказание вверх, тем самым предотвращая недопрогнозирование. Затем я просто суммирую SHAP-значения каждого признака по этим экземплярам и упорядочиваю суммированные SHAP-значения для каждого признака от большего к меньшему (снизу вверх) как показано здесь. Я беру только первые 75 признаков из общего числа 200 признаков.
Для экземпляров, где истинное значение выше базового, направление красной стрелки указывает на плохие признаки, которые действительно пытаются подтолкнуть предсказание вниз, вызывая тем самым недопрогнозирование. Затем я просто суммирую SHAP-значения каждого признака по этим экземплярам и упорядочиваю суммированные SHAP-значения для каждого признака от меньшего к большему (снизу вверх) как показано здесь. Я беру только первые 75 признаков из общего числа 200 признаков.
Правильный ли мой подход к нахождению действительно хороших и плохих признаков? Есть ли улучшения, которые я могу внести?
Когда я попытался сделать то же самое для случаев сверхпрогнозирования, я заметил проблему. Те же признаки, которые предотвращают недопрогнозирование, вызывают сверхпрогнозирование, как показано здесь. Как я могу это обосновать? Я подумал найти взаимно исключающие признаки из двух наборов (т.е. набор, предотвращающий недопрогнозирование и набор, вызывающий сверхпрогнозирование) и обозначить их как хорошие и плохие признаки. Могли бы вы уточнить, правильный ли этот подход? Пожалуйста, предложите другие подходы, если это не имеет смысла. Спасибо.
РЕДАКТИРОВАТЬ: Я придумал новый метод. Я сначала беру разность множества (топ 75) признаков с красными стрелками с (топ 75) признаками с желтыми стрелками, чтобы получить действительно плохие признаки, которые вызывают недопрогнозирование. Я также могу взять разность множества между (топ 75) признаками с голубыми стрелками и (топ 75) признаками с светло-голубыми стрелками (новые) для определения действительно хороших признаков, которые предотвращают недопрогнозирование. Будет ли улучшение (меньшая пересекаемость между признаками, которые предотвращают недопрогнозирование и признаками, которые вызывают сверхпрогнозирование, и аналогично для признаков, которые предотвращают сверхпрогнозирование и признаков, которые вызывают недопрогнозирование)?
Моя идея заключается в том, чтобы избавиться от плохих признаков и найти взаимодействия хороших признаков, а затем включить их для улучшения случаев недопрогнозирования и сверхпрогнозирования.
Ответ или решение
Анализ влияния признаков на занижение и завышение прогнозов с использованием значений Шепли важен для понимания динамики модели и улучшения ее точности. Ваша методология, связанная с использованием графиков сил Шепли и суммированием значений SHAP, чтобы различать хорошие и плохие признаки, заслуживает внимания, однако требует некоторых разъяснений и возможных улучшений.
Теоретическая основа
Теория значений Шепли исходит из концепции теории игр, примененной к модели машинного обучения. Шепли значимости позволяют интерпретировать вклад каждого признака в итоговую предсказание. Они показывают, в какой степени каждый признак увеличивает или уменьшает прогноз по сравнению с базовой вероятностью, что делает их удобным инструментом для анализа состояний занижения и завышения прогнозов.
Примеры, которые имеют реальное значение ниже базового значения, оказывают влияние на прогнозы модели, которое должно быть уменьшено. Если такие примеры плюс значения Шепли включают в себя много "положительных" значений, говорящих о том, что признаки "толкают" выhдарку вверх, это означает, что эти признаки препятствуют занижению.
Анализ классификации признаков
В вашем подходе вы группируете признаки в зависимости от их вклада в прогноз. Если признак снижает объем предсказания при том, что реальное значение ниже базового, мужчина такой признак можно назвать хорошим, поскольку он снижает степень занижения прогнозов. Аналогично, признаки, которые увеличивают переоценку, можно считать плохими.
Следуя вашей текущей логике, вы классифицируете признаки, суммируя значения SHAP для каждой группы. Это создание списков "хороших" и "плохих" признаков для дальнейшего анализа – ценный шаг, но он может создавать пересечение, как вы это заметили. Признаки, препятствующие занижению, могут также вносить вклад в переоценку, и наоборот.
Приложение и усовершенствования
-
Разрешение проблемы пересечения:
Когда один и тот же признак включен как в набор признаков, препятствующих занижению, так и в набор признаков, вызывающих завышение, это говорит о том, что вклад этого признака в прогноз взаимозависим от признаков других факторов. Такой перегиб можно минимизировать, выделив поднабор действительно полезных признаков как вы предложили через взятие разности множеств. -
Анализ взаимодействия признаков:
Стоит рассмотреть вариант исследования взаимодействий между этими признаками. Возможно, их совокупное действие приводит как к предотвращению занижения, так и к завышению, и, модифицировав взаимодействие, можно добиться более сбалансированного результата. -
Улучшение модели через отсеивание признаков:
Как предложено, можно выделить наиболее недостоверные признаки и исключить их из модели. Это позволит снизить возможную известие и, в совокупности с исследованием взаимодействий, сделать модель более устойчивой к занижению и завышению ошибок. -
Оптимизация с использованием более сложных моделей объяснительной интерпретации:
Вместе с значениями SHAP можно использовать такие методы, как LIME или интерпретируемые модели на основе дерева, чтобы дополнительно подтвердить вашу классификацию признаков и выработать стратегию улучшения.
В результате, ваш подход к анализу и корректировке модели с использованием значений Шепли достоин уважения, однако настоятельно рекомендуется дополнительно исследовать взаимодействие переменных и учитывать возможные пересечения в их значимости для лучшего понимания и оптимизации моделей машинного обучения.