Настоящая публикация не содержит ни кода, ни картинок, поскольку суть вопроса несколько шире, а на конкретные вопросы всегда можно ответить в комментариях.
За последние пару лет мне довелось применять R для решения весьма разнообразных задач в различных вертикалях. Естественно, что применение R заведомо подразумевает решение задач, связанных с той или иной математической обработкой цифровых данных, а разнообразность задач определялась, в первую очередь, самой предметной областью в которой эти прикладные задачи возникали. Частично отдельные задачи кратко упоминались в предыдущих публикациях. Разные предметные области, от земли (АПК) и заканчивая применением для прикладных задач с использованием летательных аппаратов, вплоть до космических.
Накопленная практика позволяет утверждать, что изначальный кредит доверия в R, сопутствующую экосистему и коммьюнити оказался полностью оправданным. Не возникло ни одного кейса, который нельзя было бы решить средствами R за разумный срок.
Независимое подтверждение этого тезиса можно получить путем наблюдения за экспоненциальным ростом успешного применения R в обычном бизнесе (не ИТ) на Западе. Например, практически половина докладов с конференции EARL 2017 (Enterprise Applications of the R Language), прошедшей в сентябре этого года, содержат кейсы по использованию R для решения бизнес-задач. В докладах есть примеры по анализу данных в недвижимости, автоматизация деятельности аудиторов, анализ транспортных систем, анализ системы канализации и многие другие отрасли...
Бизнес-кейсы, когда применение R оправдано, в целом могут быть охарактеризованы следующим образом: по набору разнородных внутренних и внешних источников необходимо оперативно получить информацию о потенциально проблемных местах, требующих человеческого вмешательства. А также желательно предоставить весь набор информационных срезов и представлений, помогающих человеку принять оптимальное решение.
Понятно, что в такой постановке задачи требуется давать ответы не только на типовые вопросы, но и быть готовым быстро предоставить все необходимое для разового запроса. Акцент несколько смещается с методичного перелопачивания всей информации, сохраненной в корпоративной системе, к локальной композиции подходящих к контексту вопроса элементов из различных источников данных.
Какой функционал обычно бывает востребован?
- импорт данных из различных источников. txtcsv, xls, web scrapping, RDBMS.
- простейшая обработка данных (группировка, агрегатирование).
- временной анализ (как правило, 80% данных сопровождаются временными метками).
- расширенная обработка (элементы высшей математики, включая элементы машинного обучения); наиболее популярен поиск аномалий, различные классификаторы, рекомендации и прогнозирование и модная нынче тема “process mining”.
- визуализация способами X, Y, Z, (вписать недостающие).
- интеграция с внешними информационными системами для экспорта рассчитанных данных.
- экспорт в форматы, удобные для восприятия человеком. pdf, html, xls, doc, ppt.
- web-base рабочее место для аналитикарядового пользователя.
Приведенный функционал доступен в рамках экосистемы R без особой необходимости инсталляции каких-либо дополнительных сторонних компонент. Оптимальный open-source набор выглядит следующим образом:- RStudio IDE — для разработки и ad-hoc анализа;
- пакеты с CRANGitHub — для расширения функционала в контексте задачи;
- Shiny Server — для создания интерактивных web-based аналитических приложений.
- Plumber API для публикации функций R-аналитики для использования сторонними приложениями.
Все вышеупомянутое было относительно подробно разобрано в предыдущих публикациях.
Использование R позволяет отложить заботы про физическую реализацию. Практическая уверенность в том, что любые запросы бизнеса можно будет реализовать, позволяет сосредоточится на самом важном — на бизнес-потребностях, технологических и бизнес-процессах, физических ограничениях (если мы говорим о реальном секторе экономике), вникнуть в предметную область. Свобода от ограниченных ИТ технологий и продуктов!
И зачастую оказывается, что надо не пользователей слушать, а взаимодействовать с технологом, и изучать физику и химию процессов с тем, чтобы понять реальное проблемное место и предложить более адекватное решение.
С точки зрения бизнеса инструментарий R можно считать почти идеальным и вот почему:
- Отсутствует какой-либо финансовый барьер для начала использования:
- Не надо никаких первоначальный вложений в лицензии.
- Нет никаких лицензионных ограничений и проблем потенциального расширения.
- Нет никаких ежегодных платежей за поддержку лицензий.
- Все прекрасно работает на linux, нет необходимости в приобретении дополнительных ОС.
- Если внешние системы выдают необходимую информацию, то этого уже достаточно для начала проекта. Сопутствующие проекты по доработке не требуются, все можно будет сделать на уровне аналитики.
- Уже есть доказанная практика применения R в бизнесе практически во всех вертикалях.
- Не надо планировать глобальный проект, достаточно начать с частных проблемных мест. Проекты получаются компактными и быстрыми, результаты легко переводятся в деньги (заработанные или сэкономленные). Полученные результаты позволяют взглянуть на существующие задачи под иным углом зрения, обнаружить реальные проблемы и расставить акценты в более правильном виде.
Однако, как всегда, найдется и ложка дегтя.
На Западе R и Python проходят катком по задачам работы с данными. Любой интересующийся человек хоть краем уха слышал про эти языкиплатформы. В России же про R знает и слышали исчезающе малая группа людей. Шаг влево, шаг вправо — и мы оказываемся в мире 1С, C++, Java. Сложно, долго, дорого. Нескончаемый development, сильно ограниченный по функционалу “толстый клиент”.
Западное R коммьюнити можно считать сформировавшимся. Российское R коммьюнити не может появиться из ниоткуда. Может имеет смысл оглянуться вокруг и пробовать решать задачи по-другому? После успешного решения нескольких бизнес задач трудно будет заставить себя вернуться к старым методам. Слишком уж разительной будет перемена.
Предыдущий пост: «Цифровая экономика и экосистема R»
Автор: i_shutov