Значение SHAP можно объяснить, верно?

Я столкнулся с проблемой использования значения SHAP для интерпретации модели на основе дерева.
(https://github.com/slundberg/shapsd)
Во-первых, я ввел около 30 функций, и у меня есть 2 функции, которые имеют высокую положительную корреляцию между ними.
После этого я обучаю модель XGBoost (python) и смотрю на значения SHAP двух функций, значения SHAP имеют отрицательную корреляцию.

Не могли бы вы все объяснить мне, почему выходные значения SHAP между двумя функциями не имеют такой же корреляции, как входная корреляция? и я могу доверять этому выводу SHAP или нет?

=========================

Корреляция между входными данными: 0,91788
Корреляция между значениями SHAP: -0,661088

2 характеристики:
1) Крачка в провинции и
2) Количество семьи в провинции.

Модель производительности
Поезд AUC: 0,73
Тест AUC: 0,71

Диаграмма разброса
Входная диаграмма разброса (x: количество семей в провинции, y: скопление в провинции)
Выходные диаграммы разброса значений SHAP (x: количество семей в провинции, y: образование в провинции)

2 ответа

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

В качестве примера возьмем случай прогнозирования риска смертности с учетом двух характеристик: "возраст" и "поездки к врачам". Хотя эти две переменные положительно коррелируют, их влияние различно. При прочих равных условиях более высокий "возраст" ведет к более высокому риску смерти (согласно обученной модели). А большее количество "обращений к врачу" ведет к меньшему риску смерти.

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

XGBoost не является линейной моделью, т.е. взаимосвязь между входными характеристиками X и прогнозами y не является линейной. Значения SHAP строят линейную модель объяснения y. Следовательно, очень ожидается, что корреляция между входными функциями и их значениями SHAP не будет совпадать.

Другие вопросы по тегам