Использование алгоритмов машинного обучения для целей внутреннего аудита

Автор: Светлана Циванюк, CIA, квалификационный аттестат аудитора, DipIFR (rus), главный аналитик, член Ассоциации «Институт внутренних аудиторов»[1]

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

Цель данной статьи:

  • рассмотреть суть машинного обучения, его основные возможности и ограничения с точки зрения пользователя-аудитора, а не математика-специалиста по Data Science;

  • ознакомиться с классификацией алгоритмов машинного обучения и рассмотреть вопрос, как можно применить возможности основных алгоритмов в работе внутренних аудиторов.

Машинное обучение – это процесс поиска компьютером взаимосвязей между данными по результатам обработки большого массива данных о каких-либо объектах. В результате процесса компьютер строит модель, описывающую выявленные им взаимосвязи в данных. Впоследствии эта модель используется компьютером, чтобы давать прогнозы по аналогичным данным.

Распространенным примером использования машинного обучения в нашей жизни является модель банковского кредитного скоринга. Перед выдачей кредита потенциальному заемщику банк хотел бы знать, с какой вероятностью такой заемщик может вернуть или не вернуть кредит в срок. Для этого банк обучает модель, используя исторические данные о кредитовании, а затем применяет ее для прогнозирования возврата/ невозврата кредита потенциальным заемщиком с учетом его характеристик.

Чтобы предсказать кредитное качество заемщика, банк предоставляет для обучения модели основную часть массива информации о заемщиках за последние годы кредитования. Назовем эти данные обучающей выборкой и предположим, что они составляют 70% от количества выданных банком потребительских кредитов за последние 3 года. Информацию об остальных 30% выданных потребительских кредитах пока не будем использовать для машинного обучения, отложим их и назовем эти данные тестовой выборкой.

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

Чтобы оценить качество полученной модели, банк проверяет модель на примере тестовой выборки. Модель получает на входе характеристики заемщиков из тестовой выборки и выдает прогноз, будут ли у этого заемщика проблемы с погашением кредита или нет. Затем прогнозы модели сравниваются с фактическими данными банка о погашении кредита заемщиками из тестовой выборки. На этом этапе можно оценить, насколько успешной оказалась эта модель кредитного скоринга, насколько точно прогнозирует она дефолт/ отсутствие дефолта заемщика.

Качество полученной модели нужно постоянно тестировать и стараться улучшить, используя для этого новые данные по заемщикам и возврату кредитов, а также строя модели на основе различных алгоритмов машинного обучения и сравнивая их качество. Для каждого типа алгоритмов используют специальные метрики для оценки качества модели.

Классификация алгоритмов машинного обучения

№

Тип алгоритма

Краткая характеристика

1.

Обучение с учителем

Поиск закономерностей ведется по заданному пользователем шаблону. Для обучения модели передается массив данных, в которых для каждого наблюдения указываются признаки и целевая переменная. В рассмотренном выше примере про банковский скоринг в качестве наблюдения был каждый выданный кредит, в качестве признаков – характеристики заемщика, в качестве целевой переменной – возврат/ невозврат кредита в срок. Модель строит взаимосвязь между признаками и целевой переменной, чтобы в дальнейшем прогнозировать целевую переменную по имеющимся признакам.

1.1.

Классификация

В качестве целевой переменной модель использует бинарное значение или категориальное значение.

Бинарная модель прогнозирует по признакам, случится целевое событие или нет (например, вернет ли заемщик кредит в срок или нет), то есть классифицирует наблюдения на две группы.

Категориальная модель по имеющимся признакам прогнозирует, к какой из заданных категорий относится наблюдение с определенными признаками. Например, по признакам заемщика модель относит его в одну из трех групп, участники которых: 1) вернут кредит в срок; 2) вернут с просрочкой платежа; 3) не вернут совсем.

Алгоритмы классификации распределяют наблюдения по двум (бинарная классификация) или большему количеству групп (категориальная классификация).

1.2.

Регрессия

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

2.

Обучение без учителя

Поиск закономерностей в данных алгоритм машинного обучения ищет сам, без шаблона, поскольку пользователь не знает, какие закономерности искать. Целевая переменная не определена, алгоритмам машинного обучения передается только массив наблюдений с признаками по каждому наблюдению.

2.1.

Кластеризация

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

2.2.

Снижение размерности

Снижается количество признаков, используемых при кластеризации наблюдений. Выявляются признаки, между которыми имеется высокая корреляция. Часть признаков с высокой корреляцией исключается из рассмотрения.

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

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

3.

Обучение с подкреплением

Модель постоянно улучшает свое качество по мере появления новых данных (наблюдений).

Условия для применения алгоритмов машинного обучения

Возможности алгоритмов машинного обучения по обработке массовых данных кажутся интересными, но, прежде чем начать их применение, нужно рассмотреть присущие им ограничения:

1. Необходимо много наблюдений для обучения модели. Машинное обучение обычно применяется, если в обучающей выборке наблюдения исчисляются тысячами. Чем больше признаков каждого наблюдения рассматривается в модели, тем большее количество наблюдений необходимо. На практике можно для начала применить следующую формулу для расчета минимального необходимого количества наблюдений в обучающей выборке:

Количество наблюдений = Количество признаков * 10

Если вы хотите составить модель с использованием данных о покупателях, то при наличии 8 важных признаков в обучающую выборку нужно направить данные как минимум о 80 покупателях. Но чем больше качественных наблюдений передать на обучение алгоритма, тем лучше должна получиться модель.

2. Данные должны быть качественными. В машинном обучении, как и в других методах аналитики данных, работает правило «Мусор на входе – мусор на выходе». Если предоставить алгоритму для обучения некачественные и неполные данные, то и модель получится непригодная. Часто выгруженные из информационной системы компании данные (например, информация из CRM-системы о покупателях) имеют низкое качество, нуждаются в проверке, дополнении, стандартизации. Все эти часто трудоемкие подготовительные этапы нужно проделать, прежде чем подавать данные алгоритму для построения модели. Если по какому-то признаку собрать качественные данные невозможно, лучше его [признак] исключить из модели.

3. Следует сначала провести исследовательский анализ данных обычными методами, чтобы лучше их понимать и оценить качество[2]. Для этого нужно изучить структуру данных, распределение значений признаков и целевой переменной, рассчитать основные статистические показатели, построить матрицу корреляции между всеми признаками и целевой переменной, построить на основании данных типовые графики. Так можно лучше понять данные и описываемые ими объекты/ процессы, что очень важно для любого аудита. Это понимание данных пригодится как для выбора алгоритма машинного обучения, так и для интерпретации модели.

4. Данные должны быть не слишком изменчивыми. Если в массиве информации происходят резкие изменения, например под воздействием внешних обстоятельств, непредвиденных факторов, то ранее устоявшиеся взаимосвязи в данных могут разрушиться. Поэтому модель будет хорошо работать на тестовой выборке, но по более новым данным будет плохо прогнозировать, поскольку старые взаимосвязи в новой ситуации уже не работают.

Полезно сравнить распределение основных показателей на обучающей и тестовой выборке, а также на более актуальных данных. Если распределения сильно изменились, модель вряд ли сможет хорошо прогнозировать на новых данных. На изменчивых данных модель нужно будет часто переделывать.

Примеры использования алгоритмов машинного обучения во внутреннем аудите

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

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

Например, при проведении аудита продаж и маркетинга можно провести кластеризацию клиентов, используя в качестве признаков информацию из CRM-системы или других источников, обсудить полученную группировку и характеристики кластеров с руководством отдела продаж и маркетологами. По итогам обсуждения важно понять, какая классификация клиентов применяется на практике маркетологами и менеджерами по продажам, как она соотносится с результатами кластеризации, какие специальные техники продаж, маркетинговые предложения и стратегия рекламы используются для каждой группы клиентов, анализируются ли отдельные «воронки продаж» по ним, есть ли вообще диверсификация по группам клиентов. По итогам кластеризации могут быть выявлены интересные кластеры, которые ранее не рассматривались в качестве отдельной группы покупателей для целей маркетинга и продаж. Совместно с сотрудниками отделов продаж и маркетинга могут быть выработаны рекомендации по адаптации стратегии продаж и маркетинга для отдельных кластеров покупателей.

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

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

Аудит оттока клиентов. При проверке продаж и взаимодействия с клиентами в сфере массовых розничных услуг (телекомы, банковская розница, фитнес-индустрия и т.д.) можно обучить модель бинарной классификации на исторических данных о жизненном цикле клиента из CRM-системы. Эта модель будет предсказывать вероятность оттока клиента в ближайшее время исходя из признаков клиента и характеристик его взаимоотношения с компанией. Аудитор может выявить клиентов, которые на момент проверки выглядят наиболее склонными к оттоку, проанализировать их основные характеристики и действия за последнее время. Результаты своего исследования аудитору следует обсудить с менеджментом и сотрудниками объекта проверки, чтобы уяснить возможные причины оттока таких клиентов. Менеджментом может быть разработана программа по удержанию выявленных в ходе аудита групп клиентов, склонных к оттоку, с учетом их специфики и потребностей.

Аудит производственного брака. При проверке производственного брака в компании при наличии массовых исторических данных об обстоятельствах возникновения брака или его отсутствия можно обучить модель бинарной классификации, которая будет прогнозировать брак продукции на основании признаков операции. Алгоритм машинного обучения позволит выявить признаки, которые оказались наиболее чувствительными к наличию/ отсутствию брака. В качестве таких признаков можно рассматривать, например, вид готовой продукции, код детали, технологическую операцию, цех, поставщика материалов, рабочего или бригаду, дату/ время операции и даже специалиста, осуществлявшего техническое обслуживание или наладку оборудования. Необходимо обсудить с руководством и сотрудниками производства возможные причины связи между признаками и возникновением брака, провести более детальный аудит данных по областям с высоким риском возникновения брака. Возможно, будут выявлены более глубинные причины возникновения брака и по итогам аудита удастся разработать меры по их нейтрализации.

Аудит мошеннических платежей. На основе массовых данных о платежах, часть из которых оказалась мошеннической, можно обучить модель классификации, которая по совокупности признаков платежа будет определять, к какой категории по отношению к вероятности мошенничества можно отнести конкретный платеж. Например, можно классифицировать платежи на группы с высоким, средним и низким риском мошенничества. Полученные результаты и наиболее чувствительные к риску мошенничества признаки платежей следует обсудить с менеджментом компании и специалистами по безопасности. По результатам аудита могут быть усовершенствованы меры предотвращения мошеннических платежей с учетом группы риска мошенничества, к которой относится конкретный платеж по совокупности признаков.

Регрессия предсказывает значение целевой функции по значению ее признаков. Такая модель может быть полезна для внутреннего аудита, если в компании отсутствует четкий алгоритм определения какой-либо величины, но ее оценка может быть полезна.

Аудит ценообразования на массовые объекты недвижимости. Если у застройщика квартир отсутствует постоянно действующий признанный алгоритм определения цены на каждую квартиру или в ценообразовании присутствует экспертная оценка, то может быть полезно построить модель прогнозирования стоимости квартиры по ее признакам (расположению, стадии строительства, площади, наличию отделки, виду из окна и т.д.). На такой модели, если она показала хорошие метрики по качеству и была признана менеджментом как адекватная, можно запустить прогнозирование цен на квартиры, которые находятся в продаже на текущий момент или были недавно проданы. В результате могут быть выявлены лоты, которые по факту были проданы или сейчас выставлены на продажу значительно дешевле или дороже[3], чем предсказанная моделью цена. Такие лоты можно включить в аудиторскую выборку для более детальной проверки ценообразования.

Программное обеспечение проектов по использованию алгоритмов машинного обучения

Область машинного обучения быстро развивается, и вариантов программного обеспечения много, в том числе библиотек алгоритмов машинного обучения. Вариант, по которому есть некоторый опыт практического применения, – это библиотека Scikit-learn (https://scikit-learn.org/ ) – одна из наиболее популярных библиотек языка программирования Python для Data Science и Machine Learning.

Библиотека Scikit-learn содержит готовые команды для применения различных алгоритмов машинного обучения. Для ее применения на практике не обязательно досконально понимать математические методы и программный код по их применению – все эти сложные моменты скрыты за короткой командой. Нужно понимать суть алгоритма, области его применения, основные параметры и ограничения, иметь базовые навыки написания кода на Python. Эти знания и навыки можно приобрести на курсах или самостоятельно по открытым источникам в интернете.

Для рассмотренных выше примеров использования алгоритмов машинного обучения можно применить следующие алгоритмы из библиотеки Scikit-learn:

Тип алгоритма

Название алгоритма

Команда вызова алгоритма из Scikit-learn

Кластеризация

Метод К-средних

Модуль Cluster, алгоритм KMeans

Классификация

«Дерево принятия решений»

Модуль tree, алгоритм DecisionTreeClassifier

«Случайный лес»

Модуль ensemble, алгоритм RandomForestClassifier

«Градиентный бустинг»

Модуль ensemble, алгоритм GradientBoostingClassifier

«Логистическая регрессия» (бинарная классификация)

Модуль linear_model, алгоритм LogisticRegression

 Регрессия

«Лассо-регрессия» (линейная регрессия)

Модуль Linear_model, алгоритм Lasso

«Ридж-регрессия» (линейная регрессия)

Модуль Linear_model, алгоритм Ridge

«Дерево принятия решений»

Модуль tree алгоритм DecisionTreeRegressor

«Дерево принятия решений»

Модуль tree, алгоритм DecisionTreeRegressor

«Случайный лес»

Модуль ensemble, алгоритм RandomForestRegressor

«Градиентный бустинг»

Модуль ensemble, алгоритм GradientBoostingRegressor

Особенности и риски проектов по использованию алгоритмов машинного обучения для целей внутреннего аудита

Аудиторские проекты, связанные с использованием алгоритмов машинного обучения, на этапе создания, тестирования и интерпретации модели обычно относятся к консультациям, а не к заданиям по предоставлению аудиторских гарантий. По таким аудиторским заданиям сложно запланировать, сколько потребуется времени, ресурсов и какого качества результат будет в итоге. В этом отношении подобные проекты несут риски, которые должны осознавать и принимать руководители внутреннего аудита и высшее руководство. Но удачные модели аудиторы впоследствии могут использовать в ходе заданий по предоставлению гарантий для получения прогнозов или кластеризации объектов проверки.

Чтобы повысить вероятность успешного выполнения проектов с применением алгоритмов машинного обучения, внутренний аудит должен тесно взаимодействовать с руководством и сотрудниками объекта проверки. С помощью их опыта и понимания бизнеса можно выделять основные взаимосвязи признаков, лучше интерпретировать результаты работы модели машинного обучения и извлекать из них практическую ценность для компании.

Также понадобится тесное взаимодействие внутренних аудиторов со специалистами ИТ-подразделений на этапе поиска и выгрузки необходимых данных, особенно со специалистами по базам данных.

Если в компании есть аналитики данных и специалисты по Data Science, внутренним аудиторам следует обратиться к ним за консультацией, даже если в команде внутреннего аудита есть сотрудник, который имеет некоторые знания и опыт в области применения алгоритмов машинного обучения (полученный обычно на популярных сейчас курсах). Более опытные специалисты по аналитике и Data Science могут дать аудиторам рекомендации в части специфики данных, выбора оптимального алгоритма машинного обучения под нужную задачу и настройке его параметров, оценке качества полученной модели и путей ее улучшения. Эти рекомендации могут сэкономить массу сил и времени на пути к созданию полезной модели машинного обучения.

Первые опыты использования алгоритмов машинного обучения для целей внутреннего аудита могут быть сложными и не привести к успешному результату даже с учетом вовлеченной и заинтересованной работы всех участников процесса. Но последующие проекты могут пройти уже легче и результативнее. Если по результатам аудита удастся построить модель, которая хорошо прогнозирует и полезна для компании, сотрудники и менеджмент объекта проверки могут использовать эту модель для прогнозирования или кластеризации самостоятельно после завершения аудиторского задания, а также проводить ее обучение на новых данных.

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


[1] Ассоциация «Институт внутренних аудиторов» (Ассоциация «ИВА»), зарегистрированная в 2000 г., является профессиональным объединением внутренних аудиторов, внутренних контролеров и работников других контрольных подразделений российских компаний и организаций. Подробности на сайте www.iia-ru.ru

[2] Например, на этапе предварительного исследовательского анализа данных о работе кол-центра после построения гистограммы по частоте повторения номеров входящих звонков стало понятно, что данные о входящих номерах регистрировались в системе информации некачественно. По данным системы около 30% входящих звонков поступало с одного номера, которым технически закрывались пробелы в данных. Дальнейшее исследование таких данных, тем более с использованием методов машинного обучения, нецелесообразно. Без предварительного исследовательского анализа данных этот дефект не был бы выявлен и алгоритм построил бы неадекватную модель на некачественных данных.

[3] Известны случаи мошенничества с ценообразованием объектов недвижимости, когда сотрудники заведомо завышают цены на интересные лоты по сравнению с общим уровнем цен. Если объект будет в результате долго не продаваться, можно будет обосновать его низкую ликвидность и продать со значительной скидкой связанным лицам.

Комментарии закрыты