Устраняем мультиколлинеарность признаков в ML при помощи графов |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2021-12-06 09:09 Залогом успешного применения ML к конкретной бизнес-задаче является не только правильно подобранная модель, но и признаки, на которых модель обучается. Давайте на примере задачи поведенческого банковского скоринга разберёмся в том, почему важно уделять внимание мультиколлинеарности признаков в линейных моделях и научимся от неё избавляться. Признаки — это набор данных, который описывает изучаемое в задаче явление. Не все признаки могут быть полезны, поэтому их отбор является важным этапом моделирования. Есть много причин, по которым включение тех или иных признаков в модель может привести к неудовлетворительным результатам. Одна из них — мультиколлинеарность. Мультиколлинеарность — явление, при котором наблюдается сильная корреляция между признаками. Чтобы оценить степень корреляции между парой количественных признаков, вычисляют, например, коэффициент корреляции Пирсона — меру линейной связи между ними. Если абсолютное значение коэффициента превышает некоторый порог, то можно говорить о наличии сильной корреляции между признаками. На практике пороговое значение зависит от задачи и находится в диапазоне от Например, у нас есть два признака: зарплата в рублях и зарплата в долларах. Очевидно, что два этих признака зависимы и между ними существует линейная связь. Коэффициент корреляции Пирсона для них будет равен Но это редкий случай — на практике чаще встречаются признаки, коэффициент корреляции которых не равен единице, но достаточно велик и превышает (по абсолютной величине) пороговое значение, например, Почему это плохо? Мультиколлинеарность негативно влияет на модели машинного обучения. Так, например, для линейных моделей она может приводить к неустойчивости коэффициентов. Что это значит на практике? Разберемся на примере построенной нами поведенческой модели кредитного скоринга для Ак Барс Банка. Выдача кредита — это всегда риск невыполнения клиентом своих обязательств, поэтому банку важно оценивать ожидаемые потери. Они пропорциональны вероятности дефолта кредита — события, при котором клиент задержал выплаты по кредиту на 90 и более дней. Для предсказания дефолта потребительского кредита и была разработана наша модель. Для модели скоринга важна интерпретируемость, то есть способность оценить влияние каждого из признаков на вероятность дефолта. Кроме того, для надежного предсказания вероятности, модель должна быть хорошо откалибрована. Исходя из этого мы выбрали модель логистической регрессии. Модель построена на наборе признаков, описывающих договор и поведение клиента относительно выполнения обязательств по нему. Пример признаков для описания кредитных договоров:
Пример признаков поведения клиента:
Всего в нашем распоряжении было 73 признака. Их первичный анализ показал наличие мультиколлинеарности. Чтобы показать читателям негативное воздействие этого явления, мы обучили модель, используя сильно коррелированные признаки. Это привело к тому, что не все знаки коэффициентов модели соответствовали бизнес-логике. Так, например, уменьшение значения признака «остаток долга / сумма выдачи» должно приводить к уменьшению вероятности дефолта, так как клиенту при этом остается выплачивать все меньшую сумму. Мультиколлинеарность привела к тому, что подобранный в ходе обучения модели коэффициент сменил знак на противоположный. А признак, с точки зрения модели, стал говорить об обратном: чем меньше остается платить, тем больше вероятность дефолта. Такое поведение наблюдалось и для некоторых других признаков. Ну и, разумеется, построенную модель сложно интерпретировать. При этом у читателя может возникнуть вопрос: «а как же бороться с подобным влиянием мультиколлинеарности»? Попробуем ответить на него и опишем свою модификацию одного из популярных методов, которую мы использовали при отборе признаков для моделирования. Что с этим делать? Большинство методов устранения мультиколлинеарности предполагает исключение порождающих её признаков. Наиболее популярными среди них являются: Исключение признаков по порогу на основе тепловой карты для коэффициентов корреляции. Метод не гарантирует исключение минимально возможного количества признаков. Выбор исключаемого признака, как правило, определен порядком их рассмотрения и не учитывает взаимосвязь с целевой переменной. Из-за этого можно потерять потенциально полезные признаки до этапа моделирования. Исключение признаков на основе анализа VIF (variance inflation factor). Основной минус — неоднозначность выбора порога для исключения признака. Эмпирическое правило: выбираем порог из интервала 5—10. Отбор признаков на основе анализа доли объясненной дисперсии для компонент, полученных PCA. Метод предполагает переход в новое признаковое пространство, что не всегда возможно для задач, где необходима интерпретируемость. Нам лучше всего подходил первый метод, но нужно было как-то устранить его недостатки, поэтому мы решили модифицировать его. Наш метод основан на алгоритме Брона-Кербоша — одном из алгоритмов решения задач теории графов о поиске максимальных клик. Клика — это такой подграф, в котором все вершины попарно соединены друг с другом. Например, граф, нарисованный в форме логотипа Ак Барс Банка, содержит 15 клик размера 2 (ребра графа), 6 клик размера 3, и одну клику размера 4. Чтобы свести задачу к поиску максимальных клик, построим граф связей для признаков по таким правилам:
Если для построенного графа мы сможем найти наибольшую клику, то это и будет решением нашей задачи. Алгоритм Брона-Кербоша находит все максимальные клики, при этом наибольших может быть несколько. Здесь можно увидеть аналогию с социальной сетью, где пользователи — это признаки, а наличие связи между ними говорит о том, что они «дружат». При этом наличие «дружбы» зависит от некоторой величины, которую можно вычислить для каждой пары пользователей. Задача состоит в том, чтобы выделить сообщество, в котором каждый его участник «дружит» с остальными. Как выделить оптимальную клику Так как метод применяется для задачи бинарной классификации с количественными признаками, то в качестве меры, показывающей связь между признаком и таргетом, предлагается использовать совместную информацию (MI — mutual information). Для двух клик одинаковой длины, будем считать лучшей ту, для которой сумма MI, вычисленная для всех признаков клики, наибольшая. Конечно, здесь может использоваться и любая другая релевантная решаемой задаче мера, например, вычисленная с использованием дисперсионного анализа (ANOVA). Пошаговый алгоритм для описанного метода
Применение метода на практике Мы запрограммировали алгоритм и проверили метод на модельной и реальной задачах классификации. Модельная задача Датасет сгенерирован при помощи функции Основные характеристики датасета. Количество признаков равно семи, пять из них являются информативными ( Тепловая карта корреляций признаков Для выбранного нами порога Граф связей для признаков модельной задачи Алгоритм нашел две пары максимальных клик размера 4 и 5:
Наибольшими, очевидно, будут клики второй пары, для которых алгоритм выбрал оптимальную Заинтересованному читателю, возможно, будет интересен документ с кодом для генерации данных и решения проблемы мультиколлинеарности в модельной задаче. В документе также представлена серия экспериментов по исследованию влияния мультиколлинеарности на коэффициенты модели, а также метрики ROC-AUC и
Реальная задача Вернёмся, наконец, к тому, с чего начали — «боевой» задаче дефолта потребительского кредита. Мы не можем показать её решение столь же подробно, как сделали это для модельной, но приведем результаты работы нашего алгоритма. На вход алгоритму отбора были поданы:
Вывод на печать результатов работы алгоритма: слева - размер найденных клик, справа — их количество Алгоритму Брона-Кербоша удалось за 2 минуты 15 секунд отыскать примерно 44.3 миллиона максимальных клик. Размер найденных клик варьировался от 26 до 34, причем клик размера 34 было найдено 6144. Для выбора оптимальной клики мы использовали значения MI, вычисленные на первом шаге. В результате была выделена единственная клика размера 34, признаки которой обладали следующими свойствами:
Это означало, что нам удалось расширить множество признаков, пригодных для построения модели. Для сравнения: применение подхода устранения мультиколлинеарности без предложенной модификации, приводило к отысканию всего лишь 23 признаков. Нахождение максимального подмножества признаков позволило рассмотреть большее их количество для последующих этапов моделирования и способствовало построению более качественной модели: прирост метрики Average Precision составил 6%. Рассмотренный метод устранения мультиколлинеарности может использоваться при работе с нелинейными моделями как способ снижения размерности признакового пространства. Заключение Итак, подытожим полученные результаты. Для линейных моделей машинного обучения наличие мультиколлинеарности признаков может привести к неустойчивости коэффициентов — они могут изменять свой знак при добавлении в модель новых признаков и становиться статистически незначимыми, от чего страдает интерпретируемость модели. Предложенный в статье метод устранения коллинеарности признаков позволяет отыскивать при заданном пороге корреляции подмножество признаков, обладающее следующими свойствами:
Применение модификации метода отбора признаков по порогу корреляции для реальной задачи поведенческого скоринга позволило построить хорошо интерпретируемую модель и улучшить значение метрики Average Precision на 6%. Полезные ссылки:
Источник: habr.com Комментарии: |
|