Цель этой заметки — сравнить:
read.csv
изutils
— стандартный способ чтения csv-файлов в Rread_csv
изreadr
, который в RStudio заменил предыдущий методload
иreadRDS
изbase
, иread_feather
изfeather
иfread
изdata.table
.
Язык для статистической обработки данных
read.csv
из utils
— стандартный способ чтения csv-файлов в Rread_csv
из readr
, который в RStudio заменил предыдущий методload
и readRDS
из base
, иread_feather
из feather
и fread
из data.table
.Прошло достаточно времени с упоминания в предыдущей публикации об использовании RStudio Connect в боевых условиях для того, чтобы поделиться результатами. Краткое резюме — «дайте два!». И подумайте про оптимизацию отдела «аналитиков». Ниже приведены подробности.
В качестве дополнительного чтения рекомендую взглянуть детальную публикацию «Data at GDS (Government Digital Service). Reproducible Analytical Pipeline» в блоге аналитической службы гос.органов UK по аналогичной теме.
Не секрет, что курс рубля напрямую зависит от стоимости нефти (и от кое-чего еще). Этот факт позволяет строить довольно интересные модели. В своей статье о линейной регрессии я коснулся некоторых вопросов, посвященных диагностике модели, а за кадром остался такой вопрос: есть ли более эффективная, но не слишком сложная альтернатива линейной регрессии? Традиционно используемый метод наименьших квадратов прост и понятен, но есть и другие подходы (не такие понятные).
В этом посте речь пойдет о том, как я восстанавливал демографические данные для регионов Дании, где после реформы территориального устройства 2007 года официальной гармонизации данных не проводилось. Это лишь небольшая часть гармонизации евростатовских данных, которую я выполнил в рамках своего phd проекта. Пост сперва опубликован в моем англоязычном блоге и в блоге Demotrends. Думаю, что он может быть интересен далеко не только демографам.
NUTS расшифровывается как Nomenclature of Territorial Units For Statistics. Это стандартизированная система административно-территориального деления, принятая странами Евросоюза. История вопроса уходит в 1970-е, когда родилась идея сделать регионы различных стран Европы сопоставимыми. В более или менее законченном и широко употребимом виде система появилась лишь на рубеже веков. Существуют три основных уровня NUTS (см. рис. 1), и наиболее распространенным в региональном анализе оказывается NUTS-2.
Рисунок 1. Иллюстрация принципа выделения регионов NUTS различного иерархического уровня
Настоящая публикация, хоть и продолжает серию предыдущих, но будет совершенно краткой. И не в силу того, что материал скромный, но потому, что есть отличный первоисточник с массой текстов и видео.
Практика общения с аналитиками показала, что лаконичная консоль или лист программы в RStudio IDE как удобный инструмент начинает восприниматься людьми, воспитанными в подходе WYSIWYG, далеко не с первого дня. Продукты PowerBI\Tableau\Qlik, активно использующие этот подход, хорошо известны в российском информационном пространстве и зачастую аналитики пытаются соотнести R+Shiny с этими продуктами.
Довольно часто enterprise задачи по обработке данных затрагивают данные, сопровождаемые временной меткой. В R такие метки, обычно хранятся как класс POSIXct
. Выбор методов работы с таким типом данных по принципу аналогии может привести к большому разочарованию и убеждению о крайней медлительности R. Хотя если взглянуть на эту чуть более пристально, то оказывается, что дело не совсем в R, а в руках и голове.
Ниже затрону пару кейсов, которые встретились в этом месяце и возможные варианты их решения. В ходе решения появляются весьма интересные вопросы. Заодно упомяну инструменты, которые оказываются крайне полезными для решения подобных задачек. Практика показала, что об их существовании знают немногие.
Несмотря на то, что задачи рядового бизнеса очень часто далеки от популярной темы больших данных и машинного обучения и часто связаны с обработкой относительно малых объёмов информации [десятки мегабайт — десятки гигабайт], размазанной в произвольных представлениях по различным видам источников, применение R в качестве основного инструмента позволяет легко и элегантно автоматизировать и ускорить эти задачи.
И, естественно, после проведения анализа необходимо все это презентовать, для чего можно с успехом использовать Shiny. Далее я приведу ряд трюков и подходов, которые могут помочь в этой задачах. Уверен, что любой практикующий аналитик сможет легко добавить свои хитрости, все зависит от решаемого класса задач.
Если объединить статистические данные спортивных соревнований с распределением Пуассона, то можно рассчитать вероятное количество мячей, которые будут забиты во время футбольной игры. На этом основании можно понять откуда берутся букмекерские ставки, а также научиться самостоятельно их рассчитывать с помощью R.
Каждый новый день зачастую подкидывает новые задачки. Не в смысле их радикальной новизны, а в смысле «еще одного типа задач», которые обычно встречаются в бизнес-окружении.
На этот раз задача оказалась предельно простая и прагматичная, но ее решение дает далеко идущие последствия.
Суть задачи в следующем:
За последнее десятилетие R прошёл большой путь: от нишевого (как правило, академического) инструмента до мейнстримной «большой десятки» самых популярных языков программирования. Такой интерес вызван многими причинами, среди которых и принадлежность к open source, и деятельное коммьюнити, и активно растущий сегмент применения методов machine learning / data mining в разнообразных бизнес-задачах. Приятно видеть, когда один из твоих любимых языков уверенно завоёвывает новые позиции, и когда даже далёкие от профессиональной разработки пользователи начинают интересоваться R. Но здесь есть, однако, одна большая проблема:
16 ноября 2016 года Microsoft опубликовал первую публичную кросплатформенную версию SQL Server VNext, которая теперь работает и под Linux: Public preview of the next release of SQL Server — Bring the performance and security of SQL Server to Linux and Windows
С момента прошлой публикации пришлось примеряться к ряду различных задач, связанных тем или иным образом с обработкой данных. Задачи совершенно разные, но во всех случаях инструменты R позволили элегантно и эффективно их решить. Ниже, собственно, кейсы (картинок нет).
R
код (gist) для воспроизведения всех результатов
В первой части, подхваченный вдохновением и желанием проверить гипотезы сразу, я проанализировал взаимосвязь между соотношением полов и распространенностью убийств в странах Европы. Результаты не подтвердили моих ожиданий. Похоже, что во многом страны Европы напоминают регионы одной страны со своей периферией и своими центрами.
В следующей итерации своего скептицизма, результаты которого вы можете прочитать ниже, я проверяю свою гипотезу на данных американских графств, как и авторы исходной статьи.
Если вам лень заглянуть в первую часть статьи, то вот кратко суть. Авторы опубликованного в журнале Human Nature исследования утверждают, что соотношения полов во взрослом населении влияет на распространенность тяжких преступлений (в частности, убийств): чем больше женщин, тем больше и преступлений. Я по-прежнему думаю, что все дело в упущенной переменной — центральность/периферийность (urban/rural) — которая и должна объяснять как повышенную долю женщин в городах, так и большее количество преступлений в них.
Убедительно подтвердить свои догадки на простеньких европейских данных мне не удалось. Попробуем на подробных американских.