Про пользу развития digital навыков
Нам в работу поступила задача: проанализировать имеющиеся и придумать новые факторы, повышающие точность работы модели. Для анализа был дан массив в сотни тысяч записей. Собрав гипотезы, настал черед проверки их влияния на модель. Анализ массива в Excel привычными формулами/фильтрами привел бы к тому, что на проверку каждой гипотезы уходило бы по несколько часов.
Проконсультировавшись с IT-специалистами, пришли к варианту ускорения путем обработки этих массивов через SQL, но так как работа все же аналитическая, хотелось самим запускать и проверять гипотезы. Пройдя экспресс-обучение по SQL, мы по почерпнули необходимые нам методы анализа, в частности функцию PIVOT, которые и применили в работе.
PIVOT – это оператор Transact-SQL, применяющимся в Microsoft SQL Server, схожий по функционалу со сводными таблицами в Excel. В нем указывается какие параметры нас интересуют по вертикали и горизонтали, указываем способ заполнения таблицы – одну из агрегатных функций, – и получаем готовую таблицу для анализа. На выходе функция может производить группировку по нескольким показателям, выводя их иерархично.
Для наглядности же приведем пример применения функции в простом виде, схожим со сводной таблицей.
Пример:
Сотрудник должен проанализировать корректность расчета кредитного риска или кредитной истории клиентов на основании данных кредитных заявок.
Выведем сколько одобрено кредитных заявок в зависимости от кредитной истории и способа рассмотрения заявки. По горизонтали отразим кредитную историю, а по вертикали – способ рассмотрения. Агрегирующей функцией будет count, так как нам необходимо посчитать количество заявок.
Синтаксис оператора в описанном примере выглядит следующим образом:
С помощью этого алгоритма даже массив в сотни тысяч строк отработает за несколько секунд, выдав на выходе следующую таблицу:
В дальнейшем подобный анализ можно проводить уже с выводом значений гипотез в зависимости от разных факторов, которые требуется проверить. С ростом иерархичности в выводе таблица теряет визуальную простоту, но зато увеличивает информативность.
Затратив немного времени на обучение и изучив всего один инструмент, вы можете в разы сократить время на обработку массивов данных, высвободив время для других задач. Ну а мы надеемся, сегодняшний мини-экскурс поможет вам в ваших задачах.