Upload
-
View
975
Download
1
Embed Size (px)
Citation preview
Семинар «R + Tableau. Прогнозирование ианализ данных.
Москва 2014
О проекте
• Глобальный образовательный проект”4 NEW GENERATION ANALYSTS” —Как выжать деньги из ваших данных?
• Основные задачи проекта:• Создать сообщество аналитиков нового поколения —
Business Analysts, Data Scientists, которым интересно бытьна пике технологий анализа информации
• Дать информацию о набирающих обороты отрасляхзнаний — Data mining, прогнозирование, статистическийанализ визуализация информации, инфографика;
• Организовать площадку для обмена опытом ипрактическими знаниями.
О проекте
Бизнес-анализ. Быстрои просто.
• АНАЛИТИКА ПЛЮС —официальный партнер компанийTableau Sofware и HP в России.Мы работаем на рынкеBI-решений с 2012 г.
• Продукты:• Tableau• HP Vertica
• Нам доверяют:
1 Введение в курс
2 Основы языка R
3 Интеграция R и Tableau на примере
4 Задача кластеризации
5 Задача прогнозирования
6 Задача геолокации
7 Мастер-класс
Введение в курсЧто такое Tableau?
Tableau Desktop —программное обеспечение, котороепозволяет каждому анализироватьлюбые типы данных и создавать
блестящую отчетность за минуты. Это настолько просто, чтоэтому может научиться любой пользователь Excel.
• Позволяет получить результат за минуты: необходимыйотчет создается за несколько шагов
• Значительно сокращает время анализа данных за счетнаглядного представления информации
• Может быть использовано и в обычных, и в сложныхисследованиях: от визуализации вопросов/ответов досложного анализа данных
• Понимает данные любого формата: от Excel до Oracle.Быстро устанавливается (90 сек.), не требует долгоговнедрения
Введение в курсЧто такое R?
R — популярный статистический пакет,используемый для проведения сложногостатистического анализа и прогнозирования,такого как линейное и нелинейноемоделирование, статистические тесты,
анализ временных рядов, классификация, кластеризация и др.R представляет из себя бесплатную открытую платформу,вследствие чего существует широкое сообществопользователей, постоянно дополняющие R новыми пакетами(расширениями), большинство из которых также бесплатно.
Основы языка RЦели раздела
Необходимо понять:• Как установить R• Какие типы данных бывают• Как загружать текстовые данные• Как отображать загруженные данные• Как получить помощь по функционалу
Основы языка RТипы данных
Скаляр:• Числовой• Строка• Логический
Вектор:
> data[ 1 ] 1 2 3 4
Матрица:
> data[ , 1 ] [ , 2 ] [ , 3 ] [ , 4 ]
[ 1 , ] 1 3 5 7[ 2 , ] 2 4 6 8
Датафрейм:
> dataa b
1 1 one2 2 two
Основы языка RЗагрузка текстовых данных
R позволяет загружать данные из простых текстовых файлов спомощью базовых функций read.table() и read.csv():
> data = read . t a b l e (" data . c s v " , heade r=T, sep =" ,")> data
name s a l a r y1 Bob 800002 Steve 150000
sep — параметр, задающий символ, использующийся в файледля разделения значений в одной строке (в read.csv() онвсегда считается равным запятой). header=T сообщает, что вфайле первая строка является заголовком. Исходный файл:
Интеграция R и Tableau на примереПостановка задачи
• Имеются ежегодные данные о полноте одной из рек штатаВашингтон, США за период с 1930 по 2009 гг. Требуетсявыделить аномальные года, отобразить в рабочей книгеTableau график по годам и выделить найденные аномалиицветом. Аномалия, или выброс, определяется как элемент,явно выделяющийся из набора данных, к которому онпринадлежит, и существенно отличающийся от другихэлементов выборки.
• Данные представляют из себя csv-файл с двумяколонками — даты (Date) с промежутками в 1 год в видеYYYY-01-01 и значения потока реки (Flow).
• Файл с данными outlier.csv содержится в папке Demo.
Интеграция R и Tableau на примереПрименение
Возможность найти аномалии в некотором наборе данныхважна при анализе работы сложных технических систем,анализе сетевого трафика в банковском деле (анализтранзакций, производимых с помощью кредитных карт).
Интеграция R и Tableau на примереОтображение данных в Tableau
Интеграция 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.
Интеграция R и Tableau на примереКак происходит взаимодействие Tableau с R?
Функции и модели из R могут быть использованы в Tableau спомощью создания новых вычислимых полей, которые на летувызывают функции R и возвращают результат в Tableau длядальнейшей визуализации.В Tableau 8.1 добавлены 4 новые встроенные функции, которыеиспользуются для вызова моделей и функций из R:
• SCRIPT_REAL• SCRIPT_STR• SCRIPT_INT• SCRIPT_BOOL
Эти функции отличаются лишь типом возвращаемогорезультата — возвращается вещественное число, строка, целоечисло или логическое значение соответственно.В качестве параметров передаются текстовая запись скриптана R и данные из Tableau.
Интеграция R и Tableau на примереРезультат
Задача кластеризацииОписание
• Решается задача выделения групп клиентов сети попродаже велосипедов, для дальнейших исследований илисоздания целевых маркетинговых предложений.
• Данные представляют из себя csv-файл с данными около18 тыс. клиентов. Среди полей помимоидентификационных данных присутствуют такиевеличины, как дата рождения, пол, годовой доход,количество детей (вообще и на попечении), образование,количество машин во владении, количество покупок(велосипедов, собственно) и др.
• Файл с данными bikes.csv содержится в папке Demo.
Задача кластеризацииПрименение
Задачи, для использования которых применяется сегментация,имеют целью идентифицировать устойчивые группы (люди,рынки, организации), каждая из которых объединяет в себяобъекты с похожими характеристиками. Примером можетслужить сегментирование рынка — это разбивка рынка начеткие группы покупателей, для каждой из которых могутпотребоваться отдельные товары и/или комплексы маркетинга.Целью сегментирования является выделение одной илинескольких целевых групп потребителей, под которых«затачивается» весь комплекс маркетинговых мероприятий.
Задача кластеризацииРешение с помощью 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.
Задача кластеризацииРезультат
Задача прогнозированияОписание
• Решается задача прогнозирования ежемесячных продажсувенирной лавки в одном из курортных городовАвстралии на следующий год на основе историческихданных за предыдущие несколько лет.
• Для прогнозирования объема продаж данныепредставляют из себя csv-файл с двумя колонками — датыс промежутками в 1 месяц и объем продаж сувениров.Данные имеются с января 1987 по декабрь 1993 гг.Прогноз, соответственно, предполагается делать на 1994 г.
• Файл с данными sales.csv содержится в папке Demo.
Задача прогнозированияПрименение
Подобные задачи прогнозирования временных рядов(исторических данных за некоторый промежуток времени)возникают во многих областях. Это могут быть как показатели(характеристики) технических систем, так и природные,социальные, экономические и другие показатели (например,погодные данные). Типичным примером временного рядаможно назвать биржевой курс, при анализе которого пытаютсяопределить основное направление развития (тенденцию илитренд).
Задача прогнозированияРешение с помощью 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.
Задача прогнозированияРезультат
Задача геолокацииОписание
• Имеется база данных по торговым точкам некоторыхмагазинов. Одним из полем в таблице служит текстовоеописание адреса. Требуется отобразить всю базу адресов спривязкой к положению на карте (используем Google API).
• Данные представляют из себя csv-файл со спискомресторанов одной из сетей питания, в котором в качествеполей выступают штат, город, адрес, полный адрес(предыдущие три вместе) и название заведения — всегооколо 40 позиций.
• Файл с данными geo.csv содержится в папке Demo.
Задача геолокацииПрименение
Данный пример иллюстрирует использование прикладныхвозможностей языка R для решения задач, выходящих зарамки простого анализа, доступного в Tableau.
Задача геолокацииРешение с помощью 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.
Задача геолокацииРезультат
Все магазины в городе отображаются на карте в Tableau:
АНАЛИТИКА ПЛЮС
АНАЛИТИКА ПЛЮСПримеры бизнес-задач
• Прогнозирование объемов продаж• Оптимизация цикла закупок (не допустить overstock, недопустить out of stock, планирование расходов)
• Определение кредитоспособности клиента (скоринг)• Анализ поведения клиента с целью оказания помощи впринятии решений по продукту и услуге
• Прогнозирование доходности клиента в будущем, оценкалояльности и увеличения среднего дохода на одногоклиента за счет кросспродаж
• Оптимизация заполнения рекламного места на площадке• Прогнозирование загрузки телекоммуникационных вышек
АНАЛИТИКА ПЛЮСНаш подход к решению задач
Разработка уникальной математической модели• На основе ваших данных, описания задачи и требований крезультату мы разрабатываем уникальнуюматематическую модель. Затем мы тестируемэффективность полученного решения на фактическихданных. Для визуального представления результатаиспользуем программные решения Tableau
Простая математическая модель• Мы встраиваем модель в Tableau с помощью языка R
Сложная математическая модель• Мы разрабатываем программное обеспечение на основемодели
• В Tableau отражаем как фактические данные, так ирезультаты прогноза
• Осуществляем интеграцию решения с системой отчетностина web-портале компании
АНАЛИТИКА ПЛЮСПреимущества подхода
• Уникальность. Основные инвестиции и усилия идут наразработку уникальной математической модели длярешения Вашей бизнес-задачи
• Скорость. Минимальный объем программирования, азначит высокая скорость получения результата иуменьшение расходов на проект
• Визуализация. Результат работы математической моделинеобходимо анализировать. Задачу визуализации блестящерешает аналитический инструмент Tableau
• Единое информационное пространство. Tableauпозволяет сделать интеграцию решений как для текущейотчетности, так и для сложных математических моделей.В итоге на web-портале в едином информационномпространстве можно решать все аналитические задачикомпании
АНАЛИТИКА ПЛЮСКонтакты
Тел.: +7 499 391-2984Адрес: г. Москва, 119119, Ленинский пр., д.42, к.1, офис 14-63e-mail: [email protected]Сайт: www.analytikaplus.ruМы на facebook: www.facebook.com/analytikaplus