Публикуем небольшую часть раздаточных материалов нашего семинара «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ», который прошел 24-25 апреля 2014 г. в Москве. Подробнее о семинаре, отзывы участников семинара см. здесь: http://analytikaplus.ru/?page_id=2122
АНАЛИТИКА ПЛЮС, вебинар 3 декабря «Новые BI-технологии. Пришел, Увидел, Побед...
Семинар 24-25 апреля 2014 г. «R + TABLEAU. ПРОГНОЗИRОВАНИЕ И BIG DATA АНАЛИЗ»
1. Семинар «R + Tableau. Прогнозирование и
анализ данных.
Москва 2014
2. О проекте
• Глобальный образовательный проект
”4 NEW GENERATION ANALYSTS” —
Как выжать деньги из ваших данных?
• Основные задачи проекта:
• Создать сообщество аналитиков нового поколения —
Business Analysts, Data Scientists, которым интересно быть
на пике технологий анализа информации
• Дать информацию о набирающих обороты отраслях
знаний — Data mining, прогнозирование, статистический
анализ визуализация информации, инфографика;
• Организовать площадку для обмена опытом и
практическими знаниями.
3. О проекте
Бизнес-анализ. Быстро
и просто.
• АНАЛИТИКА ПЛЮС —
официальный партнер компаний
Tableau Sofware и HP в России.
Мы работаем на рынке
BI-решений с 2012 г.
• Продукты:
• Tableau
• HP Vertica
• Нам доверяют:
4. 1 Введение в курс
2 Основы языка R
3 Интеграция R и Tableau на примере
4 Задача кластеризации
5 Задача прогнозирования
6 Задача геолокации
7 Мастер-класс
5. Введение в курс
Что такое Tableau?
Tableau Desktop —
программное обеспечение, которое
позволяет каждому анализировать
любые типы данных и создавать
блестящую отчетность за минуты. Это настолько просто, что
этому может научиться любой пользователь Excel.
• Позволяет получить результат за минуты: необходимый
отчет создается за несколько шагов
• Значительно сокращает время анализа данных за счет
наглядного представления информации
• Может быть использовано и в обычных, и в сложных
исследованиях: от визуализации вопросов/ответов до
сложного анализа данных
• Понимает данные любого формата: от Excel до Oracle.
Быстро устанавливается (90 сек.), не требует долгого
внедрения
6. Введение в курс
Что такое R?
R — популярный статистический пакет,
используемый для проведения сложного
статистического анализа и прогнозирования,
такого как линейное и нелинейное
моделирование, статистические тесты,
анализ временных рядов, классификация, кластеризация и др.
R представляет из себя бесплатную открытую платформу,
вследствие чего существует широкое сообщество
пользователей, постоянно дополняющие R новыми пакетами
(расширениями), большинство из которых также бесплатно.
7. Основы языка R
Цели раздела
Необходимо понять:
• Как установить R
• Какие типы данных бывают
• Как загружать текстовые данные
• Как отображать загруженные данные
• Как получить помощь по функционалу
8. Основы языка R
Типы данных
Скаляр:
• Числовой
• Строка
• Логический
Вектор:
> data
[ 1 ] 1 2 3 4
Матрица:
> data
[ , 1 ] [ , 2 ] [ , 3 ] [ , 4 ]
[ 1 , ] 1 3 5 7
[ 2 , ] 2 4 6 8
Датафрейм:
> data
a b
1 1 one
2 2 two
9. Основы языка R
Загрузка текстовых данных
R позволяет загружать данные из простых текстовых файлов с
помощью базовых функций read.table() и read.csv():
> data = read . t a b l e (" data . csv " , header=T, sep =" ,")
> data
name s a l a r y
1 Bob 80000
2 Steve 150000
sep — параметр, задающий символ, использующийся в файле
для разделения значений в одной строке (в read.csv() он
всегда считается равным запятой). header=T сообщает, что в
файле первая строка является заголовком. Исходный файл:
10. Интеграция R и Tableau на примере
Постановка задачи
• Имеются ежегодные данные о полноте одной из рек штата
Вашингтон, США за период с 1930 по 2009 гг. Требуется
выделить аномальные года, отобразить в рабочей книге
Tableau график по годам и выделить найденные аномалии
цветом. Аномалия, или выброс, определяется как элемент,
явно выделяющийся из набора данных, к которому он
принадлежит, и существенно отличающийся от других
элементов выборки.
• Данные представляют из себя csv-файл с двумя
колонками — даты (Date) с промежутками в 1 год в виде
YYYY-01-01 и значения потока реки (Flow).
• Файл с данными outlier.csv содержится в папке Demo.
11. Интеграция R и Tableau на примере
Применение
Возможность найти аномалии в некотором наборе данных
важна при анализе работы сложных технических систем,
анализе сетевого трафика в банковском деле (анализ
транзакций, производимых с помощью кредитных карт).
12. Интеграция R и Tableau на примере
Отображение данных в Tableau
13. Интеграция R и Tableau на примере
Решение с помощью R
Для нахождения выбросов используем библиотеку mvoutlier.
Из библиотеки используем функцию sign2, где в качестве
первого параметра передается матрица данных (в данном
случае — столбец значений потока), в строках которых
требуется найти аномалии. cbind — новая полезная функция.
Подробнее:
http://www.inside-r.org/packages/cran/mvoutlier/docs/sign2.
Еще подробнее:
http://cran.r-project.org/web/packages/mvoutlier/mvoutlier.pdf.
14. Интеграция R и Tableau на примере
Как происходит взаимодействие Tableau с R?
Функции и модели из R могут быть использованы в Tableau с
помощью создания новых вычислимых полей, которые на лету
вызывают функции R и возвращают результат в Tableau для
дальнейшей визуализации.
В Tableau 8.1 добавлены 4 новые встроенные функции, которые
используются для вызова моделей и функций из R:
• SCRIPT_REAL
• SCRIPT_STR
• SCRIPT_INT
• SCRIPT_BOOL
Эти функции отличаются лишь типом возвращаемого
результата — возвращается вещественное число, строка, целое
число или логическое значение соответственно.
В качестве параметров передаются текстовая запись скрипта
на R и данные из Tableau.
16. Задача кластеризации
Описание
• Решается задача выделения групп клиентов сети по
продаже велосипедов, для дальнейших исследований или
создания целевых маркетинговых предложений.
• Данные представляют из себя csv-файл с данными около
18 тыс. клиентов. Среди полей помимо
идентификационных данных присутствуют такие
величины, как дата рождения, пол, годовой доход,
количество детей (вообще и на попечении), образование,
количество машин во владении, количество покупок
(велосипедов, собственно) и др.
• Файл с данными bikes.csv содержится в папке Demo.
17. Задача кластеризации
Применение
Задачи, для использования которых применяется сегментация,
имеют целью идентифицировать устойчивые группы (люди,
рынки, организации), каждая из которых объединяет в себя
объекты с похожими характеристиками. Примером может
служить сегментирование рынка — это разбивка рынка на
четкие группы покупателей, для каждой из которых могут
потребоваться отдельные товары и/или комплексы маркетинга.
Целью сегментирования является выделение одной или
нескольких целевых групп потребителей, под которых
«затачивается» весь комплекс маркетинговых мероприятий.
18. Задача кластеризации
Решение с помощью R
Для сегментации используем стандартную реализацию
алгоритма K-Means в R — функцию kmeans. В качестве первого
параметра в нее передается матрица числовых данных, строчки
которой разбиваются на близкие по значениям группы, в
качестве второго параметра передается количество этих самых
групп.
Подробнее: http://www.inside-r.org/r-doc/stats/kmeans.
Еще подробнее: http://en.wikibooks.org/wiki/Data_Mining_
Algorithms_In_R/Clustering/K-Means.
20. Задача прогнозирования
Описание
• Решается задача прогнозирования ежемесячных продаж
сувенирной лавки в одном из курортных городов
Австралии на следующий год на основе исторических
данных за предыдущие несколько лет.
• Для прогнозирования объема продаж данные
представляют из себя csv-файл с двумя колонками — даты
с промежутками в 1 месяц и объем продаж сувениров.
Данные имеются с января 1987 по декабрь 1993 гг.
Прогноз, соответственно, предполагается делать на 1994 г.
• Файл с данными sales.csv содержится в папке Demo.
21. Задача прогнозирования
Применение
Подобные задачи прогнозирования временных рядов
(исторических данных за некоторый промежуток времени)
возникают во многих областях. Это могут быть как показатели
(характеристики) технических систем, так и природные,
социальные, экономические и другие показатели (например,
погодные данные). Типичным примером временного ряда
можно назвать биржевой курс, при анализе которого пытаются
определить основное направление развития (тенденцию или
тренд).
22. Задача прогнозирования
Решение с помощью R
Для создания модели временного ряда по данным используется
стандартная функция arima. Для построения прогноза по
модели используется функция predict из библиотеки
forecast. В качестве параметров первой функции выступают
временной ряд и параметры модели ARIMA. В качестве
параметров второй функции выступают полученная модель и
период прогноза.
Подробнее: http://www.inside-r.org/r-doc/stats/arima.
Еще подробнее:
http://www.r-project.org/doc/Rnews/Rnews_2002-2.pdf.
24. Задача геолокации
Описание
• Имеется база данных по торговым точкам некоторых
магазинов. Одним из полем в таблице служит текстовое
описание адреса. Требуется отобразить всю базу адресов с
привязкой к положению на карте (используем Google API).
• Данные представляют из себя csv-файл со списком
ресторанов одной из сетей питания, в котором в качестве
полей выступают штат, город, адрес, полный адрес
(предыдущие три вместе) и название заведения — всего
около 40 позиций.
• Файл с данными geo.csv содержится в папке Demo.
25. Задача геолокации
Применение
Данный пример иллюстрирует использование прикладных
возможностей языка R для решения задач, выходящих за
рамки простого анализа, доступного в Tableau.
26. Задача геолокации
Решение с помощью R
Используется библиотека ggmap, предоставляющая множество
возможностей для отображения и обработки картографических
данных. В частности для решения данной задачи используем
функцию geocode, которая по входной строке выдает
информацию о координатах искомого места — например, при
вызове geocode(”the white house”) мы получим координаты
Белого Дома: -77.03653, 38.89768.
Подробнее:
http://www.inside-r.org/packages/cran/ggmap/docs/geocode.
Еще подробнее:
http://cran.r-project.org/web/packages/ggmap/ggmap.pdf.
29. АНАЛИТИКА ПЛЮС
Примеры бизнес-задач
• Прогнозирование объемов продаж
• Оптимизация цикла закупок (не допустить overstock, не
допустить out of stock, планирование расходов)
• Определение кредитоспособности клиента (скоринг)
• Анализ поведения клиента с целью оказания помощи в
принятии решений по продукту и услуге
• Прогнозирование доходности клиента в будущем, оценка
лояльности и увеличения среднего дохода на одного
клиента за счет кросспродаж
• Оптимизация заполнения рекламного места на площадке
• Прогнозирование загрузки телекоммуникационных вышек
30. АНАЛИТИКА ПЛЮС
Наш подход к решению задач
Разработка уникальной математической модели
• На основе ваших данных, описания задачи и требований к
результату мы разрабатываем уникальную
математическую модель. Затем мы тестируем
эффективность полученного решения на фактических
данных. Для визуального представления результата
используем программные решения Tableau
Простая математическая модель
• Мы встраиваем модель в Tableau с помощью языка R
Сложная математическая модель
• Мы разрабатываем программное обеспечение на основе
модели
• В Tableau отражаем как фактические данные, так и
результаты прогноза
• Осуществляем интеграцию решения с системой отчетности
на web-портале компании
31. АНАЛИТИКА ПЛЮС
Преимущества подхода
• Уникальность. Основные инвестиции и усилия идут на
разработку уникальной математической модели для
решения Вашей бизнес-задачи
• Скорость. Минимальный объем программирования, а
значит высокая скорость получения результата и
уменьшение расходов на проект
• Визуализация. Результат работы математической модели
необходимо анализировать. Задачу визуализации блестяще
решает аналитический инструмент Tableau
• Единое информационное пространство. Tableau
позволяет сделать интеграцию решений как для текущей
отчетности, так и для сложных математических моделей.
В итоге на web-портале в едином информационном
пространстве можно решать все аналитические задачи
компании
32. АНАЛИТИКА ПЛЮС
Контакты
Тел.: +7 499 391-2984
Адрес: г. Москва, 119119, Ленинский пр., д.42, к.1, офис 14-63
e-mail: info@analytikaplus.ru
Сайт: www.analytikaplus.ru
Мы на facebook: www.facebook.com/analytikaplus