Анализ и визуализация данных в Corpwiki (XWiki) с применением языка R

Редактировал(а) Coluns 02.12.2024

CorpwikiR.png

Что такое язык программирования R

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

Особенности языка R:

  • Интерпретируемый. Программа на языке R сразу готова к исполнению — её не нужно собирать в исполняемый файл с помощью компилятора. 
  • Простой по синтаксису. R в своей основе не содержит сложных конструкций и запутанных функций. Даже типов данных у него всего четыре: символьные, числовые, логические и комплексные. 
  • Рабочая среда. В R встроены готовые методы статистического анализа и инструменты для визуализации. 

Сфера применения языка R: математики, биологи, генетики и другие учёные, которым нужно проводить статистические исследования и строить модели. Также R востребован среди аналитиков данных и специалистов по Data Science. 

Распространение: язык и среда доступны под лицензией GNU GPL. Распространяются в виде исходных кодов, а также откомпилированных приложений под ряд операционных систем.

Какая польза от использования языка R в бизнесе

С точки зрения бизнеса разработку приложений для анализа данных на языке R можно считать почти идеальным решением:

  1. Отсутствуют какие-либо финансовые барьеры для начала использования:
    • Не надо никаких первоначальный вложений в лицензии.
    • Нет никаких лицензионных ограничений и проблем потенциального расширения.
    • Нет никаких ежегодных платежей за поддержку лицензий.
    • Все прекрасно работает на linux, нет необходимости в приобретении дополнительных ОС.
  2. Если ваши внешние системы выдают необходимую информацию, то этого уже достаточно для начала проекта. Сопутствующие проекты по доработке не требуются, все можно будет сделать на уровне аналитики.
  3. Уже есть доказанная практика применения R в бизнесе практически во всех вертикалях.
  4. Не надо планировать глобальный проект, достаточно начать с частных проблемных мест.
    • Проекты получаются компактными и быстрыми, результаты легко переводятся в деньги (заработанные или сэкономленные).
    • Полученные результаты позволяют взглянуть на существующие задачи под иным углом зрения, обнаружить реальные проблемы и расставить акценты в более правильном виде.

  Если ваши корпоративные приложения умеют "отдавать" данные в любом виде, этого уже достаточно для их обработки в R
Доработка ваших систем не потребуется!

Вся обработка данных может быть выполнена на стороне приложения R.

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

Что умеют приложения на R

  • Импорт данных из различных источников. txt\csv, xls (Excel), web scrapping, RDBMS.
  • Обработка данных: фильтрация, группировка, агрегирование, добавление и вычисление.
  • Временной анализ (как правило, 80% данных сопровождаются временными метками).
  • Расширенная обработка (элементы высшей математики, включая элементы машинного обучения): Наиболее популярен поиск аномалий, различные классификаторы, рекомендации и прогнозирование и Process mining.
  • Визуализация данных различными способами.
  • Интеграция с внешними информационными системами для экспорта рассчитанных данных.
  • Экспорт в форматы, удобные для восприятия человеком, такие как: pdf, html, xls, doc, ppt.
  • Web-base рабочее место для аналитика\рядового пользователя.

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

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

  • Создать страницу в вашей базе знаний.
  • Разместить на ней код вызова приложения R.
  • Создать приложение R например в RStudio.
  • Разместить его в сервисе генерации.

Как работает интеграция между Corpwiki (XWiki) и приложениями на языке R

Мы в Corpwiki разработали подход позволяющий использовать всю мощь приложений написанных на языке R в XWiki.

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

Схематично процесс взаимодействия выглядит следующим образом:

Внешние данные.png

На страницу XWiki встраивается небольшой кусочек кода.

При обращении пользователя к такой странице, она запрашивает данные у сервиса обработки.

Данный сервис устанавливается "рядом" с XWiki и если например, ваша база знаний расположена на ваших серверах, то вы сможете также разместить данный сервис у  себя.

Безопасность корпоративных данных гарантирована.

Сервис обращается уже к XWiki откуда "забирает" данные для формирования отчетов или графики.

Такие данные могут забираться "в сыром" виде.

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

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

Для пользователя все выглядит так как будто он просто открыл страницу.

1733135160839-173.png

  Созданная инфографика является интерактивной

Другими словами есть возможность добавлять элементы управления на такие страницы и пользователи в режиме реального времени могут изменять настройки отображения.

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

Таким образом можно не только показывать данные "как есть" но и реализовать модели вида "как будет".

Например отобразить график зависимости чистой прибыли от численности персонала основываясь на средней выработке и медианном значении заработной платы сотрудников.

Внешние данные

Как можно увидеть на схеме, данные могут быть получены не только из объектов данных XWiki но и из любых внешних источников данных.

Это могут быть корпоративные приложения, базы данных, файлы Excel и тому подобное.

Данные из разных систем можно объединять и использовать для формирования отчетности и инфографики.

Таким образом вы сможете превратить вашу базу знаний в витрину данных или BI систему.

Посмотрите в разделе примеров какие возможности дает для отображения данных данный подход.

Примеры результатов работы приложений на языке R

Ниже мы разместили галерею скриншотов приложений и графиков созданных с применением языка R.

Любое из представленных решений, и любой график могут быть реализованы в вашей вики системе Corpwiki (XWiki).

Скриншоты возможных решений

Применение подобного подхода позволяет реализовать и более сложные интерфейсы и сценарии.

Об этом наша другая статья:  Альтернативные интерфейсы для Corpwiki (XWiki)