Профессор Кафедры математики и анализа данных Финансового университета при Правительстве РФ Лукьянов Павел Борисович рассматривает изменения, происходящие в технологиях обработки и анализа данных, связанные с масштабной цифровизацией всех сфер хозяйственной деятельности и развитием клиент-серверных технологий.
Важность анализа данных в любой прикладной области, в любом бизнесе сложно переоценить – с помощью анализа данных находятся неочевидные взаимосвязи различных показателей, анализ данных позволяет увидеть скрытые резервы и, как следствие, получить конкурентное преимущество; результаты анализа ложатся в основу принятия управленческих решений; анализ данных позволяет оценивать эффективность хозяйственной деятельности по всем ключевым показателям. Очевидно, что анализу данных уделяется все большее внимание как для оперативного управления бизнес-процессами, так и в стратегическом планировании.
Рассмотрим существующие инструменты, используемые для анализа данных в практической работе менеджера, аналитика, руководителя. Исторически первым «компьютерным» инструментом были электронные таблицы: данные, представленные в табличной форме, удобно сортировать, фильтровать, обрабатывать с помощью различных функций. Электронные таблицы позволяют строить информативные графики, создавать серьезные отчеты, сводить вместе данные из разных источников и таблиц, загружать данные и выгружать результаты в типовых универсальных форматах.
Вместе с тем, ограничения, присущие электронным таблицам, со временем становятся все более очевидными. Отметим основные недостатки:
1. Закрытость кода, реализующего различные математические алгоритмы и функции. При выполнении серьезных исследований ученому, аналитику, специалисту важно быть уверенным в том, что используемая им функция, встроенная в электронную таблицу, на практике работает и считает именно так, как она должна работать в теории,
2. Ограниченность обрабатываемого объема данных. При решении современных задач, при современных объемах учитываемой и регистрируемой информации аналитик сталкивается со значительными трудностями при попытке обработать массивы из сотен тысяч или миллионов записей,
3. Ограниченность функционала. Исследователю доступны наборы только тех функций, которые разработчики электронных таблиц включили в электронную таблицу. Создание своих функций возможно, но разработчик таких функций связан системой ограничений функционала электронной таблицы,
4. Ограниченность вариантов визуализации. В электронных таблицах уже заложены шаблоны возможных графиков. Если же необходим график, шаблона для которого нет, отобразить данные в желаемом виде не получится.
Логичным переходом от электронных таблиц к более эффективным инструментам анализа стало обращение специалистов к языкам программирования, в первую очередь к языку R, который изначально и создавался для обработки данных. Фактически, любой современный язык программирования предоставляет неограниченную свободу действий в обработке информации – аналитик сам творец своих алгоритмов. Никаких ограничений по объему данных, способам их обработки и представлении результатов нет. Отметим, что при выборе языка программирования для решения той или иной задачи нужно обращать внимание на наличие готовых и апробированных библиотек специализированных функций для анализа данных и отрисовки графики. Для каждого языка имеются свои библиотеки, возможности которых сильно различаются.
Традиционная технология работы по анализу данных с использованием языка программирования выглядит следующим образом: на компьютер устанавливаются файлы языка программирования и специализированная среда разработки для написания кода. Затем при разработке программ обеспечивается доступ к обрабатываемым данным, а после получения результатов (таблицы, графики, отчеты) они сохраняются в файлы популярных форматов. Эти файлы пересылаются руководству, Заказчику, коллегам и т.д.
При такой организации работы недостатки также имеются: для проверки расчетов, выполненных одним сотрудником, другому сотруднику уже на своем компьютере нужно установить те же самые программы, получить доступ к тем же самым данным, и самое главное – нужно хорошо представлять, как запускать скрипты с кодом, которые разрабатывал первый сотрудник. Соответственно, необходимы консультации разработчика, личное общение, часто значительные ресурсы времени, чтобы воспроизвести и при необходимости внести изменения в обработку данных.
А теперь хорошая новость – жизнь не стоит на месте, и современные информационные технологии, основанные на компьютерных технологиях «клиент-сервер», позволяют исключить эти недостатки и организовать работу по-новому.
В последние годы, благодаря повышению скорости и качества передачи данных в сети интернет, активно развиваются «облачные» технологии, суть которых в том, что все данные, вся расчетная часть программы, все вычисления хранятся на удаленном мощном компьютере (сервере), а нам, Пользователям (клиентам), предоставляется возможность управлять ходом обработки данных, их анализом, вычислениями и способами визуализации.
Реализуется такая возможность для Пользователя в виде специальной интерактивной web-страницы в браузере. Любой интернет-магазин – типичный пример программы, сделанной по технологии «клиент-сервер».
Итак, в идеале современные информационные технологии анализа данных должны предоставлять нам возможности интерактивного управления ходом анализа, от выбора данных и способов их обработки до вариантов представления результатов, причем выполнять этот анализ мы можем, не покидая браузера, на любом устройстве – от телефона до домашнего компьютера.
Главная сложность такого решения для аналитика заключается в том, что создание программы по технологии «клиент-сервер» требует глубоких специальных знаний и языков программирования. Таким образом, в то время, когда вся ИТ-индустрия активно переходит на облачные вычисления, наш аналитик или работает по старинке, или привлекает программистов по сетевым технологиям, или пытается изучать новые языки программирования, тратя на это много усилий и времени.
Вторая хорошая новость заключается в том, что в последние годы в языке программирования R появились расширения, позволяющие создавать приложения по технологии «клиент-сервер» сразу на языке R, не используя других языков программирования и специальных знаний! Это означает, что теперь аналитику не нужно отвлекаться на несвойственные ему задачи. Аналитик самостоятельно разделяет обработку данных на две части, выделяя блок с вычислениями (для сервера) и блок управления вычислениями и визуализации (для клиента). Блок управления автоматически превращается в интерактивную web-страницу. После чего остается разместить данные и серверную часть на сервере, а своему коллеге или заказчику прислать ссылку на нужную web-страницу.
Уже несколько лет на Кафедре математики и анализа данных Финансового университета при изучении дисциплин «Программирование в среде R», «Разработка web-приложений и анализ данных на языке R» студенты учатся создавать современные интерактивные приложения на языке R с использованием клиент-серверной технологии. Важно, что для создания таких приложений ничего не требуется, кроме языка R, среды разработки RStudio, пакета Shiny и конечно же, полученных знаний!