29 декабря 2016

Пять наиболее важных событий в мире R по итогам 2016 г.



Автор: Сергей Мастицкий

Рисунок заимствован с сайта
https://www.r-consortium.org
Традиционно попытаюсь подвести итоги 2016 г., перечислив пять наиболее важных (на мой взгляд) событий и тенденций, имевших место в этом году в мире R. Если упустил что-то интересное, пожалуйста, сообщите об этом в комментариях.
  • IDE RStudio v1.0. В ноябре компания RStudio объявила о выходе новой версии (1.0) их одноименного IDE для R. Это был 10-й крупный релиз этого продукта, начиная с февраля 2011 г. В состав RStudio v1.0 вошло большое количество нововведений, среди которых стоит отметить следующие:
    • работа с R Notebooks - инструментом для интерактивного исполнения R-кода и одновременного документирования получаемых результатов;
    • интеграция с функционалом пакета sparkyr (см. ниже);
    • интеграция с функционалом пакета profvis, предназначенного для выполнения профилирования R-кода;
    • улучшенные средства импорта данных (на основе пакетов readr, readxl и haven); 
    • возможность создавать несложные веб-сайты и документы размером с книгу при помощи языка разметки R Markdown.
  • Создание пакета sparklyr. Apache Spark - это чрезвычайно популярный инструмент для выполнения вычислений над "большими данными". Разработанный компанией RStudio пакет sparklyr представляет собой R-интерфейс для работы с этим инструментом. Важными особенностями sparklyr (в отличие от, например, встроенного в Spark пакета sparkR) являются следующие:
    • возможность написания легко читаемого кода с использованием синтаксиса, принятого в пакете dplyr;
    • пользователи R могут работать с большинством алгоритмов машинного обучения, реализованных в Spark'овской библиотеке MLlib;
    • как было отмечено выше, sparklyr интегрирован в RStudio v1.0, что делает работу с ним еще удобнее.
  • Релиз платформы Steam. Компания h20.ai выпустила Steam (под лицензией AGPL) - платформу, которая позволяет "...от начала и до конца выстроить весь процесс создания и разворачивания "умных" приложений". Если говорить "немаркетинговым" языком, то эта платформа помогает наладить совместную работу аналитиков, разрабатывающих предсказательные модели на базе движка h2o (поддерживаются такие языки программирования, как R, Python и Java), и разработчиков приложений (последние "потребляют" предсказания моделей посредством запросов к соответствующим API, которые можно легко опубликовать с помощью Steam). Выстраивание подобной связи между аналитиками и разработчиками эффективным образом - большая головная боль многих компаний, которые пытаются внедрять предсказательные модели в свои бизнес-процессы. В этом смысле Steam - платформа с большим потенциалом, особенно если учесть, что в состав h2o входят одни из наиболее эффективных алгоритмов машинного обучения среди существующих. Подробнее о Steam можно узнать из официальной документации, а также из приведенного ниже видео.



С наступающим Новым Годом! Добра и мира вам и вашим близким!

18 декабря 2016

Методы и критерии верификации регрессионных моделей



Автор: Владимир Шитиков

В предыдущих сообщениях неоднократно поднимались важные проблемы, связанные с диагностикой регрессионных моделей: проверка статистических допущений, лежащих в основе используемого метода построения модели, оценка адекватности структуры систематической части модели, тестирование чувствительности модели к аномалиям в структуре исходных данных и др. (см. часть 1, часть 2, часть 3). В данном сообщения попробуем в сжатой форме дать сводку методов и критериев верификации регрессионных моделей и подвести некоторые итоги того, что было частично рассмотрено ранее.




10 декабря 2016

Обзор R-пакетов за ноябрь 2016 г.



Автор рисунка: Xiao Nan
По состоянию на 10 декабря 2016 г. на сайте CRAN было опубликовано около 12 тысяч пакетов для R. Такое разнообразие приложений, наряду с очень активным сообществом пользователей, является уникальным преимуществом R, по сравнению с другими языками и системами, предназначенными для анализа данных. В то же время становится все труднее находить пакеты, подходящие для решения тех или иных задач. Эта проблема особенно актуальна среди пользователей, недотостаточно владеющих английским языком. Чтобы как-то помочь таким пользователям, я буду периодически делать небольшие обзоры наиболее интересных пакетов, опубликованных или обновленных примерно за последний месяц (ниже представлен обзор для ноябрь - начало декабря 2016 г.). Безусловно, эти обзоры будут в значительной мере отражать мое собственное представление о том, что является интересным. Поэтому если я что-то упустил, сообщайте об этом в комментариях. 
  • anytime - мощный инструмент для работы с любыми форматами дат.
  • Несколько утилит от Томаса Липера (Thomas Leeper) для работы с Amazon Web Services:
  • bayesplot - набор функций для визуализации апостериорных распределений параметров моделей и диагностики качества моделей, построенных с использованием принципов байесовской статистики. В частности, содержит функции, которые позволяют работать с моделями Stan.
  • bookdown - набор утилит для подготовки книг и технической документации с помощью R Markdown.
  • diverse - предназначен для вычисления целого ряда мер энтропии, используемых в социальных и других науках. Может оказаться особенно полезным для создания новых предикторов по имеющимся переменным при разработке предсказательных моделей.
  • fastcluster - эффективная (с точки зрения скорости вычислений) реализация иерархического кластерного анализа. Пакет одновременно содержит соответствующие функции как для R, так и для Python (см. руководство пользователя).
  • Radviz (от англ. radial coordinate visualisation) - позволяет выполнять проецирование многомерных данных на двухмерную плоскость, что, в частности, будет полезным при визуализации результатов кластерного анализа (см. руководство пользователя).
  • rex - набор функций для работы с регулярными выражениями. Стандартные возможности R для работы с регулярными выражениями трудно назвать "дружественными" для пользователя. Пакет rex решает эту проблему очень удачно (см. пример).
  • tsoutliers - функции для обнаружения выбросов при работе с временными рядами (по методу Chen & Liu, 1993).
  • Strategy - пакет для разработки и оценки эффективности торговых стратегий. Имеется возможность использовать как готовые стратегии, так и добавлять свои собственные.
Сергей Мастицкий


04 декабря 2016

Новые книги по R на русском языке



Осенью этого года в московском издательстве "ДМК Пресс" вышли две новые книги по R на русском языке. Краткое описание этих книг приводится ниже.


Визуализация данных играет важную роль на всех этапах статистического анализа – от первичного ознакомления со свойствами данных до диагностики качества построенных моделей и представления полученных результатов. Из всего разнообразия статистических программ выделяется R - интенсивно развивающаяся и свободно распространяемая система статистических вычислений, в которой реализовано множество классических и современных методов анализа данных. Программные реализации алгоритмов, входящих в базовую версию R, проверены на практике не одним поколением пользователей и ученых. Кроме того, пользователи R постоянно разрабатывают многочисленные дополнения (т.н. «пакеты») для этой системы. Настоящая книга посвящена ggplot2 - одному из таких пакетов, который значительно расширяет и без того богатые базовые графические возможности R. В 2015 г. ggplot2 был установлен более миллиона раз. Такая популярность этого пакета обусловлена несколькими причинами, среди которых можно отметить эстетическую привлекательность и пригодное для публикации качество получаемых с его помощью графиков, возможность создавать пользовательские типы диаграмм, а также большой набор опций для тонкой настройки внешнего вида графиков. В этой книге описаны основы работы с ggplot2 и приведены многочисленные примеры кода, которые читатели легко могут модифицировать для собственных нужд. Книга окажется полезной для всех пользователей R, желающих освоить новый мощный инструмент анализа данных.



Всё, что регистрирует человек и созданные им машины, может считаться данными. Фиксируя новое и переводя архивы в цифровую форму, мы с каждым днём производим всё больше данных. Часть из них находится в специальных хранилищах, готовые к использованию. Но гораздо чаще случается так, что данные разбросаны по всемирной сети на многочисленных страницах онлайновых магазинов, заметках в со­циальных сетях, логах серверов и т. п. Прежде чем начать работать с такими данными, их необходимо собрать и сохранить в пригодном для анализа виде. Решению этих вопросов и посвящена данная книга. Основной материал книги разделён на две части. В первой части дано краткое введение в R - описание среды разра­ботки, языка и основных пакетов-расширений. Вторая часть посвящена непосредственно сбору данных: работе с открытыми данными, извлечению данных из веб-страниц и из соци­альных сетей. Также рассмотрены необходимые технические вопро­сы: протокол HTTP, функции импорта данных различных форматов и регулярные выражения. Завершается рассказ созданием карт на основе собранных данных. Издание предназначено специалистам по анализу данных, а также программистам, интересующихся сбором данных в Интернете.

Распространение информации об этих книгах приветствуется!

Сергей Мастицкий