27 декабря 2014

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



Перед наступлением нового года принято подводить итоги года ушедшего. Следуя этой традиции, я попытался составить небольшой список из пяти наиболее важных событий, имевших место в мире R в 2014 г. (перечислены в произвольном порядке). Список этот, конечно, сугубо субъективный, и почти наверняка в нем чего-то недостает. Если я упустил что-то важное, пожалуйста, сообщите об этом в комментариях - будет интересно узнать и мне, и другим читателям.

21 декабря 2014

Интересное из мира R (15-21 декабря 2014 г.)



14 декабря 2014

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



Друзья!

Блог "R: Анализ и визуализация данных" существует уже более трех с половиной лет. Несколько месяцев назад родилась идея обобщить методические сообщения, опубликованные здесь за всё это время, в виде электронной книги. Автором идеи, а впоследствии и соавтором книги, стал доктор биологических наук Владимир Кириллович Шитиков (Институт экологии Волжского бассейна РАН). С удовольствием представляем вам полученный результат в качестве нашего новогоднего подарка.

07 декабря 2014

Интересное из мира R (1-7 декабря 2014 г.)



  • Компания RStudio на базе платформы DataСamp запустила онлайн-курс по пакету ggvis, который позволяет создавать интерактивные графики в стиле ggplot2. Курс стоит 95 евро, однако первую его часть можно пройти бесплатно. Подробности здесь.

30 ноября 2014

Интересное из мира R (24-30 ноября 2014)



  • 18-19 ноября компанией Oxdata в Калифорнии (Mountain View) была проведена конференция H2O World, главной целью которой было продвижение разработанных Oxdata многочисленных Java-библиотек, реализующих алгоритмы машинного обучения (набор этих библиотек известен как H2O - отсюда название конференции). Значительное внимание также было уделено использованию этих библиотек из среды R посредством пакета одноименного пакета - h2o. На сайте компании, в частности, можно ознакомиться с материалами семинаров, на которых обсуждались такие темы, как разведочный анализ данных, регрессионный анализ, глубокое обучение, кластерный анализ и методы снижения размерности. Более подробный отчет о конференции можно найти в статье Джозефа Рикерта (Joseph Rickert) в блоге компании Revolution Analytics.

27 ноября 2014

Делимся опытом: особенности подготовки русскоязычных текстовых документов к анализу в среде R



Сегодня я запускаю еще одну новую рубрику – «Делимся опытом», идея которой состоит в публикации гостевых сообщений, написанных читателями блога. Как следует из названия, в этих сообщениях будут публиковаться небольшие «рецепты» решения конкретных задач и проблем, возникающих при работе с R. Если у вас информация, которой, как вам кажется, стоит поделиться с другими – пожалуйста, свяжитесь со мной по электронной почте (адрес можно найти в разделе «Обо мне»). Я с удовольствием рассмотрю любое предложение. Главным критерием при отборе потенциальных публикаций является их оригинальность - в том смысле, что они предлагают описание нетривиальных проблем, решение которых не удается найти путем быстрого Google-поиска или на Q&A-форумах вроде StackOverflow и CrossValidated (т.е. включая запросы на английском языке). Дисклеймер: я оставляю за собой право отклонить любое предложение без объяснения причин. 

С радостью представляю первое гостевое сообщение, автором которого является Михаил Сидоренко (Украина). Михаил – психолог по образованию. Он использовал R в последние два года при работе над проектами, имеющими отношение к психологическим и маркетинговым исследованиям, а с недавних пор – также к исследованиям социальных медиа.

23 ноября 2014

Интересное из мира R (17-23 ноября 2014)



  • Стало известно, что 19 января 2015 г. проф. Тревор Хасти (Trevor Hastie; Стэнфордский Университет) и проф. Роберт Тибширани (Robert Tibshirany; Стэнфордский Университет) начнут очередной цикл своего бесплатного онлайн-курса "Статистическое обучение" (Statistical Learning). Это вводный курс с упором на регрессионные модели и алгоритмы классификации, основанный на книге "An introduction to statistical modeling" (настоятельно рекомендую ее всем, кто интересуется современными методами статистики и машинного обучения!). Все рассматриваемые в ходе курса примеры реализованы в R. Зарегистрироваться можно уже сайчас.

16 ноября 2014

Интересное из мира R (10-16 ноября 2014)



Этим сообщением я начинаю новую рубрику "Интересное из мира R" (вдохновил меня на это еженедельный "обзор наиболее интересных материалов по анализу данных и машинному обучению", публикуемый на Хабрахабре). По мере возможностей, каждую неделю я планирую публиковать краткий обзор пяти событий и/или публикаций, имеющих отношение к R, которые, по моему субъективному мнению, заслуживают внимания. Вот список за эту неделю:

11 ноября 2014

Рейтинг TIOBE за ноябрь 2014 г.: R на пути в список топ-10 языков программирования



Согласно рейтингу языков программирования, ежемесячно составляемому голландской компанией TIOBE, в этом году R имеет шансы попасть в список топ-10 языков. Об этом свидетельствует неуклонный рост популярности R, о чем говорит, в частности, перемещение этого языка в рейтинге TIOBE с 15 позиции в октябре на 12 в ноябре (для сравнения, два года назад R находился примерно на 25-м месте). Важно отметить, что данный рейтинг отражает лишь популярность того или иного языка программирования и не ставит своей целью выяснить, какой из них является лучшим. Подробнее о критериях, используемых TIOBE для составления рейтинга, можно узнать здесь.

Ниже приведена оригинальная таблица с сайта TIOBE, в которой отражены данные по 20 верхним позициям за ноябрь 2014 г.


18 октября 2014

Знакомьтесь - Revolution R Open



15 октября 2014 г. компания Revolution Analytics объявила о выпуске разработанного ею усовершенствованного дистрибутива R - Revolution Open R (далее "ROR"). ROR базируется на текущей официальной версии языка R (3.1.1) от R Foundation for Statistical Computing и, соответственно, обладает полной совместимостью любых скриптов и пакетов, работающих на основе R 3.1.1. Отличительными особенностями ROR являются следующие:
  • Автоматическая поддержка многопроцессорных вычислений при выполнении операций линейной алгебры, реализованная за счет замены стандартных методов решения задач линейной алгебры из пакетов LAPLACK и BLAS соответствующими функциями из библиотеки Intel Math Kernel Library. Пользователю нет нужды изменять существующий R код - при выполнении вычислений с векторами и матрицами вся мощность имеющихся процессоров будет задействована автоматически, что в результате приведет к существенному повышению скорости вычислений.
  • ROR поставляется с Reproducible R Toolkit ("набор инструментов, обеспечивающих воспроизводимость R кода"). Большинство существующих R-скриптов используют как минимум один пакет, распространяемый через хранилище CRAN. Однако ежедневно происходит обновление значительной части этих пакетов, что может привести к устареванию имеющегося кода и возникновению ошибок при его выполнении. Для устранения этой распространенной проблемы компания Revolution Analytics запустила сайт MRAN (Managed R Archive Network), который ежедневно выполняет "слепок" текущего состояния хранилища CRAN (начиная с 17 сентября 2014 г.). Доступ к этим слепкам обеспечивается при помощи функции checkpoint() из одноименного пакета. При вызове этой функции необходимо указать дату "контрольной точки" (обычно это будет дата создания скрипта: например, checkpoint("2014-10-17")), что приведет к локальной установке задействованных пакетов в папке проекта. Версии этих локально устанавливаемых пакетов соответствовуют версиям, которые были актуальны по состоянию на указываемую дату, обеспечивая тем самым полную работоспособность кода. Помимо того, что сайт MRAN работает как "машина времени", на нем можно также выполнять поиск интересующих пользователя пакетов по алфавитному списку и по темам.
ROR распространяется совершенно бесплатно, доступен для всех основных операционных систем и совместим с RStudio.

05 октября 2014

Документация по пакету dplyr на русском языке



В одном из комментариев к статье о dplyr, я узнал про существование русскоязычного перевода руководства по использованию этого пакета. С удовольствием делюсь ссылкой. Кроме того, на сайте Github можно найти RMarkdown-исходник этого документа.

20 сентября 2014

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



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

16 сентября 2014

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



Оценка параметров линейной регрессионной модели вида \(y_i = \beta_0 + \beta_1x_{i1} \dots + \beta_px_{ip} + \epsilon_i\), равно как и выводы в отношении статистической значимости этих параметров, базируются на выполнении ряда математических допущений. Диагностика выполнения этих допущений является составной частью процесса построения регрессионной модели и сводится к следующим составляющим (Faraway 2004):
  • проверка допущений в отношении остатков модели;
  • проверка адекватности структуры систематической части модели;
  • обнаружение необычных наблюдений.
Существуют как графические, так и формальные методы диагностики линейных моделей. Хотя формальные методы используются реже, они доступны в нескольких R-пакетах (см., в частности, car и lmtest). Настоящее сообщение посвящено более распространенным графическим методам. Более того, здесь рассмотрены только первые два из указанных выше пунктов. Обнаружение необычных наблюдений - большая тема, которой будет посвящено отдельное сообщение.

27 июля 2014

Знакомьтесь - tidyr



На днях в официальном блоге RStudio проф. Хэдли Уикхэм объявил о выходе своего нового пакета - tidyr, функции которого предназначены для подготовки "опрятных" (англ. tidy) данных. Ниже приведен перевод этого объявления.



28 июня 2014

Как большие компании используют R, чтобы конкурировать на современном рынке



Недавно на сайте DataInformed Дэвид Смит (David Smith) из Revolution Analytics опубликовал статью о том, как большие компании используют R, чтобы составлять конкуренцию на современном, насыщенном данными, рынке. Привожу [вольный] перевод этой интересной статьи.

18 мая 2014

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



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



04 мая 2014

Оценка неопределенности в отношении параметров линейной регрессии



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


06 апреля 2014

Каков возраст Вселенной?



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


04 марта 2014

Статистические модели



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

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


01 февраля 2014

Расчет расстояния между географическими объектами по их координатам



В R имеется широкий арсенал инструментов для работы с пространственными данными. Со списком основных из них можно ознакомиться в соответствующем разделе на сайте CRAN. Это сообщение будет посвящено простой, но в то же время часто возникающей задаче - расчету расстояния между географическими объектами по их координатам.


26 января 2014

Книга "An Introduction to Statistical Learning with Applications in R" в открытом доступе



В августе прошлого года издательством Springer была опубликована книга ''An Introduction to Statistical Learning with Applications in R", аторами которой являются Гарет Джеймс (Gareth James, Университет Южной Калифорнии), Даниела Уиттон (Daniela Witton, Университет Вашингтона), Тревор Хасти (Trevor Hastie, Стэнфордский Университет) и Роберт Тибширани (Стэнфордский Университет). Два последних автора ранее опубликовали очень популярную книгу по методам машинного обучения "The Elements of Statistical Learning", которая, однако, требует от читателя серьезной математической подготовки. В новой книге ''An Introduction to Statistical Learning" описано большинство тех же методов, но на гораздо более доступном для понимания уровне. Кроме того, книга изобилует примерами реализации конкретных методов на языке R. С согласия издательства, новая книга доступна для свободного скачивания (PDF). Весьма рекомендую всем интересующимся современными методами статистики и машинного обучения!

Бонусная информация: на этой неделе Тревор Хасти и Роберт Тибширани начали преподавать бесплатный онлайн-курс по материалам книги. Еще не поздно стать слушателем этого курса, зарегистрировавшись на сайте Стэнфордского университета.



19 января 2014

Знакомьтесь - dplyr



В блоге проекта RStudio, проф. Хэдли Укхэм сообщил о выходе нового пакета для R - dplyr. Те, кто знаком с работой Хэдли, увидят сходство в названии этого нового пакета с plyr - одного из наиболее популярных в настоящее время R-расширений для эффективной манипуляции объектов с данными (разбиение объекта на части, выполнение определенных вычислений над этими частями, и объединение результатов в виде нового объекта). В отличие от plyr, dplyr предназначен для работы только с таблицами данных (англ. data frames), включая таблицы из баз данных MySQL, PostgreSQL, SQLite, и Google BigQuery. Кроме того, отличительными особенностями dplyr являются простота синтаксиса команд и, что особенно важно сегодня при обработке больших объемов данных, быстродействие. Примеры соответствующих команд, а также сравнивнение быстродействия plyr и ddplyr можно найти в упомянутом выше сообщении блога RStudio. Обратите внимание: dplyr доступен только для актуальной версии R (v 3.0.2), так что перед его установкой, возможно, Вам сначала придется обновить R.


08 января 2014

Методы множественных проверок гипотез, реализованные в пакете multcomp



Последние несколько сообщений были посвящены проблеме множественных проверок статистических гипотез. Для решения этой проблемы разработано большое число методов, различающихся по мощности и применимости в разных ситуациях (так, были рассмотрены методы Бонферрони и Холма, Тьюки, Беньямини-Хохберга и Беньямини-Йекутили). Разнообразие этих методов может создать ощущение неразберихи и привести в замешательство даже опытных исследователей. Тем не менее, между многими методами существует большое сходство. Более того, можно показать, что некоторые методы, известные и используемые под разными названиями и для разных целей, с математической точки зрения эквиваленты (например, тесты Тьюки и Даннета). Используя теорию общих линейных моделей, проф. Франк Брeтц и соавт. (Bretz et al. 2010) разработали общую методологическую схему, объединяющую большинство классических критериев для множественной проверки гипотез. Как это часто происходит в наши дни, соответствующие методологические подходы были реализованы в дополнительном пакете для R - multcomp (от "multiple comparisons" - "множественные сравнения"). Цель данного сообщения - дать описание основных возможностей этого пакета.  Следует подчеркнуть, что это описание будет иметь лишь поверхностный характер. Для полноты картины следует раздобыть указанную выше книгу (Bretz et al. 2010)  - интересующиеся читатели найдут в ней подробные математические выкладки и множество примеров R кода.