R — передовой инструментарий аналитика

20.09.2015 20:54

Александр Матрунич
Др.Джим Мас
Маркус Кайну
Эдуард Моппель

Информационный шквал и многоликость данных

ИТ-прогресс приумножил объёмы регистрируемых, передаваемых и хранимых данных. Гаджеты, приложения и веб-сервисы многогранно обслуживают жизнь людей и организаций: от подсчёта энергозатрат во время утренней пробежки — до оценки прибыльности портфеля.

Один в поле не воин

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

Сообщество разработчиков в действии

Свидетельства продуктивной деятельности сообществ разработчиков в поиске решений для удовлетворения всевозможных потребностей пользователей — магазины мобильных приложений Google Play и Apple AppStore, энциклопедия Wikipedia, семейство операционных систем GNU/Linux, среда обработки данных R.

R — сообщество профессионалов

Со времени своего появления (1992) R интегрирует экспертов по обработке данных. Язык программирования R позволяет выразить любую статистическую формулу — это способ общения аналитиков и статистиков со всего мира.

Он адекватен любым новым алгоритмам анализа, подходам к моделированию или к визуализации данных.

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

Сообщество R — хранилище экспертного знания

Современные средства глобального обмена знаниями — Stackoverflow, Twitter, блоги — ежедневно прирастают публикациями об R.

Это знание — в бесплатном доступе для любого желающего.

Программный комплекс R — гибкий инструмент

Структура программного пакета R — это общее ядро и тысячи расширений.

Поддержку и модернизацию R-ядра осуществляет комитет сменяемых выборных экспертов.

Расширения предоставляют разнообразный функционал: от эконометрики до распознавания спутниковых снимков, от работы с базами данных до распределённых паралелльных вычислений.

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

Тематики расширений R

Количество расширений по тематикам

Как появляются новые расширения?

Создавать расширения и делать их доступными в открытой библиотеке R-пакетов (CRAN) могут любые пользователи и организации.

Пример 1: Компания выпускает сервер баз данных и для стимуляции спроса публикует расширение, которое позволяет R-пользователю работать с базой данных напрямую.

Пример 2: Учёный раз Работал новый алгоритм анализа. Он реализует его на языке R и публикует в виде расширения.

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

Трудности использования R

  • Трудный старт: использование R требует большей предварительной подготовки, чем применение Excel или SAS. НО! Высокая степень гибкости и автоматизации R того стоит.
  • Английский — язык большинства доступных публикаций об R. Русскоязычные материалы обычно затрагивают начальный и средний R-уровни.
  • Множество вариантов решения одной и той же проблемы (функциональность расширений пересекается) требуют затрат времени на выбор подхода.
  • Качество расширений не всегда удовлетворительное: приходится тратить время на выбор надёжного.

Использование R: юридический аспект

Ядро R распространяется как свободное программное обеспечение (СПО) с открытым исходным кодом под условиями лицензии (договор присоединения / акцепта) GNU General Public License.

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

Расширения R могут распространяться под другими лицензиями, но подавляющее большинство пакетов также является общественным достоянием, т.е. СПО.

Особое внимание аудиту лицензий стоит уделять в случае, если планируется распространять/продавать продукты, включающие СПО.

Коммерческие компании и R

Множество компаний предлагает продукты и услуги, связанные с R.

  • Компания Revolution Analitics (100% дочка Microsoft) поставляет свою версию R, ориентированную на массивные вычисления. Поддерживаeт ряд расширений в CRAN для параллельных расчётов. Также осуществляет грантовую поддержку местных R-сообществ.
  • Компания RStudio выпускает самую популярную визуальную среду разработки RStudio IDE, расширения для интерактивных визуализаций.
  • Oracle, IBM предлагают комплексные программно-аппаратные решения со средой выполнения R.

R — гипермаркет инструментов анализа данных

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

R умеет:

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

Пример интерактивного приложения

Технология Shiny позволяет создавать в R интерактивные отчёты в формате веб-страницы. Когда пользователь манипулирует элементами интерфейса, R пересчитывает все затрагиваемые показатели и обновляет отчёт.

В предлагаемом примере приложение скачивает данные с сайта Казахстанской фондовой биржи.

Открыть Shiny-приложение

Исходный код приложения доступен в репозитории GitHub.

Приложение подготовлено Маркусом Кайну.

О разработке этих слайдов

Слайды были подготовлены в визуальной среде разработки RStudio в формате RMarkdown. Формат позволяет создавать документы и слайды в виде простого текста, и внедрять в него куски исходного кода R. В процессе компилирования исходный код заменяется результатами его выполнения — таблицами и графиками. Финальный документ экспортируется в PDF, Word, веб-страницу.

Исходный код этих слайдов (без элементов R) доступен в репозитории GitHub.

Матрунич Консалтинг

  • Подготовка и проведение тренингов по R.
  • Разработка аналитических решений.
  • Сопровождение проектов.

Матрунич Консалтинг: контакты

www.matrunich.com

office@matrunich.com

skype: amatrunitch

+393442548991

twitter: @matrunich