Анализ чувствительности - это проверка устойчивости к:
- выбросам — удалить/изменить экстремальные значения;
- выбору модели — разные функциональные формы, ковариационные структуры;
- выбору предикторов — включить/исключить переменные;
- априорным распределениям в байесовском анализе;
- unmeasured confounding — насколько сильным должно быть скрытое смещение, чтобы объяснить эффект;
- спеке случайных эффектов в LMM — random intercept vs random slope;
- методу оценивания — ML vs REML;
- определению исхода — разные способы операционализации.
Вообще, анализ чувствительности — это набор методов, которые показывают, насколько выход модели, прогноз или бизнес-метрика зависят от изменений во входных данных, параметрах модели или предположениях. Проще говоря: если мы немного или сильно поменяем вход , как изменится выход ?
Зачем он нужен
- Понять, какие признаки/факторы сильнее всего влияют на прогноз.
- Проверить устойчивость модели: не ломается ли она при небольших изменениях данных.
- Оценить неопределённость прогнозов.
- Провести what-if-анализ: «что будет, если цена вырастет на 10%?»
- Проверить чувствительность к гиперпараметрам, шуму в данных, выбросам, дрейфу распределений.
- Помочь в принятии решений и стресс-тестировании.
Основные виды
-
Локальный анализ
Смотрим, как выход меняется вблизи одной конкретной точки.
Примеры: производные, градиенты, малые возмущения признака. -
Глобальный анализ
Исследуем влияние входа по всему диапазону значений и с учётом распределений.
Примеры: индексы Соболя, метод Морриса, дисперсионный анализ. -
One-at-a-time (OAT)
Меняем один признак, остальные фиксируем. Просто, но не учитывает взаимодействия. Часто визуализируется в виде tornado-диаграммы. -
С учётом взаимодействий
Методы вроде Sobol разлагают дисперсию выхода и показывают, сколько вносит сам признак и сколько — его совместное влияние с другими.
Популярные методы в DS
- Permutation importance — насколько падает качество, если перемешать значения признака.
- Partial dependence (PDP) и ICE-графики — как в среднем меняется прогноз при изменении признака.
- SHAP — локальные вклады признаков; полезен для интерпретации, но это скорее атрибуция, чем классический анализ чувствительности.
- Sobol indices — глобальные индексы чувствительности: первый порядок и полный эффект.
- Morris screening — быстрый скрининг важных входов.
- Анализ гиперпараметров — как метрика зависит от learning rate, глубины дерева и т.п.
- Стресс-тесты и симуляции Монте-Карло — прогон модели при случайных входных распределениях.
Пример
Модель кредитного скоринга предсказывает вероятность дефолта. Анализ чувствительности может показать:
- при изменении дохода на ±10% вероятность дефолта меняется на 2 п.п.;
- при изменении возраста на ±10 лет — почти не меняется;
- при изменении кредитной нагрузки — меняется сильнее всего, особенно в сочетании с низким доходом.
Так становится понятно, какие факторы критичны для риска.
Чем отличается от feature importance
Feature importance обычно отвечает на вопрос: «Какой признак важен для модели в целом?»
Анализ чувствительности шире: он отвечает на вопрос: «Как именно и насколько выход реагирует на изменения входа, параметров или предположений, включая взаимодействия и неопределённость?»
Ограничения
- Результат зависит от выбранных диапазонов и распределений входов.
- Чувствительность ≠ причинность.
- Глобальные методы могут быть вычислительно дорогими.
- Для сложных моделей с сильными взаимодействиями OAT-подход может вводить в заблуждение.