25 декабря 2015

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



Как и в прошлом году, попытаюсь подвести некоторые итоги, перечислив пять наиболее важных, как мне кажется, событий и тенденций, имевших место в мире R в 2015 г. Если упустил что-то интересное, пожалуйста, сообщите об этом в комментариях.
  • Слияние Revolution Analytics с Microsoft. В январе Microsoft приобрела компанию Revolution Analytics, которая специализировалась на создании коммерческих решений для работы с большими данными на базе R. Это событие подтвердило большой интерес к R со стороны Microsoft (среди прочих соответствующих проектов/продуктов стоит отметить, например, платформу Microsoft Azure Machine Learning, интеграцию R в SQL Server 2016 и в инструмент Microsoft Power BI).
  • Запуск shinyapps.io в коммерческое использование. В феврале компания RStudio запустила в коммерческое использование платформу shinyapps.io, позволяющую очень быстро и удобно развертывать веб-приложения, написанные с использованием популярного фреймворка Shiny.
  • Разработка пакета SparkR в рамках проекта Apache Spark. Сегодня Apache Spark является одной из наиболее популярных платформ для организации эффективных вычислений над большими данными. В июне компания Databricks объявила о том, что разработка пакета SparkR, позволяющего работать с этой платформой непосредственно из среды R, станет частью самого проекта Apache Spark и все последующие версии платформы будут включать этот пакет.
  • Создание Консорциума R. В июне The Linux Foundation объявили о создании новой организации - R Consortium (Консорциум R). Эта новая некоммерческая организация ставит своей целью поддержку деятельности R Foundation и обеспечение финансирования для развития и продвижения R. Финансирование проектов Консорциума осуществляют такие крупные компании, как Microsoft, RStudio, TIBCO, Oracle, Alteryx, Google и др.
  • Появление новых ресурсов по R на русском языке. Не может не радовать тенденция роста популярности R на постсоветском пространстве, выражающаяся, помимо прочего, в появлении большого количества публикаций и целых онлайн-курсов на русском языке по работе с R. В частности, хотелось бы отметить следующие ресурсы:

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


29 ноября 2015

Интересное из мира R (16-29 ноября 2015 г.)



  • Аббревиатура API расшифровывается как "Application Programming Interface" (интерфейс программирования приложений). По сути, это способ доступа к функционалу одной программы из другой программы. Сегодня эта концепция используется сплошь и рядом, в том числе при разработке аналитических приложений и развертывании предсказательных моделей. В своем блоге Кристоф Вальдхаузер (Christoph Waldhauser) привел подробный пример того, как можно работать с различными API из среды R.
  • В продолжение предыдущего пункта, стоит сослаться на статью из блога Revolution Analytics, в которой приводится описание способов безопасного использования учетных данных пользователя при интеграции R-скриптов со сторонними API.
  • API позволяют наладить поток данных не только в среду R, но и в обратном направлении. Представьте, что вы создали некоторую модель при помощи R и теперь хотели бы использовать ее в каком-то другом приложении. Для этого существует много разных способов (например, можно воспользоваться такими R-пакетами, как httpuv, prairie, plumber, jug, а также платформами MS Azure Machine Learning и Domino). В блоге FishyOperations можно ознакомиться с примерами работы одного из перечисленных пакетов - jug.
  • В последнее время все большую популярность набирает H2O - платформа с открытым кодом для реализации целого ряда мощных алгоритмов машинного обучения. В значительной мере растущая популярность H2O обусловлена возможностью эффективной работы с данными большого объема даже на бытовых компьютерах. Помимо других языков, эта платформа предоставляет API для R (см. пакет h2o). В своем блоге Лонгхов Лэм (Longhow Lam) опубликовал подробную статью с примерами использования H2O в связке с R.
  • Как и ожидалось, компания Mango Solution запустила сайт Data Science Radar. Этот сайт позволяет специалистам в области анализа данных создать профиль своих навыков и представить его графически в виде "радара". Для составления профиля необходимо ответить на 24 вопроса. Мой профиль показан на картинке выше :)

P.S.: В последние пару месяцев новые статьи в этом блоге появлялись редко. Это было связано с тем, что практически все мое свободное время уходило на перевод книги "An Introduction to Statistical Learning". Если все пойдет по плану, то книга будет опубликована в начале следующего года, и тогда я вернусь в свой привычный режим "одна-статья-в-неделю". Следите за новостями!



03 октября 2015

Введение в словарный и семантический анализ документов (на примере предвыборных программ кандидатов в президенты Беларуси)



11 октября 2015 г. в Беларуси состоятся очередные президентские выборы. На высшую должность претендуют четыре кандидата, каждый из которых, естественно, опубликовал свою предвыборную программу в СМИ. Это хороший случай, чтобы продолжить начатую ранее тему и продемонстрировать дополнительные методы анализа текстовой информации. В частности, мы попытаемся ответить на следующие вопросы:

1) Насколько сходны программы кандидатов по своему словарному составу?
2) В чем именно заключается основная идея (или идеи) каждого документа?

Программы каждого кандидата без труда можно найти в Сети (файлы c текстом каждой программы, а также R-код для воспроизведения приведенных здесь примеров, доступны на GitHub):
Помимо перечисленных выше четырех документов в анализ были включены также программы А. Лукашенко за 2006 (lu06) и 2010 (lu10) годы. Включение этих дополнительных документов представляет интерес с точки зрения изучения эволюции тематики предвыборных обещаний действующего главы Беларуси.




20 сентября 2015

В Лондоне прошла конференция "Эффективные применения языка R - 2015"



На этой неделе в Лондоне прошла 2-я конференция "Effective Applications of the R Language (EARL)" ("Эффективные применения языка R"), организованная консалтинговой компанией Mango Solutions (первая конференция состоялась в прошлом году). EARL представляет собой форум, участники которого обмениваются опытом внедрения аналитических решений на основе R в бизнес-процессы.

Конференция началась с нескольких проводившихся параллельно практических семинаров: 1) "Integrating R and Python - an introduction to using both in a data analysis pipeline" ("Интегрирование R и Python - введение в использование обоих языков в анализе данных"); 2) "Current best practices in formal package development" ("Современный передовые методы формальной разработки пакетов"); "Introduction to Rcpp" ("Введение в Rcpp") и "Interactive reporting with R" ("Создание интерактивных отчетов при помощи R").


09 сентября 2015

Опубликована новая книга на русском языке по практическому применению методов машинного обучения



В издательстве ДМК Пресс вышла новая переводная книга по машинному обучению - "Построение систем машинного обучения на языке Python" (оригинал - "Building Machine Learning Systems with Python"). Как следует из названия, все примеры в книге построены на Python - одном из главных конкурентов R в области "науки о данных" в настоящее время. Тем не менее, для понимания описанных примеров знание Python не обязательно - читателю достаточно иметь опыт программирования на любом другом языке и некоторую подготовку в статистике.

На мой взгляд, основным достоинством этой книги является ее практическая ориентация - все примеры представляют собой конкретные прикладные проблемы. Необходимая теоретическая часть также описана простым и понятным языком. Таким образом, книга будет интересна всем, кто интересуется методами машинного обучения и их практическим применением, вне зависимости от программного обеспечения, которое используется для реализации этих методов.


06 сентября 2015

Интересное из мира R (10 августа - 6 сентября 2015 г.)



  • Экосистема R продолжает расти с захватывающим дух темпом. 12 августа 2015 г. количество пакетов, опубликованных в хранилище CRAN, превысило 7000. Увеличение с 6000 до 7000 произошло за 286 дней - это значит, что в настоящее время ежедневно "рождается" примерно 3.5 новых пакета в день. Следует отметить, что эти данные касаются только CRAN. Существуют и другие хранилища с большим числом дополнительных пакетов для R - Bioconductor, R-Forge, Github т.д.
  • В блоге компании Revolution Analytics была сообщено о том, что платформа Revolution R Enterprise стала доступной на Azure Marketplace. Пользователи имеют возможность работать с данными размером до 1 ТБ, запрашивая от 4 до 32 виртуальных процессоров. Минимальная стоимость за пользование сервисом составляет 1.5$ за час работы на машине с 4 процессорами.
  • Максвелл Джозеф (Maxwell Joseph), аспирант из университета Колорадо, разместил в своем блоге более 20 видео-уроков, охватывающих наиболее распространенные проблемы, с которыми сталкиваются новые пользователи R.
  • Роб Рудис (Rob Rudis) привел у себя в блоге пример работы с пакетом docxtractr, который позволяет извлекать табличные данные из документов Word и формировать из них стандартные таблицы данных R.
  • Андрей Огурцов (автор блога "Биостатистика и язык R") сообщил о завершении работы над русскоязычным переводом документации по пакету dplyr. Все переведенные статьи можно найти на соответствующей Github-странице.

31 августа 2015

Разбиение исходных данных на обучающую и контрольную выборки



Как было отмечено ранее, при построении предсказательных моделей исходные данные обычно разбиваются на обучающую ("training set") и контрольную ("test set", "validation set") выборки. Обучающая выборка используется собственно для "обучения" той или иной модели, т.е. для построения математических отношений между некоторой переменной-откликом и предикторами, тогда как контрольная (= "проверочная", "экзаменационная") выборка служит для получения оценки прогнозных свойств модели на новых данных, т.е. данных, которые не были использованы для обучения модели. Как правило, обучающая выборка составляет 75-80% от объема исходных данных, хотя каких-то строгих правил в этом отношении не существует. Рассмотрим, как можно выполнить подобное разбиение исходных данных на обучающую и контрольную выборки стандартными средствами R и при помощи пакета caret.


13 августа 2015

Подготовка данных для создания предсказательных моделей: преобразование качественных переменных в количественные



Рисунок заимствован из Wiki
Эта статья завершает обзор основных методов подготовки данных для создания предсказательных моделей и посвящена преобразованию качественных предикторов (= категориальных, или факторных переменных) в количественные. Многие статистические методы требуют, чтобы все входные данные были представлены количественными переменными. Однако обычны ситуации, когда в состав данных входят не только количественные, но и качественные предикторы (пол, социальный статус, должность, почтовый индекс, город, наличие заболевания и т.п.). Распространенным подходом для преобразования таких переменных в количественные является создание индикаторных, или фиктивных переменных (англ. "dummy variables"). Мы уже сталкивались с такими переменными при рассмотрении линейных моделей, подгоняемых при помощи базовой функции lm(). Эта и подобные ей функции (например, glm()) выполняют преобразование качественных предикторов в индикаторные "на лету", не требуя от пользователя никаких дополнительных действий. Однако при работе со многими методами машинного обучения пользователь должен сначала самостоятельно преобразовать качественные переменные в индикаторные и добавить их в таблицу с данными. Рассмотрим, как это можно сделать при помощи пакета caret.


09 августа 2015

Интересное из мира R (13 июля - 9 августа 2015 г.)



  • В блоге Revolution Analytics Дэвид Смит (David Smith) сообщил о создании нового подкаста "R Talk", который будет посвящен новостям о языке R и примерам его использования в академических исследованиях и промышленных приложениях.
  • Боб Мюнхен (Bob Muenchen) в своем блоге перечислил области, на которые, по его мнению должен обратить внимание недавно созданный консорциум "R Consortium". Эти области включают: разработку механизма, облегчающего пользователям поиск и выбор необходимых им пакетов; тестирование точности вычислений наиболее популярных пакетов; разработку рейтинга пакетов по числу их разработчиков (что поможет пользователю оценить потенциальную длительность "жизненного цикла" того или иного пакета); агитацию по использованию ряда функций общего назначения ("generic functions"), широко применимых в разнотипных аналитических проектах; создание механизмов, облегчающих вывод результатов вычислений из R в Microsoft Word; создание графического пользовательского интерфейса наподобие тех, что реализованы в платформах Alteryx или KNIME.
  • Норман Мэтлофф (Norman Matloff, автор известной книги The Art of R Programming) сообщил о публикации новой версии своего пакета partools, который позволяет организовать параллельные вычисления над данными большого объема, используя принципы, реализованные в Spark'е, но средствами R.
  • Компания Microsoft запустила собственный онлайн-курс по R на базе платформы EdX. При успешном окончании курса возможно получение сертификата.



02 августа 2015

Какую модель выбрать, учитывая, что бесплатный сыр бывает только в мышеловке?



Рисунок заимствован с сайта coursera.org
Одна из ключевых проблем, с которой исследователь сталкивается при разработке предсказательной модели, заключается в выборе оптимального для конкретного случая статистического метода. За последние несколько десятилетий было разработано огромное множество методов для решения задач классификации и регрессии (см., например, список моделей, реализованных в пакете caret), что, безусловно, существенно затрудняет этот выбор. Часто выбор того или иного метода обусловлен предыдущим опытом и уровнем осведомленности исследователя. Так, в определенных областях может существовать своего рода "традиция" по использованию тех или иных методов для решения конкретного круга задач. В силу естественной ограниченности своей специализации исследовать может также просто не знать о существовании методов, которые являются более подходящими для его ситуации. Можно столкнуться и с такими случаями, когда некий разработчик аналитического программного обеспечения утверждает, что его новый алгоритм "не имеет аналогов", превосходя все другие доступные решения. В этой связи хорошо было бы иметь хотя бы общее представление о том, на какие методы следует обратить особое внимание, т.е. какие из них с высокой вероятностью хорошо сработают в большинстве ситуаций. Наличие подобной информации будет особенно полезным при работе над новыми проектами/данными, когда предыдущий опыт, который мог бы подсказать, с чего стоит начинать, отсутствует.



19 июля 2015

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



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




12 июля 2015

Интересное из мира R (29 июня - 12 июля 2015 г.)



Из всего произошедшего в мире R за последние две недели хотелось бы отдельно остановиться на одной, но очень большой новости - 30 июня The Linux Foundation объявили о создании R Consortium (Консорциум R). Это объявление было также продублировано на сайтах нескольких компаний, которые вошли в Консорциум (в частности, MicrosoftRStudio, Revolution Analytics, Mango Solutions, Oracle и др.). Помимо перечисленных компаний, членами организации стали также TIBCO Software Inc., Alteryx, Google, HP и Ketchum Trading.

Новый Консорциум является некоммерческой организацией, которая ставит своей целью поддержку деятельности R Foundation и обеспечение финансирования для развития и продвижения R. Конкретные проекты, которые предполагается реализовать в ближайшем будущем включают улучшение инфраструктуры R Forge, финансирование ежегодной конференции "userR!" (последняя конференция, кстати, прошла на прошлой неделе и собрала более 660 участников со всего мира) и общую поддержку совместной работы пользователей и разработчиков R (в частности, создание инфраструктуры, позволяющей централизованно выполнять тестирование кода R и тем самым способствовать повышению качества программного обеспечения, написанного на этом языке).

Как и следовало ожидать, новость о создании Консорциума была освящена на нескольких крупных tech-порталах, таких как Venturebeat, Datanami, Computerworld, CIO, Infoworld, CloudTimes. Среди пользователей R можно было встретить как положительные, так и весьма скептичные мнения по поводу создания Консорциума (в частности, имеют место опасения в связи с растущей коммерциализацией R).


05 июля 2015

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



Стадия подготовки исходных данных играет очень важную роль в процессе создании эффективных предсказательных моделей. Следующие сообщения будут посвящены основным процедурам, используемым на этой стадии. Начнем с обнаружения и удаления "ненужных" предикторов (признаков).




28 июня 2015

Интересное из мира R (15 - 28 июня 2015 г.)



"Ньюсмейкером" в последние дни была компания RStudio, которая сообщила о:
  • нескольких новых пакетах: leaflet для создания интерактивных географических карт на основе известной JavaScript-библиотеки Leaflet; DT для создания интерактивных HTML-таблиц на основе библиотеки DataTables, а также d3heatmap для построения интерактивных тепловых карт в духе D3.js.
  • нескольких приятных изменениях в сервисе shinyapps.io - возможности использования пользовательских доменных имен в адресах Shiny-приложений, расширении допустимого размера приложений до 1 Gb, возможности присвоения нового имени аккаунту и др.
Из других событий:

21 июня 2015

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



Многие современные методы регрессии и классификации способны описать очень сложные нелинейные связи между предикторами и переменной-откликом. Однако без должного контроля со стороны исследователя модели, хорошо описывающие обучающую выборку, рискуют исказить истинный характер моделируемой связи, что приведет к невозможности воспроизвести столь же точные предсказания на новых независимых данных. Эта проблема известна как "переобучение модели" (англ. "model overfitting") и занимает одно из центральных мест в теории и практическом применении предсказательных моделей.




14 июня 2015

Интересное из мира R (1 - 14 июня 2015 г.)



  • В своем блоге Боб Мюнхен (Bob Muenchen) опубликовал результаты небольшого исследования "доли рынка" аналитического программного обеспечения на основе числа книг, опубликованных по каждой программе/системе. Выяснилось, что R занимает, как минимум, 3-е место (на 1-м и 2-м местах оказались SAS и SPSS соответственно, хотя многие книги по этим системам имеют несколько изданий, что завышает общее число публикаций по ним).
  • В блоге компании Databricks было объявлено о том, что в новый релиз Apache Spark (фреймворк для организации кластерных вычислений при работе с большими данными) будет включен пакет SparkR, который позволит использовать возможности Spark'а прямо из консоли R. Синтаксис команд SparkR похож на команды dplyr, что облегчит освоение этого нового API пользователям dplyr.
  • В блоге The DataCamp было опубликовано сообщение, в котором в сжатой и очень доступной форме обобщены 15 полезных "рецептов" работы с таблицами данных (data frames) в R.
  • На DataReview.info приведен пример сбора данных с веб-сайтов при помощи пакета rvest.
  • 15 июня на базе платформы T&P начинается бесплатный онлайн-курс "Статистический анализ даных на R".


09 июня 2015

Открыт предварительный заказ нового издания книги "Статистический анализ и визуализация данных с помощью R"



С радостью сообщаю, что опубликованная в декабре прошлого года электронная книга "Статистический анализ и визуализация данных с помощью R" будет в ближайшее время издана также в "бумажном" виде. Уже сейчас это переработанное и дополненное издание, содержащее 496 страниц, можно предварительно заказать со скидкой 20% на сайте "ДМК Пресс" (559 vs. 699 российских рублей). Опубликованная ранее электронная версия по-прежнему будет распространяться бесплатно, однако каких-либо исправлений и дополнений вносить в нее не планируется. Мой соавтор, Владимир Кириллович Шитиков, и я будем благодарны, если Вы поможете распространить эту новость. Спасибо!

UPD: Здесь можно ознакомиться с содержанием книги.

07 июня 2015

Пакет caret - универсальный интерфейс для доступа к десяткам алгоритмов машинного обучения



Использование сложных алгоритмов для построения предсказательных моделей становится все более распространенным в самых разных областях - от академических исследований до всевозможных бизнес-приложений. Среда статистических вычислений R отличается особенно высоким количеством реализованных в ней алгоритмов машинного обучения, на основе которых можно создавать подобные модели. Однако вместе с явным преимуществом наличия такого большого количества алгоритмов возникают и некоторые проблемы. В частности, для аналитика становится все сложнее помнить особенности применения и синтаксиса соответствующих R-функций. Кроме того, функции, позволяющие реализовать полный цикл разработки предсказательных моделей, часто "разбросаны" по разным пакетам, что требует времени для поиска необходимых функций и их освоения. В связи с этим доктор Макс Кун (Max Kuhn; директор отдела неклинических исследований в компании Pfizer) предпринял попытку разработать универсальный интерфейс, предоставляющий доступ к основым алгоритмам машинного обучения, реализованным в R и других специализированных статистических системах (например, Weka). Результатом этой работы стал пакет caret (от "classification and regression training"). Первая статья с описанием основных возможностей этого пакета, была опубликована Максом в журнале Journal of Statistical Software в 2008 г. Сегодня caret стал одним из наиболее популярных инструментов среди пользователей R, занимающихся разработкой предсказательных моделей.




31 мая 2015

Интересное из мира R (18-31 мая 2015 г.)



  • Вышла новая полноценная версия интегрированной среды разработки RStudio (v0.99). C обзором многочисленных нововведений можно ознакомиться в приведенном ниже видео.

  • Согласно последнему опросу, проведенному на сайте KDnuggets, R является наиболее популярным инструментом среди специалистов в области анализа данных.

    Рисунок заимствован с сайта KDnuggets.com

  • Упомянутая выше популярность R среди специалистов по анализу данных объясняется, помимо прочих причин, и разнообразием реализованных в этой системе методов. Так, Боб Мюнхен (Bob Muenchen) у себя в блоге представил результаты небольшого исследования, согласно которому количество функций, написанных для R, сегодня в ~150 раз превышает количество функций для SAS.
  • На Хабрахабре была опубликована интересная статья о реализации в R алгоритма глубокого обучения word2vec.
  • На сайте Клуба трейдеров Smart-lab.ru была опубликована статья с примером построения в R модели ("наивный байесовский классификатор"), предсказывающей цену акций Apple.


23 мая 2015

Протокол разработки предсказательных моделей, предназначенных для решения бизнес-задач



В отличие от моделей, основное назначение которых заключается в установлении взаимоотношений между предикторами и некоторой переменной-откликом и, как следствие, наиболее распространенных в академической среде, предсказательные модели особенно популярны в мире бизнеса. Это не удивительно, поскольку возможность делать предсказания в отношении критических для бизнеса явлений и процессов дает конкурентное преимущество, а нередко лежит и в основе самого бизнеса (Google, Amazon, Netflix, и т.д.). Разработка предсказательной модели для решения бизнес-задач - очень сложная задача, поскольку требует экспертизы во многих областях - от глубокого понимания конкретного бизнес-домена, до баз данных, IT-инфраструктуры и, конечно же, методов статистики/машинного обучения. Есть очень мало людей, которые имеют все эти навыки, в связи с чем планирование и выполнение проекта по разработке и запуску предсказательной модели - это всегда командная работа. Любой успешный бизнес строится на хорошо структурированных и "обкатанных" на практике процессах и правилах. Существуют подобные правила и для проектов, связанных с разработкой предсказательных моделей. Это сообщение посвящено одному из наиболее широко применяемых таких протоколов - т.н. "межиндустриальному стандартному протоколу глубинного анализа данных" ("Cross-Industry Standard Protocol for Data Mining", CRISP-DM).




17 мая 2015

Интересное из мира R (4-17 мая 2015 г.)



  • Похоже, скоро мы увидим первый, и очень серьезный, результат слияния компании Revolution Analytics с Microsoft. Как стало известно из официального блога Microsoft, этим летом для публичного ознакомления будет выпущена предварительная версия SQL Server 2016. Одной из отличительных особенностей новой версии этого лидирующего продукта Microsoft станет полная его интеграция с R, а именно Revolution R Open. Аналитические задачи можно будет решать при помощи R прямо на стороне сервера, без предварительного извлечения данных через интерфейс ODBC и их переноса в среду R, что сэкономит время и место для хранения данных.
  • Число пакетов R постоянно растет и все сложнее становится найти пакеты, необходимые для решения конкретных задач. В связи с этим все чаще можно встретить списки рекомендуемых пакетов. Один из таких списков общего назначения был опубликован на портале Computerworld.
  • Вышла новая версия популярного пакета forecast (v6.0), особенностью которого является возможность автоматического выбора наиболее оптимальной модели для прогнозирования на основе временных рядов. Подробнее со списком изменений, реализованных в новой версии, можно ознакомиться в сообщении, опубликованном  автором пакета - проф. Робом Хиндманом.
  • В июне на базе платформы Stepic начнется трехнедельный курс по R на русском языке от Института биоинформатики (Санкт-Петербург).
  • Андрей Огурцов в своем блоге затронул тему нехватки литературы по применению R в области клинических исследований и привел список имеющихся на данных момент работ.

16 мая 2015

Создание предсказательных моделей: основные шаги



Как отмечалось в одном из предыдущих сообщений, статистические модели создаются либо с целью получения предсказаний, либо для понимания взаимоотношений между переменной-откликом и предикторами. Создание предсказательных моделей (англ. "predictive models", в некоторых областях также "forecasting models") включает ряд стандартных шагов, обзор которых приведен ниже. Этим сообщением я начинаю новую серию публикаций по методам машинного обучения ("machine learning"), или "статистического обучения" ("statistical learning"; James et al. 2013), и построению предсказательных моделей с их помощью.




03 мая 2015

Интересное из мира R (27 апреля - 3 мая 2015 г.)



  • В своем блоге "Язык R в финансах и экономике" Илья Езепов опубликовал перевод известной страницы Google's R Style, в которой приводятся советы по оформлению скриптов, написанных на R. Очень рекомендую!
  • Андрей Огурцов в своем блоге "Биостатистика и язык R"  привел подробный пример расчета оптимального объема выборок для проведения исследований по установлению терапевтической эквивалентности разных способов лечения.
  • На сайте soc-research.info Сергей Дембицкий привел пример функции, позволяющей выполнять взвешивание данных при работе с таблицами сопряженности.
  • На образовательном сайте Exponenta.ru появилось учебное пособие "Язык R". Автор этой работы - Наиль Мусин, доцент факультета информационных технологий Ун-та Российской академии образования.
  • Новое издание книги "Статистический анализ и визуализация данных с помощью R", в которой обобщаются материалы данного блога, будет опубликовано в "бумажном варианте" издательством ДМК Пресс (Москва). Рукопись уже передана в издательство. Следите за новостями.

26 апреля 2015

Интересное из мира R (20-26 апреля 2015 г.)



На этой неделе многие интересные публикации были связаны с фреймворком Shiny:
  • Дин Аттали (Dean Attali) объявил о выходе своего пакета shinyjs, который позволяет реализовывать распространенные JavaScript-операции в Shiny-приложениях.  Дин приводит подробный пример использования этого нового пакета.
  • У себя в блоге Дин Аттали также опубликовал статью, в которой он рассматривает Shiny как один из возможных инструментов для документации возможностей R-пакетов.
  • В блоге набирающего популярность сервиса Plotly приведен пример создания интерактивных дэшбордов путем объединения возможностей Plotly и Shiny.
На другие темы:
  • Дирк Эддельбюттель (Dirk Eddelbuettel) у себя в блоге объявил о создании ghrr - GitHub Hosted R Repository. Как следует из названия этого проекта, речь идет о новом механизме распространения R-пакетов, разработка которых ведется на базе платформы GitHub.
  • Судя по всему, слияние Revolution Analytics с Microsoft завершено, и теперь началось формирование новой команды, которая будет заниматься продвижением R в бизнес-среде. В связи с этим в Microsoft объявлены несколько вакансий для R-программистов.

19 апреля 2015

Интересное из мира R (13-19 апреля 2015 г.)



  • Вышла новая версия R v3.2.0. В этой версии разработчиками был сделан упор на оптимизацию быстродействия (в духе того, как это реализовано в pqR) и работы с данными большого объема (например, теперь без труда можно выполнять операции cbind/rbind над матрицами, содержащими более 2 млрд. элементов).
  • Вводные уроки по R на платформе DataCamp теперь стали бесплатными. Подробнее см. здесь.
  • Хэдли Уикхэм объявил о выходе своего нового пакета readxl, предназначенного для облегчения загрузки данных из Excel  в R. Пакет без проблем работает на машинах под управлением все распространенных операционных систем и не требует установки никаких дополнительных компонентов.
  • Маркус Гесманн в своем блоге привел полезный пример того, как к графику, построенному при помощи ggplot2, можно добавить таблицу со сводной информацией по изображенным данным.
  • "Священная война" между приверженцами R и Python не утихает. На сайте datareview.info была опубликована переводная статья, в которой проводится сравнение графических возможностей пакетов ggplot2 (R) и Seaborn (Python).

12 апреля 2015

Интересное из мира R (6-12 апреля 2015 г.)



  • В блоге RStudio Хэдли Уикхэм (Hadley Wickham) объявил о выходе своего нового пакета readr, предназначенного для импорта данных в среду R. В отличие от функций базовой версии R, функции пакета readr работают в среднем в 10 раз быстрее.
  • 15 апреля Уинстон Чэнг (Winston Chang) из RStudio проведет вебинар по созданию интерактивных дэшбордов при помощи Shiny. Желающие принять участи в этом вебинаре могут зарегистироваться здесь.
  • Некто Bart6114 у себя блоге объявил о создании sparklines - пакета для R, который позволяет строить искрографики подобные тем, что реализованы в известной библиотеке jQuery Sparklines. Этот новый пакет отлично подойдет для создания отчетов и других подобных документов с использованием R Markdown.
  • Джон Мушелли (John Muschelli) объявил у себя в блоге о созданном им пакете matlabr, который, как не сложно догадаться из названия, позволяет выполнять код Matlab из среды R.
  • На Хабрахабре была опубликована интересная статья с примером использования R для мониторинга цен у фирм-конкурентов. По сути, описывается создание простого парсера html-страниц средствами R.

04 апреля 2015

Интересное из мира R (30 марта - 5 апреля 2015 г.)



  • Импорт данных в R из Excel - довольно распространенная операция. Несмотря на наличие нескольких пакетов, позволяющих выполнять эту задачу, часто пользователи сталкиваются с разного рода проблемами. В блоге компании DataCamp опубликованы пошаговые инструкции загрузки данных из Excel в R, которые помогут обойти наиболее частые проблемы.
  • Той же компанией DataCamp объявлен запуск бесплатного курса по R (R Fundamentals), состоящего из нескольких видео-лекций.
  • Гарет Гролмунд (Gareth Grolemund) из RStudio опубликовал очередную шпаргалку - на этот раз по визуализации данных при помощи пакета ggplot2. Шпаргалки от RStudio по другим темам можно найти здесь.
  • Маркус Гесман (Markus Gesmann) в своем блоге mages' blog привел пример работы с пакетом rpivotTable, позволяющим создавать интерактивные сводные таблицы в духе Pivot-таблиц Excel непосредственно в среде R.
  • Александр Крот опубликовал на Хабрахабре статью, в которой поделился своим опытом работы с большими данными в компании Билайн. Помимо прочих инструментов, в компании активно используют R для прототипирования различных моделей.

03 апреля 2015

Метод "случайный лес" помогает понять факторы, определяющие расселение чужеродного вида



Двустворчатый моллюск дрейссена речная (Dreissena polymorpha) является одним из наиболее агрессивных пресноводных видов-вселенцев. Выходец из Понто-Каспийского региона, этот вид сегодня встречается практически на всей территории Европы, а также во многих водоемах Северной Америки. Вселение дрейссены вызывает значительные экосистемные изменения в водоемах и часто приводит к существенному экономическому урону (см., например, список публикаций здесь). В связи с этим важно иметь возможность заблаговременно предсказывать вероятность появления дрейссены в конкретном водоеме и формирования устойчивой популяции моллюска.



29 марта 2015

Интересное из мира R (23-29 марта 2015 г.)



  • Во вторник на этой неделе состоялся вебинар "Reproducibility with Revolution R Open and the Checkpoint Package", организованный, как несложно догадаться, компанией Revolution Analytics. Обсуждался пакет checkpoint, который обеспечивает работоспособность любого кода R за счет создания локальных репозиториев всех пакетов, задействованных в том или ином проекте (подробнее см. здесь и здесь). Ниже представлена презентация с этого вебинара.


27 марта 2015

Диагностика линейных регрессионных моделей. Часть 3



Это сообщение является последним по теме диагностики линейных моделей (см. первые две части здесь и здесь). Обсуждение этой темы мы завершим рассмотрением наиболее распространенных количественных показателей, позволяющих обнаружить влиятельные наблюдения. Как следует из их названия, влиятельные наблюдения оказывают существенное воздействие на оценки коэффициентов регрессионной модели. Такие наблюдения обладают как минимум одним из рассмотренных ранее свойств, т.е. являются либо выбросами, либо имеют высокий потенциал воздействия, но чаще всего в определенной степени сочетают в себе оба этих свойства.


22 марта 2015

Интересное из мира R (16-22 марта 2015 г.)



  • Роберт Мюнхен (Robert Muenchen, автор таких книг, как "R for SAS and SPSS users" и "R for Stata users") опубликовал в своем блоге интересную статью с советами по поводу того, "как помочь вашей организации перейти на R".
  • Джулиан Хиллебранд (Julian Hillebrand) привел в своем блоге Think to Start подробный пример работы с LinkedIn API средствами R.
  • Боб Рудис (Bob Rudis) сообщил о созданном им пакете waffle, который позволяет создавать т.н. "вафельные" диаграммы (одна из альтернатив круговым диаграммам - см. пример ниже).

    Источник: http://rud.is

  • Дэвид Робинсон (David Robinson) привел примеры возможностей своего пакета broom, который позволяет преобразовывать результаты вычислений нескольких базовых функций R (lm(), nls(), kmeans() и др.) в опрятно оформленные таблицы. Такие таблицы далее легко использовать для последующих вычислений или построения графиков.
  • В блоге "Язык R в финансах и экономике" опубликован интересный пример реализации стратегии парного трейдинга.

15 марта 2015

Интересное из мира R (9-15 марта 2015 г.)



  • Гарет Гролмунд (Gareth Grolemund) из RStudio опубликовал очень полезную шпаргалку по созданию пакетов R, которую можно скачать по этой ссылке. Шпаргалки от RStudio по другим темам можно найти здесь.
  • При выполнении параллельных вычислений в R (например, при помощи пакета foreach) часто хочется иметь индикатор процесса, чтобы знать, сколько времени осталось до завершения задачи. В блоге Revolutions опубликована статья с примером того, как такой индикатор можно написать самостоятельно, если используемые пакеты не имеют готовых решений.
  • Новая версия популярной программы для визуализации данных и создания дэшбордов Tableau v9.0 будет способна напрямую считывать файлы данных в формате R.
  • В блоге "Язык R в финансах и экономике" опубликована интересная статья, описывающая применение метода случайного леса для предсказания цены акций.
  • Я начал работу по переводу книги "An Introduction to Statistical Learning with Applications in R" на русский язык. Книга будет опубликована издательством ДМК Пресс (см. также здесь и здесь) примерно в начале следующего года.

11 марта 2015

Книга Петера Флаха по машинному обучению переведена на русский язык



Издательство "ДМК Пресс", в котором ранее вышли книги А. Б. Шипунова и соавт. "Наглядная статистика. Используем R!" и Р. Кабакова "R в действии. Анализ и визуализация данных на языке R", продолжает радовать новинками - на прошлой неделе был опубликован перевод известной книги Петера Флаха по машинному обучению (Peter Flach, "Machine Learning. The Art and Science of Algorithms that Make Sense of Data").

Эта новая книга, которая на русском языке вышла под названием "Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных" стала первой из планируемой издательством серии работ по машинному обучению. Благодаря ясному изложению, хорошей организации и большому числу подробно рассматриваемых примеров, оригинал книги П. Флаха хорошо известен и популярен среди академических исследователей и практикующих аналитиков. В этой работе рассматривается широкий круг современных методов машинного обучения, предназначенных для решения задач регрессии, классификации, кластеризации и создания списков правил. Большое внимание уделяется роли входных признаков и способам их конструирования. Наконец, целая глава посвящена ансамблям моделей. Отлично оформленное переводное издание (в цвете, твердая обложка) ни в чем не уступает оригиналу. Особенно порадовал очень качественный перевод. 

Настоятельно рекомендую всем, кто интересуется машинным обучением и теорией соответствующих методов! Такие хорошие книги встречаются не часто.


08 марта 2015

Интересное из мира R (2-8 марта 2015 г.)



  • В этом году R Foundation снова была выбрана в качестве одной из организаций-менторов для проведения Google Summer of Code. В ходе этого ежегодного мероприятия студенты со всего мира получают стипендии от Google для работы над определенными open source-проектами. Заявки от студентов на участие в Школе-2015 принимаются с 16 по 27 марта.
  • Хэдли Уикхэм сообщил о выходе своего нового пакета haven, предназначенного для импорта в R данных, исходно хранящихся в форматах SAS, SPSS и Stata.
  • На Coursera начался новый курс по анализу данных "Data Analysis and Statistical Inference". Задания и примеры в ходе этого курса будут реализованы на R.
  • Натан Ютендейл (Nathan Uyttendaele) из Каталического университета Лувена (Бельгия) опубликовал на сайте arxiv.org интересное руководство по оптимизации R-кода при выполнении сложных вычислений с большими объемами данных.
  • В блоге "Язык R в финансах и экономике" опубликована полезная статья о переобучении моделей (в контексте классификационных деревьев).

07 марта 2015

Как говорить на языке "Data Science"



О Data Science, Big Data, Machine Learning и т.п. сегодня не говорит только ленивый, и на то есть масса объективных причин. Однако из-за всего этого "шума" в медиа и бизнес-среде часто многие понятия подменяются и появляется большое количество клише и "buzzwords". Ребята из DataCamp у себя в блоге опубликовали занятную статью "How to speak Data Science", где объяснили, что "в действительности" имеется в виду, когда люди говорят о Data Science. Привожу свой перевод перечисленных там терминов и фраз. Хорошего вам настроения в этот весенний день!



01 марта 2015

Интересное из мира R (23 февраля - 1 марта 2015 г.)



  • На этой неделе компания RStudio объявила о том, что бета-тестирование их (уже ставшего популярным) сервиса shinyapps.io завершено и запущено его коммерческое использование. Сервис предназначен для разворачивания аналитических веб-приложений, созданных на базе фреймворка Shiny. Цены варьируют от 0$/месяц (тариф "Free": хостинг 5 приложений, 25 часов активного использования) до 299$/месяц (тариф "Professional": хостинг неограниченного количества приложений, авторизация пользователей, 5000 часов активного использования, приоритетная поддержка, и др.).
  • Завершается работа над новой версией интегрированной среды разработки RStudio (v0.99), но уже сейчас пользователи могут скачать и протестировать пред-релизную версию v0.99.315. Редактор RStudio теперь будет включать много полезных и давно ожидаемых опций, среди которых особого упоминания заслуживают:
    • возможность сортировки и фильтрации полей, а также полнотекстовый поиск в просмотрщике данных;
    • значительно "поумневшее" автозавершение кода (в частности, при работе с использованием оператора последовательного выполнения команд %>% из пакета magrittr);
    • подсветка кода для целого ряда новых языков;
    • улучшенный функционал для работы в режиме эмуляции редактора Vim.
  • На сайте Udemy начинается новый курс по Data Science от Нины Зумель (Nina Zumel) и Джона Маунта (John Mount) - авторов недавно опубликованной книги "Practical Data Science with R".
  • Издательством Wiley опубликована книга "Data Mining Algorithms: Explained Using R". Очень обстоятельная работа (720 страниц!), в которой автор (Pawel Cichosz) "на пальцах" объясняет основные алгоритмы машинного обучения.
  • В блоге "Язык R в финансах и экономике" опубликована статья, где описывается пример применения алгоритма "решающие деревья" для предсказания цены акций.

24 февраля 2015

И снова об авторизации при работе с Twitter API



В одном из предыдущих сообщений я описал простой пример использования возможностей пакетов twitteR и tm для анализа Twitter-сообщений. Сервис Twitter постоянно изменяется, что приводит к соответствующим изменениям и в той большой "экосистеме" программного обеспечения, которая выросла вокруг этого сервиса. Так, в 2013 г. в Twitter API были внесены существенные изменения касательно процедуры авторизации приложений, что усложнило работу с пакетом twitteR. Однако в последнее время процесс авторизации стал проще - об этом и будет данное сообщение.