Перейти к основному содержимому

Контрфактические объяснения

Один из способов проинтерпретировать тот или иной прогноз - это задаться вопросом: а какие минимальные изменения нужно произвести в прогнозируемом объекте, чтобы получить другой (нужный нам) прогноз?

  • Пример 1. Рассмотрим модель, прогнозирующую за сколько можно сдать квартиру на рынке по её характеристикам. Предположим, мы оценили эту модель по обучающей выборке и для нашей квартиры модель выдаёт 40000 руб/мес. Можно задаться вопросом - какие минимальные изменения в квартире нужно произвести, чтобы сдавать её за 50000 руб/мес? Нас, конечно, будет интересовать поиск в пространстве только тех параметров, которые можно изменить - характер ремонта, наличие бытовой техники и мебели, условия сдачи и т.д.

  • Пример 2. Рассмотрим модель, прогнозирующую можно ли клиенту выдать кредит или нельзя. Допустим, она выдаёт прогноз, что нельзя. Тогда можно задаться вопросом: а какие минимальные изменения в характеристиках клиента должны случиться, чтобы кредит ему всё-таки одобрили? Например, иметь стаж работы на год больше или получать зарплату на 10 процентов выше.

Ответы на подобные вопросы даёт метод контрфактических объяснений (counterfactual explanations). Контрфактическое объяснение для (x,f(x))\left(\mathbf{x},f\left(\mathbf{x}\right)\right) - это такой объект x\mathbf{x}', который

  • максимально похож на x\mathbf{x} (отличается в минимальном числе признаков на минимальную величину),

  • но в то же время обладает с требуемым откликом yy'.

Находить контрфактические объяснения можно, решая следующую оптимизационную задачу, предложенную в статье:

(f(x)y)2+λρ(x,x)minx\left(f\left(\mathbf{x}'\right)-y'\right)^{2}+\lambda\rho\left(\mathbf{x},\mathbf{x}'\right)\to\min_{\mathbf{x}'}

Из условий Каруша-Куна-Таккера можно показать, что она эквивалентная следующей задаче:

{(f(x)y)2minxρ(x,x)ε\begin{cases} \left(f\left(\mathbf{x}'\right)-y'\right)^{2}\to\min_{\mathbf{x}'}\\ \rho\left(\mathbf{x},\mathbf{x}'\right)\le\varepsilon \end{cases}

где ρ(x,x)\rho\left(\mathbf{x},\mathbf{x}'\right) - расстояние между объектами, а λ\lambda и ε\varepsilon связаны между собой некоторым убывающим преобразованием ε=F(λ)\varepsilon=F\left(\lambda\right). В качестве ρ(x,x)\rho\left(\mathbf{x},\mathbf{x}'\right) рекомендуется брать

ρ(x,x)=d=1DxdxdMAD(xd)MAD(xd)=mediann{1,...N}xndmediann{1,...N}(xnd)\begin{gathered} \rho\left(\mathbf{x},\mathbf{x}'\right)=\sum_{d=1}^{D}\frac{\left|x^{d}-x'^{d}\right|}{MAD\left(x^{d}\right)}\\ MAD\left(x^{d}\right)=\text{median}_{n\in\left\{ 1,...N\right\} }\left|x_{n}^{d}-\text{median}_{n\in\left\{ 1,...N\right\} }\left(x_{n}^{d}\right)\right| \end{gathered}

поскольку модули отклонений признаков (а не квадраты отклонений) будут поощрять нахождение таких x\mathbf{x}', которые бы отличались от x\mathbf{x} в минимальном числе признаков, оставляя при этом оставшиеся признаки такими, какие они были, что упрощает интерпретируемость. Нормировка на MAD(xd)MAD\left(x^{d}\right) (mean absolute deviation) приводит признаки к одинаковому масштабу, делая их равнозначными при сравнении. Хотя можно использовать и другие методы нормализации признаков.