SlideShare una empresa de Scribd logo
1 de 71
Основы предиктивной
аналитики.
Часть первая
Профессор Крылов Владимир Владимирович
Vladimir.V.Krylov@gmail.com
+7 964 839 0004
Vladimir Krylov 2014 2
Сообщите о себе
• ФИО
• Учебная группа
• Тема выпускной работы
• Руководитель
• Чем интересуетесь
• Где работаете
Vladimir.v.krylov@gmail.com
© Крылов - 2015 г. 3
Цель курса
• Познакомить с современным и быстро развивающимся
направлением науки о данных, основными понятиями и
технологиями, позволяющими предсказывать будущие
события и принимать решения на этой основе
Ну что сказать, ну что сказать, Устроены так люди,
Желают знать, желают знать, Желают знать что будет.
(к/ф Ах водевиль, водевиль)
© Крылов - 2015 г. 4
Содержание курса
• Что такое предиктивная аналитика и ее позиционирование
• Данные – сырье для знаний
• Инструментарий аналитика. Язык R.
• Основы машинного обучения. Методы и алгоритмы.
• Коллаборативные методы предиктивного анализа
• Введение в аналитику больших данных
© Крылов - 2015 г. 5
• Наглядная статистика. Используем R! А.Б. Шипунов, Е.М. Балдин,
А.И. Коробейников и др., М.: ДМК Пресс, 2014
• R в действии. Анализ и визуализация данных на языке R
Р. Кабаков, М.: ДМК Пресс, 2014
• Просчитать будущее Э. Сигель, пер. англ. М.: Альпина Паблишер,
2014
• Нейросетевые алгоритмы прогнозирования и оптимизации
систем Назаров А.В., Лоскутов А.И., СПб.: Наука и Техника, 2003.
Литература по курсу
КУЛЬТУРА - это не количество
прочитанных книг, а количество понятых"
Фазиль Искандер
© Крылов - 2015 г. 6
Data Science – наука о данных
© Крылов - 2015 г. 7
• Число звезд в нашей галактике 2*10^21
• Число песчинок на планете – около 3х10^21
© Крылов - 2015 г. 8
• Как утверждают гиганты ИТ индустрии (ЕМС, Cisco, IBM, Google) в
2012 году в мире было сгенерировано 2 тысячи миллиардов
гигабайтов или 2 тысячи экзабайтов или 2 зетабайта (2*10^21
байтов) данных, а в 2020 году эта величина достигнет 40
зетабайтов (это 40*10^21 байт).
© Крылов - 2015 г. 9
Объем (размер) данных
Название Размер по ГОСТ 8.417-2002 (приставки по
СИ)
Символ Примечание: размер по
стандартам МЭК
байт 8 бит B
килобайт 103 B КB 210 =1024 байт
мегабайт 106 B МB 220 байт
гигабайт 109 B GB 230 байт
терабайт 1012 B ТБ 240 байт
петабайт 1015 B PB 250 байт
эксабайт 1018 B EB 260 байт
зеттабайт 1021 B ZB 270 байт
йоттабайт 1024 B YB 280 байт
Vladimir Krylov 2014 10
Data Science – прикладная наука
• Data management
• Data exploration
• Data wrangling
• Data Mining
• Machine Learning (ML)
• Knowledge Discovery in Databases (KDD)
• Artificial Intelligence
© Крылов - 2015 г. 11
Data Mining and Machine Learning
• Data mining (один из шагов в процессе "Knowledge Discovery in
Databases" process, or KDD) – междисциплинарной области
computer science, определяет вычислительный процесс
исследования patterns в больших data sets привлекающий
методы на пересечении artificial intelligence, machine learning,
statistics, и database systems.
• Machine learning - это научная дисциплина, которая изучает
конструкции и алгоритмы, которые могут обучаться на основе
доступных им данных. Такие алгоритмы работают путем
построения модели по наборе входных данных и используя ее
для предсказания или принятия решения, вместо следования
заранее написанным статическим правилам.
© Крылов - 2015 г. 12
Техники Machine Learning
1 Decision tree learning
2 Association rule learning
3 Artificial neural networks
4 Inductive logic programming
5 Support vector machines
6 Clustering
7 Bayesian networks
8 Reinforcement learning
9 Representation learning
10 Similarity and metric learning
11 Sparse dictionary learning
12 Genetic algorithms
© Крылов - 2015 г. 13
Профессия - Data Scientist (исследователь
данных)
В США произвели оценку потребностей в специалистах такой
профессии и пришли к выводу, что уже в 2018 году в США будет
нехватка исследователей данных в количестве 190 000 человек!
Известный журнал Harvard Business Review так озаглавил один из
своих выпусков: “Data Scientist: The Sexiest Job Of the 21st Century” –
исследователь данных – самая привлекательная работа 21 столетия
© Крылов - 2015 г. 14
Кто такой Data Scientist?
• Любит данные
• Исследовательский склад ума
• Цель работы – нахождение
закономерностей в данных
• Практик, не теоретик
• Умеет и любит работать руками
• Эксперт в какой-либо прикладной
области (обычно, но не обязательно)
• Работает в команде
• Подробности в превосходном курсе
ниже:
• https://www.coursera.org/course/datasci
toolbox
Предпочтительное образование:
• Computer Science
• Статистика, математика
• Точные науки- физика, инженерия и т.п.
• Магистры и кандидаты наук
• Исследователь данных не является
математиком, но обязательно владеет
техниками больших данных.
• Исследователь данных не является
программистом, но обязательно умеет
работать с программными средствами
и владеет технологиями больших
данных.
© Крылов - 2015 г. 15
CRISP-DM (Cross Industry Standard Process
for Data Mining)
© Крылов - 2015 г. 16
© Крылов - 2015 г. 17
The Open Source Data Science Curriculum
Intro to Data Science UW / Coursera
Topics: Python NLP on Twitter API, Distributed Computing Paradigm, MapReduce/Hadoop & Pig Script, SQL/NoSQL, Relationa
Experiment design, Statistics, Graphs, Amazon EC2, Visualization.
Data Science / Harvard Video Archive & Course
Topics: Data wrangling, data management, exploratory data analysis to generate hypotheses and intuition, prediction
based on statistical methods such as regression and classification, communication of results through visualization, stories,
and summaries.
Data Science with Open Source Tools Book $27
•Topics: Visualizing Data, Estimation, Models from Scaling Arguments, Arguments from Probability Models,
• What you Really Need to Know about Classical Statistics, Data Mining, Clustering, PCA, Map/Reduce,
•Predictive Analytics
•Example Code in: R, Python, Sage, C, Gnu Scientific Library
© Крылов - 2015 г. 18
Кажущаяся бесконечность информации, которую регистрируют наши системы,
исключает события, знания о которых наиболее ценны для нас, - а именно
события, которые еще не произошли
Эрик Сигель
© Крылов - 2015 г. 19
Как работает предиктивная аналитика
© Крылов - 2015 г. 20
Данные – это не золото. Необработанные данные – это сырье.
Золото – то, что можно из них добыть
Очистка,
агрегирование,
консолидация ,
ETL
Формирование
модели по тестовым
данным
Процессинг рабочих
данных
ПО
визуализации и
поисковый
движок
Информация
(большие
данные)
Machine
Learning
Визуализация
предиктивного
анализа
Консолидация - техники
• Очистка данных:
пропущенные значения
дубликаты данных
шумы и выбросы
• Интеграция данных
стандарт XML
стандарт ISO 15926
JSON
Vladimir Krylov 2014 21
Визуализация – инструмент интерпретации
Vladimir Krylov 2014 22
Язык R – де-факто стандарт для
предиктивной аналитики
Vladimir Krylov 2014 23
Предиктивная аналитика уже работает
© Крылов - 2015 г. 24
Потребление
• Голливудские киностудии прогнозируют успех
• Netflix платит 1 млн долларов за улучшение рекомендательной системы
• Энергетические компании прогнозируют нагрузку и изобрели
виртуальные электростанции
• Уолл-стрит прогнозирует цены акций
• Торговые компании прогнозируют какие клиенты что будут покупать
Любовь, работа, дети и разводы
• Социальная профессиональная сеть LinkedIn прогнозирует ваши навыки
• Сайты знакомств прогнозируют кто подходит больше всего
• Торговая сеть Target прогнозирует кто из покупателей ждет ребенка,
чтобы предложить соответствующие товары
• Клинические исследователи прогнозируют вероятность супружеской
измены и развода. (www.divorce360.com)
© Крылов - 2015 г. 25
Мышление и принятие решений
• Прогнозирование рекции избирателей при проведении
избирательных компаний
• Автоматическое оценивание школьных сочинений
• Компьютер Watson компании IBM победил в телешоу Jeopardy
(Своя игра)
• Определение намерений, стоящих за письменным словом
• Чтение мыслей по MRT сканам
© Крылов - 2015 г. 26
Уход сотрудников и клиентов
• НР по всему миру оценивает каждого из своих 330000
сотрудников по всему миру по шкале «Риск ухода»
• Операторы мобильной связи прогнозируют уход каждого своего
клиента к другому оператору
• Американская система госуниверситетов APUS прогнозируют
какие студенты могут бросить учебу
• Википедия прогнозирует кто из волонтеров – редакторов
собирается прекратить работу
• Гарвардские исследователи прогнозируют отказ от курения
© Крылов - 2015 г. 27
Болезни и смерть
• 3 млн долларов за разработку алгоритма прогнозирования
поступления пациентов в больницы
• Диагностика заболеваний по множественным данным (Стэнфорд
– рак молочной железы)
• Прогнозирование преждевременных родов (80%)
• Метод диагностики шизофрении по анализу устной речи
• Страховые компании прогнозируют риски ухода из жизни
• Прогнозирование риска смерти при хирургической операции
• Прогнозирование успеха лечения
© Крылов - 2015 г. 28
Ложь, мощенничество, кражи и убийства
• Банки прогнозируют мошенничество с целью хищения с карт и
поддельных чеков по поведению клиентов
• Компьютерные предиктивные модели позволяют определить, кто
должен находиться в тюрьме по риску повторного совершения
преступления
• Прогнозирование кто из определенных групп риска может совершить
убийство.
• Прогнозируется принадлежность к террористическим организациям
• Работает полицейская система прогнозирования районов и времени
совершения преступлений (Чикаго, Мемфис, Ричмонд)
• Налоговая служба прогнозирует каждого на риск ухода от налогов
© Крылов - 2015 г. 29
© Крылов - 2015 г. 30
Ballmer says machine learning will be the
next era of computer science
© Крылов - 2015 г. 31
"It's a new world in which the ability to understand the world and people and draw conclusions will be really quite remarkable…
It's a fundamentally different way of doing computer science."
Пять эффектов в предиктивной аналитике
• Эффект прогнозирования: малым достигается многое (о точности
прогнозов)
• Эффект данных
• Эффект индукции
• Эффект ансамбля
• Эффект взаимодействия
© Крылов - 2015 г. 32
Экономист – это специалист, который назавтра узнает, почему не произошло то,
что он предсказывал вчера
Почему вы никогда не увидите заголовок «Экстрасенс выиграл в лотерею»?
Предиктивная аналитика –технология, опирающаяся на опыт (данные)
для прогнозирования будущего поведения людей и природы
Эффект данных
• Данные всегда обладают прогнозным потенциалом
• Корреляция не подразумевает наличия причинно-следственной
связи
объем продаж мороженого <-> частота нападения акул
курение <-> вероятность не страдать туннельным синдромом запястья
© Крылов - 2015 г. 33
Эмоции и состояние рынка
• S&P 500 на два дня отстает от индекса тревоги (anxiety index)
© Крылов - 2015 г. 34
Эффект индукции
• Машинным обучением движет искусство. Стратегии, частично
являющиеся продуктом неформальной человеческой творческой
мысли, будучи оформлены в виде компьютерных программ, дают
успешные результаты при разработке эффективных
прогностических моделей, хорошо показывающих себя на новых
случаях.
© Крылов - 2015 г. 35
Эффект ансамбля
• История борьбы за Netflix Prize $1 M – croudsourcing
• Коллективный разум Шуровски
• Не работает принцип «бритвы Оккама»
• Мешок моделей и парадокс генерализации
• Эффект ансамбля: объединенные в ансамбль предиктивные
модели компенсируют недостатки друг друга; следовательно,
ансамбль моделей в большинстве случаев обладает большей
прогнозной точностью, чем составляющие его модели.
© Крылов - 2015 г. 36
Постановка задачи предиктивной
аналитики
1. Предмет прогнозирования: какое поведение, действие или
событие должно быть спрогнозировано в отношении
конкретного человека, акции или другого субъекта
2. Цель прогнозирования: какие решения будут приняты или
какие действия будут предприняты в ответ на каждый прогноз
или под его влиянием
© Крылов - 2015 г. 37
Применение ПА: таргетирование прямого
маркетинга
1. Предмет прогнозирования: какие клиенты откликнутся на
маркетинговый контакт
2. Цель прогнозирования: фокусирование маркетинговых усилий
на клиентов с максимальной вероятностью положительного
отклика
© Крылов - 2015 г. 38
Пример 1
• Компания с со списком рассылки 1
млн потенциальных клиентов.
Стоимость прямой рассылки 100
руб на чел. В прошлом только 1 из
100 чел покупал ваш продукт Т.е, вы
получали 10000 откликов(1%). Пусть
прибыль на положительный отклик
составляет 11 000 руб.
• Общая прибыль=выручка-
затраты=(11000*10000)-
(100*1000000)=10 млн руб
• Затраты на маркетинг ушли впустую
ROI=10млн/100млн=0.1
• Пусть ПА дал, что 25% людей из
списка дадут вероятность покупки в
три раза выше средней. Получаем
250000 человек в списке из которых
3% т.е. 7500 человек могут стать
реальными покупателями.
• (Точность и результат прогноза
НЕВЕЛИКИ?!)
• ОДНАКО: Общая прибыль=выручка-
затраты=(11000*7500)-
(100*250000)= 57.5млн руб
• ROI=57.5/82.5=2.3 руб на 1
вложенный в маркетинг
© Крылов - 2015 г. 39
Применение ПА: таргетирование рекламы
1. Предмет прогнозирования: какое рекламное объявление
вероятнее всего спровоцирует клик у каждого конкретного
пользователя
2. Цель прогнозирования: повышение эффективности
отображения рекламных объявлений (на основе вероятности
клика, а также вознаграждения, выплачиваемого
рекламодателем)
© Крылов - 2015 г. 40
Пример 2
• Интернет реклама на сайте по
поиску студенческих грантов и
стипендий. Всегда выбиралась
одно из 291 рекламных
сообщений для каждого
посетителя. Вероятность
конкретного сообщения
определялось доходом
принесенном в прошлом
независимо от клиента
• За каждый клик по рекламе
владелец сайта получает
вознаграждение от
рекламодателя
• Персонализация рекламы
• Метод – ML, Naïve Bayes 291-
реклама – 291 модель, 50 млн
обучающая выборка
• Получалась прогнозная
скоринговая оценка клика и
выбиралась реклама с
наибольшей оценкой для
данного клиента
• Увеличило доход на 3.6% то есть
давало дополнительно 1 млн
долларов каждые 19 месяцев
© Крылов - 2015 г. 41
А ты против аналитики данных?
• Предиктивная аналитика – один из ключевых
факторов эскалации войны вокруг данных. Потому
что ПА порождает постоянный интерес в
получении большего объема данных, потому, что
мало кто хочет, чтобы кто-то знал о вас то, что вы
еще не сделали и даже еще не знаете сделаете ли
• Сама по себе предиктивная аналитика не
нарушает неприкосновенности частной жизни, она
основана не на «копании» в вашей жизни, а на
выявлении общих закономерностей, присущих
огромным массивам данных. Её успех в
прогнозировании поведения определяется не тем,
сколько данных удалось собрать о конкретном
человеке, а на том, сколько данных собрано для
получения хорошей модели, связывающей
известные характеристики людей, с их
поведением и поступками
Предиктивная аналитика такой же как и другие
инструменты, созданные людьми, и применение
которых зависит от тех людей, в чьих руках они
оказались
© Крылов - 2015 г. 42
Данные ценятся дороже, чем на вес золота
– ведь они ничего не весят
Нельзя удержать под замком того,
Кто может телепортироваться
Язык R – де-факто стандарт для
предиктивной аналитики
Vladimir Krylov 2014 43
© Крылов - 2015 г. 44
• R – появился как диалект языка S в 1991: система
R создана статистиками Россом Ихака и Робертом
Джентельменом (университет Окленда, Новая Зеландия).
• S был создан в 1976 г. в Bell Labs.
• 2000: вышел R v1.0.0
• 2013-09-25 R version 3.0.2
• Для больших данных RHDFS, RMR2
от Hortonworks
• RHadoop Google Group
• Revolution R
© Крылов - 2015 г. 45
Revolution
R
Open
Revolutio
n R
Plus
Revolution
R
Enterprise
R Language Engine Included Supported Supported
Multi-core processing (Intel®
Math Kernel Library)
Included Supported Supported
Reproducible R Toolkit Included Supported Supported
ParallelR: Parallel Programming
Toolkit
Supported Supported
RHadoop: R interface to
Hadoop MapReduce
Supported Supported
DeployR Open: Web Services
API
Supported Supported
RRE DeployR - Scalable &
Secure Deployment
Licensed &
Supported
RRE ScaleR - Big Data Toolkit
and PEMAs for R
Licensed &
Supported
RRE DistributedR - EDW, Grids,
Hadoop
Licensed &
Supported
AdviseR Technical Support Included Included
Работа с R
• Ядро R доступно с сайта CRAN (cran.r-project.org)
[CRAN = The Comprehensive R Archive Network]
• Сторонние библиотеки
• Библиотеки с CRAN (cran.r-project.org)
• Bioconductor project (bioconductor.org)
• Среды разработки
• R GUI (стандартная)
• R Studio (rstudio.com)
© Крылов - 2015 г. 46
Типы данных
• Получение типа class(x)
• Проверка на принадлежность к типу is.[type](x)
• Приведение к типу as.[type](x)
© Крылов - 2015 г. 47
Отсутствующие значения
• Предусмотрены случаи, когда не удается собрать все данные по
всем параметрам интересующих нас объектов
• Отсутствующие (неизвестные) значения наблюдений
обозначаются в R как NA (“Not available”).
• •Проверка на NA: is.na (x)
• •Избавление от NA: na.omit (data)
• Для сравнения в MATLAB – используются специальные функции
вроде nanmean, nanmax, nanmin)
© Крылов - 2015 г. 48
Базовые структуры данных
• Оператор присваивания data<-data.frame(…)
• Есть и оператор = с небольшими семантическими отличиями
© Крылов - 2015 г. 49
data.frame
• Объекты этого типа обычно содержат наблюдения -
анализируемые данные
© Крылов - 2015 г. 50
Изучение данных
© Крылов - 2015 г. 51
Выборка данных по строкам
© Крылов - 2015 г. 52
Выборка данных по столбцам
© Крылов - 2015 г. 53
Выборка данных по условиям
© Крылов - 2015 г. 54
Выгрузка данных в Data Lake
• download.file() – выгрузка файла из внешних хранилищ по URL
• read.csv() – чтение данных из файла во внутреннюю структуру
• read.table() – более настраиваемая конструкция для чтения
• Внимание! При работе в Windows в указание пути к файлу нужно заменять обратный слэш
на два или на один прямой слэш
© Крылов - 2015 г. 55
>
> fileUrl<-"https://www.dropbox.com/s/4tmu6yegi6kzmev/02_Data_mobile.csv?dl=0"
> download.file(fileUrl,destfile="mobdata.csv")
Выгрузка данных из других источников
• Чтение Excel
read.xlsx(), read.xlsx2() из пакета xlsx
• Чтение JSON
fromJSON() из пакета RJSONIO
• Чтение текстов
readLines()
© Крылов - 2015 г. 56
Простейшие графики
• plot() – 2D графика для пар точек
• lines() соединяет точки линиями (функция чувствительна к NA )
© Крылов - 2015 г. 57
Простейшие графики
• Здесь соединение линиями практически ничего не дает, однако
имеет смысл разделить данные по полу
© Крылов - 2015 г. 58
Простейшие графики
• table() - возвращает частотность значений
• barplot() - рисует гистограмму
© Крылов - 2015 г. 59
Простейшая аналитика – линейная регрессия
© Крылов - 2015 г. 60
Коэфициенты b0, b1,… bn подберем таким образом, чтобы эта функция по
МНК наиболее хорошо подходила под правильные значения для
тестовой выборки.
Приводится к системе Ab=f, где A – матрица (n+1)*(n+1)
lm(formula, data, subset, weights, na.action, method = "qr", model = TRUE, x = FALSE,
y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, offset, ...)
© Крылов - 2015 г. 61
formula - an object of class "formula" (or one that can be coerced to that class): a symbolic description of the model to be fitted. The
details of model specification are given under ‘Details’.
data -an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the
model. If not found in data, the variables are taken from environment(formula), typically the environment from which lm is called.
subset -an optional vector specifying a subset of observations to be used in the fitting process.
weights -an optional vector of weights to be used in the fitting process. Should be NULL or a numeric vector. If non-NULL, weighted least
squares is used with weights weights (that is, minimizing sum(w*e^2)); otherwise ordinary least squares is used. See also ‘Details’,
na.action -a function which indicates what should happen when the data contain NAs. The default is set by the na.action setting of options,
and is na.fail if that is unset. The ‘factory-fresh’ default is na.omit. Another possible value is NULL, no action. Value na.exclude can be useful.
method -the method to be used; for fitting, currently only method = "qr" is supported; method = "model.frame" returns the model frame
(the same as with model = TRUE, see below).
model, x, y, qr -logicals. If TRUE the corresponding components of the fit (the model frame, the model matrix, the response, the QR
decomposition) are returned.
singular.ok - logical. If FALSE (the default in S but not in R) a singular fit is an error.
contrasts - an optional list. See the contrasts.arg of model.matrix.default.
offset - this can be used to specify an a priori known component to be included in the linear predictor during fitting. This should be
NULL or a numeric vector of length equal to the number of cases. One or more offset terms can be included in the formula instead or as well,
and if more than one are specified their sum is used. See model.offset.
... -additional arguments to be passed to the low level regression fitting functions (see below).
В большинстве случаев вызов функции обычно упрощен
• lm() - простая линейная модель регрессии
• glm() - обобщенная модель линейной регрессии (в т.ч. С
бинарным выбором)
Найдем коэффициенты модели heigh=a+b*age+epsilon
© Крылов - 2015 г. 62
Call:
lm(formula = height ~ age, data = data)
Residuals:
1 2 4 5 6
0.3837 -0.3023 1.3256 -3.3605 1.9535
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 139.2674 11.9084 11.695 0.00134 **
age 1.6860 0.5757 2.928 0.06108 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.388 on 3 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.7408, Adjusted R-squared: 0.6545
F-statistic: 8.576 on 1 and 3 DF, p-value: 0.06108
© Крылов - 2015 г. 63
Графическое представление линейной
регрессии
• > abline()рисует линию регрессии по коэфициентам модели
© Крылов - 2015 г. 64
Линейная регрессионная модель,
учитывающая факторные переменные
• data$sex – фактор
height=a+b*age+c*ϕ(sex)+epsilon
© Крылов - 2015 г. 65
Графическое представление регрессии с
учетом фактора
© Крылов - 2015 г. 66
Решение простейшей задачи предсказания с
помощью линейной регрессионной модели
© Крылов - 2015 г. 67
age sex height.predicted
1 25 m 182.4854
2 20 f 171.1748
3 30 f 187.6796
data2 <- data.frame(
+ age = c(25L, 20L, 30L),
+ sex = factor(c("m", "f", "f"))
)
> data2$height.predicted <- predict(lm2, data2)
> data2
CRAN - Comprehensive R Archive Network
• Байесовский интерфейс
• Хемометрия и вычислительная физика
• Анализ, мониторинг и проектирование клинического исслеования
• Кластерный анализ и конечноэлементные модели
• Дифференциальные уравнения
• Вероятностные распределения
• Вычислительная эконометрика
• Анализ экологических и данных и данных об окружающей среде
• Планирование экспериментов и анализ экспериментальных данных
• Эмпирические финансы
• Статистическая генетика
• Графическое отображение, динамическая графика и визуализация
• Высокопроизводительны е и параллельные вычисления на R
• Машинное обучение и статистическое обучение (Machine learning&Statistical
Learning) Анализ медицинских изображений
• Мета-анализ
• Мультивариантная статистика
• Обработка естественного языка (Natural language Processing)
• Численная математика
• Официальная статистика и методология опросов
• Оптимизация и математическое программирование
• Анализ данных фармокинетики
• Филогенетика и особые сравнительные методы (Phylogenetics, Espeially
Comprative Methods)
• Психометрические модели и методы
• Исследования репродуцирования (Reproducible Research)
• Робастные статистические методы
• Статистика социальных исследований
• Анализ пространственных данных
• Управление и анализ пространственно-временных данных (Handling and
Analyzing Spatio-Temporal Data)
• Анализ наблюдений (Survival Analysis)
• Анализ временных рядов
• Web технологии и сервисы
• Графические модели в R (gRaphical Models in R)
Vladimir Krylov 2014 68
Аналитика своими руками
© Крылов - 2015 г. 69
Работа с протоколами событий в
мобильной сети связи
© Крылов - 2015 г. 70
> md<-read.table("E:Dropbox02_Data_mobile.csv",sep=";",head=TRUE)
> head(md,1)
lac cid msisdn imei event_type
1 5029 40798 158529599791 353111050313790
0 tstamp long lat max_dist cell_type start_angle
1 1.369253e+12 37.9305 55.7815 2101
OUTDOOR 220 end_angle
1 280
> head(md,0)
[1] lac cid msisdn imei
[5] event_type tstamp long lat
[9] max_dist cell_type start_angle end_angle
<0 rows> (or 0-length row.names)
• Имеется data set одного из операторов мобильной связи
• Задача – найти перемещения абонентов
Конец слайдов первой части
End of part one slides
Vladimir.v.krylov@gmail.com
© Крылов - 2015 г. 71

Más contenido relacionado

Similar a !Predictive analyticbasics part1

Одна лекция из мира Big Data: тренды, кейсы и технологии
Одна лекция из мира Big Data: тренды, кейсы и технологии Одна лекция из мира Big Data: тренды, кейсы и технологии
Одна лекция из мира Big Data: тренды, кейсы и технологии Evgeniy Pavlovskiy
 
Предиктивная аналитика и Big Data: методы, инструменты, решения
Предиктивная аналитика и Big Data: методы, инструменты, решенияПредиктивная аналитика и Big Data: методы, инструменты, решения
Предиктивная аналитика и Big Data: методы, инструменты, решенияDell_Russia
 
Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Marina Payvina
 
Прокачиваем информационные системы с помощью data science
Прокачиваем информационные системы с помощью data scienceПрокачиваем информационные системы с помощью data science
Прокачиваем информационные системы с помощью data scienceSQALab
 
Dsml for business.full version
Dsml for business.full versionDsml for business.full version
Dsml for business.full versionDmitry Guzenko
 
Тренды сегодня: Big Data
Тренды сегодня: Big DataТренды сегодня: Big Data
Тренды сегодня: Big DataAndrey Kazakevich
 
Продвинутый анализ и машинное обучение с помощью виртуализации данных
Продвинутый анализ и машинное обучение с помощью виртуализации данныхПродвинутый анализ и машинное обучение с помощью виртуализации данных
Продвинутый анализ и машинное обучение с помощью виртуализации данныхDenodo
 
Большому аналитику - большие данные
Большому аналитику - большие данныеБольшому аналитику - большие данные
Большому аналитику - большие данныеSQALab
 
Искусственный интеллект и Big Data в бизнесе
Искусственный интеллект и Big Data в бизнесеИскусственный интеллект и Big Data в бизнесе
Искусственный интеллект и Big Data в бизнесеExpasoft
 
брошюра сколково кластер ит
брошюра сколково кластер итброшюра сколково кластер ит
брошюра сколково кластер итThe Skolkovo Foundation
 
BigData в онлайн-маркетинге для малого и среднего бизнеса
BigData в онлайн-маркетинге для малого и среднего бизнесаBigData в онлайн-маркетинге для малого и среднего бизнеса
BigData в онлайн-маркетинге для малого и среднего бизнесаBranchMarketing
 
Александр Крот “Аналитические ошибки в анализе данных”
Александр Крот “Аналитические ошибки в анализе данных”Александр Крот “Аналитические ошибки в анализе данных”
Александр Крот “Аналитические ошибки в анализе данных”Dakiry
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data ScienceProvectus
 
Konstantin Obukhov - Customer Experience Technologies
Konstantin Obukhov - Customer Experience TechnologiesKonstantin Obukhov - Customer Experience Technologies
Konstantin Obukhov - Customer Experience TechnologiesAIST
 
Мониторинг рынка труда IT-специалистов 2016 от Яндекс
Мониторинг рынка труда IT-специалистов  2016 от ЯндексМониторинг рынка труда IT-специалистов  2016 от Яндекс
Мониторинг рынка труда IT-специалистов 2016 от Яндексjido111222
 
2015 голограмма коллектива
2015 голограмма коллектива 2015 голограмма коллектива
2015 голограмма коллектива Evgeniy Pavlovskiy
 
Решение задач с помощью больших данных
Решение задач с помощью больших данныхРешение задач с помощью больших данных
Решение задач с помощью больших данныхSerghei Epifantsew
 

Similar a !Predictive analyticbasics part1 (20)

Одна лекция из мира Big Data: тренды, кейсы и технологии
Одна лекция из мира Big Data: тренды, кейсы и технологии Одна лекция из мира Big Data: тренды, кейсы и технологии
Одна лекция из мира Big Data: тренды, кейсы и технологии
 
Предиктивная аналитика и Big Data: методы, инструменты, решения
Предиктивная аналитика и Big Data: методы, инструменты, решенияПредиктивная аналитика и Big Data: методы, инструменты, решения
Предиктивная аналитика и Big Data: методы, инструменты, решения
 
SPSS Modeler
SPSS ModelerSPSS Modeler
SPSS Modeler
 
Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?Большие данные и бизнес-аналитика: как найти пользу?
Большие данные и бизнес-аналитика: как найти пользу?
 
Прокачиваем информационные системы с помощью data science
Прокачиваем информационные системы с помощью data scienceПрокачиваем информационные системы с помощью data science
Прокачиваем информационные системы с помощью data science
 
Dsml for business.full version
Dsml for business.full versionDsml for business.full version
Dsml for business.full version
 
Тренды сегодня: Big Data
Тренды сегодня: Big DataТренды сегодня: Big Data
Тренды сегодня: Big Data
 
Взгляд на Data Science
Взгляд на Data ScienceВзгляд на Data Science
Взгляд на Data Science
 
Продвинутый анализ и машинное обучение с помощью виртуализации данных
Продвинутый анализ и машинное обучение с помощью виртуализации данныхПродвинутый анализ и машинное обучение с помощью виртуализации данных
Продвинутый анализ и машинное обучение с помощью виртуализации данных
 
Большому аналитику - большие данные
Большому аналитику - большие данныеБольшому аналитику - большие данные
Большому аналитику - большие данные
 
Искусственный интеллект и Big Data в бизнесе
Искусственный интеллект и Big Data в бизнесеИскусственный интеллект и Big Data в бизнесе
Искусственный интеллект и Big Data в бизнесе
 
брошюра сколково кластер ит
брошюра сколково кластер итброшюра сколково кластер ит
брошюра сколково кластер ит
 
BigData в онлайн-маркетинге для малого и среднего бизнеса
BigData в онлайн-маркетинге для малого и среднего бизнесаBigData в онлайн-маркетинге для малого и среднего бизнеса
BigData в онлайн-маркетинге для малого и среднего бизнеса
 
Александр Крот “Аналитические ошибки в анализе данных”
Александр Крот “Аналитические ошибки в анализе данных”Александр Крот “Аналитические ошибки в анализе данных”
Александр Крот “Аналитические ошибки в анализе данных”
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Презентация Tibco spotfire
Презентация Tibco spotfireПрезентация Tibco spotfire
Презентация Tibco spotfire
 
Konstantin Obukhov - Customer Experience Technologies
Konstantin Obukhov - Customer Experience TechnologiesKonstantin Obukhov - Customer Experience Technologies
Konstantin Obukhov - Customer Experience Technologies
 
Мониторинг рынка труда IT-специалистов 2016 от Яндекс
Мониторинг рынка труда IT-специалистов  2016 от ЯндексМониторинг рынка труда IT-специалистов  2016 от Яндекс
Мониторинг рынка труда IT-специалистов 2016 от Яндекс
 
2015 голограмма коллектива
2015 голограмма коллектива 2015 голограмма коллектива
2015 голограмма коллектива
 
Решение задач с помощью больших данных
Решение задач с помощью больших данныхРешение задач с помощью больших данных
Решение задач с помощью больших данных
 

!Predictive analyticbasics part1

  • 1. Основы предиктивной аналитики. Часть первая Профессор Крылов Владимир Владимирович Vladimir.V.Krylov@gmail.com +7 964 839 0004
  • 3. Сообщите о себе • ФИО • Учебная группа • Тема выпускной работы • Руководитель • Чем интересуетесь • Где работаете Vladimir.v.krylov@gmail.com © Крылов - 2015 г. 3
  • 4. Цель курса • Познакомить с современным и быстро развивающимся направлением науки о данных, основными понятиями и технологиями, позволяющими предсказывать будущие события и принимать решения на этой основе Ну что сказать, ну что сказать, Устроены так люди, Желают знать, желают знать, Желают знать что будет. (к/ф Ах водевиль, водевиль) © Крылов - 2015 г. 4
  • 5. Содержание курса • Что такое предиктивная аналитика и ее позиционирование • Данные – сырье для знаний • Инструментарий аналитика. Язык R. • Основы машинного обучения. Методы и алгоритмы. • Коллаборативные методы предиктивного анализа • Введение в аналитику больших данных © Крылов - 2015 г. 5
  • 6. • Наглядная статистика. Используем R! А.Б. Шипунов, Е.М. Балдин, А.И. Коробейников и др., М.: ДМК Пресс, 2014 • R в действии. Анализ и визуализация данных на языке R Р. Кабаков, М.: ДМК Пресс, 2014 • Просчитать будущее Э. Сигель, пер. англ. М.: Альпина Паблишер, 2014 • Нейросетевые алгоритмы прогнозирования и оптимизации систем Назаров А.В., Лоскутов А.И., СПб.: Наука и Техника, 2003. Литература по курсу КУЛЬТУРА - это не количество прочитанных книг, а количество понятых" Фазиль Искандер © Крылов - 2015 г. 6
  • 7. Data Science – наука о данных © Крылов - 2015 г. 7
  • 8. • Число звезд в нашей галактике 2*10^21 • Число песчинок на планете – около 3х10^21 © Крылов - 2015 г. 8
  • 9. • Как утверждают гиганты ИТ индустрии (ЕМС, Cisco, IBM, Google) в 2012 году в мире было сгенерировано 2 тысячи миллиардов гигабайтов или 2 тысячи экзабайтов или 2 зетабайта (2*10^21 байтов) данных, а в 2020 году эта величина достигнет 40 зетабайтов (это 40*10^21 байт). © Крылов - 2015 г. 9
  • 10. Объем (размер) данных Название Размер по ГОСТ 8.417-2002 (приставки по СИ) Символ Примечание: размер по стандартам МЭК байт 8 бит B килобайт 103 B КB 210 =1024 байт мегабайт 106 B МB 220 байт гигабайт 109 B GB 230 байт терабайт 1012 B ТБ 240 байт петабайт 1015 B PB 250 байт эксабайт 1018 B EB 260 байт зеттабайт 1021 B ZB 270 байт йоттабайт 1024 B YB 280 байт Vladimir Krylov 2014 10
  • 11. Data Science – прикладная наука • Data management • Data exploration • Data wrangling • Data Mining • Machine Learning (ML) • Knowledge Discovery in Databases (KDD) • Artificial Intelligence © Крылов - 2015 г. 11
  • 12. Data Mining and Machine Learning • Data mining (один из шагов в процессе "Knowledge Discovery in Databases" process, or KDD) – междисциплинарной области computer science, определяет вычислительный процесс исследования patterns в больших data sets привлекающий методы на пересечении artificial intelligence, machine learning, statistics, и database systems. • Machine learning - это научная дисциплина, которая изучает конструкции и алгоритмы, которые могут обучаться на основе доступных им данных. Такие алгоритмы работают путем построения модели по наборе входных данных и используя ее для предсказания или принятия решения, вместо следования заранее написанным статическим правилам. © Крылов - 2015 г. 12
  • 13. Техники Machine Learning 1 Decision tree learning 2 Association rule learning 3 Artificial neural networks 4 Inductive logic programming 5 Support vector machines 6 Clustering 7 Bayesian networks 8 Reinforcement learning 9 Representation learning 10 Similarity and metric learning 11 Sparse dictionary learning 12 Genetic algorithms © Крылов - 2015 г. 13
  • 14. Профессия - Data Scientist (исследователь данных) В США произвели оценку потребностей в специалистах такой профессии и пришли к выводу, что уже в 2018 году в США будет нехватка исследователей данных в количестве 190 000 человек! Известный журнал Harvard Business Review так озаглавил один из своих выпусков: “Data Scientist: The Sexiest Job Of the 21st Century” – исследователь данных – самая привлекательная работа 21 столетия © Крылов - 2015 г. 14
  • 15. Кто такой Data Scientist? • Любит данные • Исследовательский склад ума • Цель работы – нахождение закономерностей в данных • Практик, не теоретик • Умеет и любит работать руками • Эксперт в какой-либо прикладной области (обычно, но не обязательно) • Работает в команде • Подробности в превосходном курсе ниже: • https://www.coursera.org/course/datasci toolbox Предпочтительное образование: • Computer Science • Статистика, математика • Точные науки- физика, инженерия и т.п. • Магистры и кандидаты наук • Исследователь данных не является математиком, но обязательно владеет техниками больших данных. • Исследователь данных не является программистом, но обязательно умеет работать с программными средствами и владеет технологиями больших данных. © Крылов - 2015 г. 15
  • 16. CRISP-DM (Cross Industry Standard Process for Data Mining) © Крылов - 2015 г. 16
  • 17. © Крылов - 2015 г. 17
  • 18. The Open Source Data Science Curriculum Intro to Data Science UW / Coursera Topics: Python NLP on Twitter API, Distributed Computing Paradigm, MapReduce/Hadoop & Pig Script, SQL/NoSQL, Relationa Experiment design, Statistics, Graphs, Amazon EC2, Visualization. Data Science / Harvard Video Archive & Course Topics: Data wrangling, data management, exploratory data analysis to generate hypotheses and intuition, prediction based on statistical methods such as regression and classification, communication of results through visualization, stories, and summaries. Data Science with Open Source Tools Book $27 •Topics: Visualizing Data, Estimation, Models from Scaling Arguments, Arguments from Probability Models, • What you Really Need to Know about Classical Statistics, Data Mining, Clustering, PCA, Map/Reduce, •Predictive Analytics •Example Code in: R, Python, Sage, C, Gnu Scientific Library © Крылов - 2015 г. 18
  • 19. Кажущаяся бесконечность информации, которую регистрируют наши системы, исключает события, знания о которых наиболее ценны для нас, - а именно события, которые еще не произошли Эрик Сигель © Крылов - 2015 г. 19
  • 20. Как работает предиктивная аналитика © Крылов - 2015 г. 20 Данные – это не золото. Необработанные данные – это сырье. Золото – то, что можно из них добыть Очистка, агрегирование, консолидация , ETL Формирование модели по тестовым данным Процессинг рабочих данных ПО визуализации и поисковый движок Информация (большие данные) Machine Learning Визуализация предиктивного анализа
  • 21. Консолидация - техники • Очистка данных: пропущенные значения дубликаты данных шумы и выбросы • Интеграция данных стандарт XML стандарт ISO 15926 JSON Vladimir Krylov 2014 21
  • 22. Визуализация – инструмент интерпретации Vladimir Krylov 2014 22
  • 23. Язык R – де-факто стандарт для предиктивной аналитики Vladimir Krylov 2014 23
  • 24. Предиктивная аналитика уже работает © Крылов - 2015 г. 24
  • 25. Потребление • Голливудские киностудии прогнозируют успех • Netflix платит 1 млн долларов за улучшение рекомендательной системы • Энергетические компании прогнозируют нагрузку и изобрели виртуальные электростанции • Уолл-стрит прогнозирует цены акций • Торговые компании прогнозируют какие клиенты что будут покупать Любовь, работа, дети и разводы • Социальная профессиональная сеть LinkedIn прогнозирует ваши навыки • Сайты знакомств прогнозируют кто подходит больше всего • Торговая сеть Target прогнозирует кто из покупателей ждет ребенка, чтобы предложить соответствующие товары • Клинические исследователи прогнозируют вероятность супружеской измены и развода. (www.divorce360.com) © Крылов - 2015 г. 25
  • 26. Мышление и принятие решений • Прогнозирование рекции избирателей при проведении избирательных компаний • Автоматическое оценивание школьных сочинений • Компьютер Watson компании IBM победил в телешоу Jeopardy (Своя игра) • Определение намерений, стоящих за письменным словом • Чтение мыслей по MRT сканам © Крылов - 2015 г. 26
  • 27. Уход сотрудников и клиентов • НР по всему миру оценивает каждого из своих 330000 сотрудников по всему миру по шкале «Риск ухода» • Операторы мобильной связи прогнозируют уход каждого своего клиента к другому оператору • Американская система госуниверситетов APUS прогнозируют какие студенты могут бросить учебу • Википедия прогнозирует кто из волонтеров – редакторов собирается прекратить работу • Гарвардские исследователи прогнозируют отказ от курения © Крылов - 2015 г. 27
  • 28. Болезни и смерть • 3 млн долларов за разработку алгоритма прогнозирования поступления пациентов в больницы • Диагностика заболеваний по множественным данным (Стэнфорд – рак молочной железы) • Прогнозирование преждевременных родов (80%) • Метод диагностики шизофрении по анализу устной речи • Страховые компании прогнозируют риски ухода из жизни • Прогнозирование риска смерти при хирургической операции • Прогнозирование успеха лечения © Крылов - 2015 г. 28
  • 29. Ложь, мощенничество, кражи и убийства • Банки прогнозируют мошенничество с целью хищения с карт и поддельных чеков по поведению клиентов • Компьютерные предиктивные модели позволяют определить, кто должен находиться в тюрьме по риску повторного совершения преступления • Прогнозирование кто из определенных групп риска может совершить убийство. • Прогнозируется принадлежность к террористическим организациям • Работает полицейская система прогнозирования районов и времени совершения преступлений (Чикаго, Мемфис, Ричмонд) • Налоговая служба прогнозирует каждого на риск ухода от налогов © Крылов - 2015 г. 29
  • 30. © Крылов - 2015 г. 30
  • 31. Ballmer says machine learning will be the next era of computer science © Крылов - 2015 г. 31 "It's a new world in which the ability to understand the world and people and draw conclusions will be really quite remarkable… It's a fundamentally different way of doing computer science."
  • 32. Пять эффектов в предиктивной аналитике • Эффект прогнозирования: малым достигается многое (о точности прогнозов) • Эффект данных • Эффект индукции • Эффект ансамбля • Эффект взаимодействия © Крылов - 2015 г. 32 Экономист – это специалист, который назавтра узнает, почему не произошло то, что он предсказывал вчера Почему вы никогда не увидите заголовок «Экстрасенс выиграл в лотерею»? Предиктивная аналитика –технология, опирающаяся на опыт (данные) для прогнозирования будущего поведения людей и природы
  • 33. Эффект данных • Данные всегда обладают прогнозным потенциалом • Корреляция не подразумевает наличия причинно-следственной связи объем продаж мороженого <-> частота нападения акул курение <-> вероятность не страдать туннельным синдромом запястья © Крылов - 2015 г. 33
  • 34. Эмоции и состояние рынка • S&P 500 на два дня отстает от индекса тревоги (anxiety index) © Крылов - 2015 г. 34
  • 35. Эффект индукции • Машинным обучением движет искусство. Стратегии, частично являющиеся продуктом неформальной человеческой творческой мысли, будучи оформлены в виде компьютерных программ, дают успешные результаты при разработке эффективных прогностических моделей, хорошо показывающих себя на новых случаях. © Крылов - 2015 г. 35
  • 36. Эффект ансамбля • История борьбы за Netflix Prize $1 M – croudsourcing • Коллективный разум Шуровски • Не работает принцип «бритвы Оккама» • Мешок моделей и парадокс генерализации • Эффект ансамбля: объединенные в ансамбль предиктивные модели компенсируют недостатки друг друга; следовательно, ансамбль моделей в большинстве случаев обладает большей прогнозной точностью, чем составляющие его модели. © Крылов - 2015 г. 36
  • 37. Постановка задачи предиктивной аналитики 1. Предмет прогнозирования: какое поведение, действие или событие должно быть спрогнозировано в отношении конкретного человека, акции или другого субъекта 2. Цель прогнозирования: какие решения будут приняты или какие действия будут предприняты в ответ на каждый прогноз или под его влиянием © Крылов - 2015 г. 37
  • 38. Применение ПА: таргетирование прямого маркетинга 1. Предмет прогнозирования: какие клиенты откликнутся на маркетинговый контакт 2. Цель прогнозирования: фокусирование маркетинговых усилий на клиентов с максимальной вероятностью положительного отклика © Крылов - 2015 г. 38
  • 39. Пример 1 • Компания с со списком рассылки 1 млн потенциальных клиентов. Стоимость прямой рассылки 100 руб на чел. В прошлом только 1 из 100 чел покупал ваш продукт Т.е, вы получали 10000 откликов(1%). Пусть прибыль на положительный отклик составляет 11 000 руб. • Общая прибыль=выручка- затраты=(11000*10000)- (100*1000000)=10 млн руб • Затраты на маркетинг ушли впустую ROI=10млн/100млн=0.1 • Пусть ПА дал, что 25% людей из списка дадут вероятность покупки в три раза выше средней. Получаем 250000 человек в списке из которых 3% т.е. 7500 человек могут стать реальными покупателями. • (Точность и результат прогноза НЕВЕЛИКИ?!) • ОДНАКО: Общая прибыль=выручка- затраты=(11000*7500)- (100*250000)= 57.5млн руб • ROI=57.5/82.5=2.3 руб на 1 вложенный в маркетинг © Крылов - 2015 г. 39
  • 40. Применение ПА: таргетирование рекламы 1. Предмет прогнозирования: какое рекламное объявление вероятнее всего спровоцирует клик у каждого конкретного пользователя 2. Цель прогнозирования: повышение эффективности отображения рекламных объявлений (на основе вероятности клика, а также вознаграждения, выплачиваемого рекламодателем) © Крылов - 2015 г. 40
  • 41. Пример 2 • Интернет реклама на сайте по поиску студенческих грантов и стипендий. Всегда выбиралась одно из 291 рекламных сообщений для каждого посетителя. Вероятность конкретного сообщения определялось доходом принесенном в прошлом независимо от клиента • За каждый клик по рекламе владелец сайта получает вознаграждение от рекламодателя • Персонализация рекламы • Метод – ML, Naïve Bayes 291- реклама – 291 модель, 50 млн обучающая выборка • Получалась прогнозная скоринговая оценка клика и выбиралась реклама с наибольшей оценкой для данного клиента • Увеличило доход на 3.6% то есть давало дополнительно 1 млн долларов каждые 19 месяцев © Крылов - 2015 г. 41
  • 42. А ты против аналитики данных? • Предиктивная аналитика – один из ключевых факторов эскалации войны вокруг данных. Потому что ПА порождает постоянный интерес в получении большего объема данных, потому, что мало кто хочет, чтобы кто-то знал о вас то, что вы еще не сделали и даже еще не знаете сделаете ли • Сама по себе предиктивная аналитика не нарушает неприкосновенности частной жизни, она основана не на «копании» в вашей жизни, а на выявлении общих закономерностей, присущих огромным массивам данных. Её успех в прогнозировании поведения определяется не тем, сколько данных удалось собрать о конкретном человеке, а на том, сколько данных собрано для получения хорошей модели, связывающей известные характеристики людей, с их поведением и поступками Предиктивная аналитика такой же как и другие инструменты, созданные людьми, и применение которых зависит от тех людей, в чьих руках они оказались © Крылов - 2015 г. 42 Данные ценятся дороже, чем на вес золота – ведь они ничего не весят Нельзя удержать под замком того, Кто может телепортироваться
  • 43. Язык R – де-факто стандарт для предиктивной аналитики Vladimir Krylov 2014 43
  • 44. © Крылов - 2015 г. 44
  • 45. • R – появился как диалект языка S в 1991: система R создана статистиками Россом Ихака и Робертом Джентельменом (университет Окленда, Новая Зеландия). • S был создан в 1976 г. в Bell Labs. • 2000: вышел R v1.0.0 • 2013-09-25 R version 3.0.2 • Для больших данных RHDFS, RMR2 от Hortonworks • RHadoop Google Group • Revolution R © Крылов - 2015 г. 45 Revolution R Open Revolutio n R Plus Revolution R Enterprise R Language Engine Included Supported Supported Multi-core processing (Intel® Math Kernel Library) Included Supported Supported Reproducible R Toolkit Included Supported Supported ParallelR: Parallel Programming Toolkit Supported Supported RHadoop: R interface to Hadoop MapReduce Supported Supported DeployR Open: Web Services API Supported Supported RRE DeployR - Scalable & Secure Deployment Licensed & Supported RRE ScaleR - Big Data Toolkit and PEMAs for R Licensed & Supported RRE DistributedR - EDW, Grids, Hadoop Licensed & Supported AdviseR Technical Support Included Included
  • 46. Работа с R • Ядро R доступно с сайта CRAN (cran.r-project.org) [CRAN = The Comprehensive R Archive Network] • Сторонние библиотеки • Библиотеки с CRAN (cran.r-project.org) • Bioconductor project (bioconductor.org) • Среды разработки • R GUI (стандартная) • R Studio (rstudio.com) © Крылов - 2015 г. 46
  • 47. Типы данных • Получение типа class(x) • Проверка на принадлежность к типу is.[type](x) • Приведение к типу as.[type](x) © Крылов - 2015 г. 47
  • 48. Отсутствующие значения • Предусмотрены случаи, когда не удается собрать все данные по всем параметрам интересующих нас объектов • Отсутствующие (неизвестные) значения наблюдений обозначаются в R как NA (“Not available”). • •Проверка на NA: is.na (x) • •Избавление от NA: na.omit (data) • Для сравнения в MATLAB – используются специальные функции вроде nanmean, nanmax, nanmin) © Крылов - 2015 г. 48
  • 49. Базовые структуры данных • Оператор присваивания data<-data.frame(…) • Есть и оператор = с небольшими семантическими отличиями © Крылов - 2015 г. 49
  • 50. data.frame • Объекты этого типа обычно содержат наблюдения - анализируемые данные © Крылов - 2015 г. 50
  • 52. Выборка данных по строкам © Крылов - 2015 г. 52
  • 53. Выборка данных по столбцам © Крылов - 2015 г. 53
  • 54. Выборка данных по условиям © Крылов - 2015 г. 54
  • 55. Выгрузка данных в Data Lake • download.file() – выгрузка файла из внешних хранилищ по URL • read.csv() – чтение данных из файла во внутреннюю структуру • read.table() – более настраиваемая конструкция для чтения • Внимание! При работе в Windows в указание пути к файлу нужно заменять обратный слэш на два или на один прямой слэш © Крылов - 2015 г. 55 > > fileUrl<-"https://www.dropbox.com/s/4tmu6yegi6kzmev/02_Data_mobile.csv?dl=0" > download.file(fileUrl,destfile="mobdata.csv")
  • 56. Выгрузка данных из других источников • Чтение Excel read.xlsx(), read.xlsx2() из пакета xlsx • Чтение JSON fromJSON() из пакета RJSONIO • Чтение текстов readLines() © Крылов - 2015 г. 56
  • 57. Простейшие графики • plot() – 2D графика для пар точек • lines() соединяет точки линиями (функция чувствительна к NA ) © Крылов - 2015 г. 57
  • 58. Простейшие графики • Здесь соединение линиями практически ничего не дает, однако имеет смысл разделить данные по полу © Крылов - 2015 г. 58
  • 59. Простейшие графики • table() - возвращает частотность значений • barplot() - рисует гистограмму © Крылов - 2015 г. 59
  • 60. Простейшая аналитика – линейная регрессия © Крылов - 2015 г. 60 Коэфициенты b0, b1,… bn подберем таким образом, чтобы эта функция по МНК наиболее хорошо подходила под правильные значения для тестовой выборки. Приводится к системе Ab=f, где A – матрица (n+1)*(n+1)
  • 61. lm(formula, data, subset, weights, na.action, method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, offset, ...) © Крылов - 2015 г. 61 formula - an object of class "formula" (or one that can be coerced to that class): a symbolic description of the model to be fitted. The details of model specification are given under ‘Details’. data -an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which lm is called. subset -an optional vector specifying a subset of observations to be used in the fitting process. weights -an optional vector of weights to be used in the fitting process. Should be NULL or a numeric vector. If non-NULL, weighted least squares is used with weights weights (that is, minimizing sum(w*e^2)); otherwise ordinary least squares is used. See also ‘Details’, na.action -a function which indicates what should happen when the data contain NAs. The default is set by the na.action setting of options, and is na.fail if that is unset. The ‘factory-fresh’ default is na.omit. Another possible value is NULL, no action. Value na.exclude can be useful. method -the method to be used; for fitting, currently only method = "qr" is supported; method = "model.frame" returns the model frame (the same as with model = TRUE, see below). model, x, y, qr -logicals. If TRUE the corresponding components of the fit (the model frame, the model matrix, the response, the QR decomposition) are returned. singular.ok - logical. If FALSE (the default in S but not in R) a singular fit is an error. contrasts - an optional list. See the contrasts.arg of model.matrix.default. offset - this can be used to specify an a priori known component to be included in the linear predictor during fitting. This should be NULL or a numeric vector of length equal to the number of cases. One or more offset terms can be included in the formula instead or as well, and if more than one are specified their sum is used. See model.offset. ... -additional arguments to be passed to the low level regression fitting functions (see below).
  • 62. В большинстве случаев вызов функции обычно упрощен • lm() - простая линейная модель регрессии • glm() - обобщенная модель линейной регрессии (в т.ч. С бинарным выбором) Найдем коэффициенты модели heigh=a+b*age+epsilon © Крылов - 2015 г. 62
  • 63. Call: lm(formula = height ~ age, data = data) Residuals: 1 2 4 5 6 0.3837 -0.3023 1.3256 -3.3605 1.9535 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 139.2674 11.9084 11.695 0.00134 ** age 1.6860 0.5757 2.928 0.06108 . --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2.388 on 3 degrees of freedom (1 observation deleted due to missingness) Multiple R-squared: 0.7408, Adjusted R-squared: 0.6545 F-statistic: 8.576 on 1 and 3 DF, p-value: 0.06108 © Крылов - 2015 г. 63
  • 64. Графическое представление линейной регрессии • > abline()рисует линию регрессии по коэфициентам модели © Крылов - 2015 г. 64
  • 65. Линейная регрессионная модель, учитывающая факторные переменные • data$sex – фактор height=a+b*age+c*ϕ(sex)+epsilon © Крылов - 2015 г. 65
  • 66. Графическое представление регрессии с учетом фактора © Крылов - 2015 г. 66
  • 67. Решение простейшей задачи предсказания с помощью линейной регрессионной модели © Крылов - 2015 г. 67 age sex height.predicted 1 25 m 182.4854 2 20 f 171.1748 3 30 f 187.6796 data2 <- data.frame( + age = c(25L, 20L, 30L), + sex = factor(c("m", "f", "f")) ) > data2$height.predicted <- predict(lm2, data2) > data2
  • 68. CRAN - Comprehensive R Archive Network • Байесовский интерфейс • Хемометрия и вычислительная физика • Анализ, мониторинг и проектирование клинического исслеования • Кластерный анализ и конечноэлементные модели • Дифференциальные уравнения • Вероятностные распределения • Вычислительная эконометрика • Анализ экологических и данных и данных об окружающей среде • Планирование экспериментов и анализ экспериментальных данных • Эмпирические финансы • Статистическая генетика • Графическое отображение, динамическая графика и визуализация • Высокопроизводительны е и параллельные вычисления на R • Машинное обучение и статистическое обучение (Machine learning&Statistical Learning) Анализ медицинских изображений • Мета-анализ • Мультивариантная статистика • Обработка естественного языка (Natural language Processing) • Численная математика • Официальная статистика и методология опросов • Оптимизация и математическое программирование • Анализ данных фармокинетики • Филогенетика и особые сравнительные методы (Phylogenetics, Espeially Comprative Methods) • Психометрические модели и методы • Исследования репродуцирования (Reproducible Research) • Робастные статистические методы • Статистика социальных исследований • Анализ пространственных данных • Управление и анализ пространственно-временных данных (Handling and Analyzing Spatio-Temporal Data) • Анализ наблюдений (Survival Analysis) • Анализ временных рядов • Web технологии и сервисы • Графические модели в R (gRaphical Models in R) Vladimir Krylov 2014 68
  • 70. Работа с протоколами событий в мобильной сети связи © Крылов - 2015 г. 70 > md<-read.table("E:Dropbox02_Data_mobile.csv",sep=";",head=TRUE) > head(md,1) lac cid msisdn imei event_type 1 5029 40798 158529599791 353111050313790 0 tstamp long lat max_dist cell_type start_angle 1 1.369253e+12 37.9305 55.7815 2101 OUTDOOR 220 end_angle 1 280 > head(md,0) [1] lac cid msisdn imei [5] event_type tstamp long lat [9] max_dist cell_type start_angle end_angle <0 rows> (or 0-length row.names) • Имеется data set одного из операторов мобильной связи • Задача – найти перемещения абонентов
  • 71. Конец слайдов первой части End of part one slides Vladimir.v.krylov@gmail.com © Крылов - 2015 г. 71