Top Banner
10 основных ошибок, которые нельзя допускать в анализе данных Константин Обухов Data Scientist в компании CleverDATA Презентация для ИТ-лектория НИУ ВШЭ 02.03.2015
80
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 10 Critical Mistakes in Data Analysis

10 основных ошибок,которые нельзя допускать

в анализе данных

Константин ОбуховData Scientist в компании CleverDATA

Презентация для ИТ-лекторияНИУ ВШЭ

02.03.2015

Page 2: 10 Critical Mistakes in Data Analysis

Немного о CleverDATA

Развитие бизнеса на международном рынке с 2012 года

Входит в тройку

лидеров российских ИТ компаний

43 подразделения в России и за

рубежом

Более 5500 сотрудников

100 тыс.проектов для 10 тыс.заказчиков

Инновационная платформа

управления данными

«Биржа» данных

Облачный сервис

Открытые технологии

Создана в 2014 г.

Фокус на работе с «Big Data»

Собственные центры разработки

Партнерство с мировыми лидерами

и научными институтами

Центр экспертизы по

технологиям Big Data и

Digital Marketing

Page 3: 10 Critical Mistakes in Data Analysis

Мы знаем все о больших данных и их обработке

ВЫСОКАЯ СКОРОСТЬБОЛЬШОЙ ОБЪЕМЗНАЧИТЕЛЬНАЯ ВАРИАТИВНОСТЬ

Web логи

Финансовые транзакции

Социальные сети

Web контент

Машинные данные

Открытые данные

Hadoop

MPP (Vertica, Exadata, Greenplum,

Teradata)

NoSQL (Key-Value, Document-

oriented, Column-based, Graph-

oriented)

In-memory Data Grids, Calculation

Grids

Data Mining

Machine Learning / Statistics / Natural

Language Processing

Event-Stream Processing

Ценность данных в том, как вы их

анализируете и применяете для развития

своего бизнеса

Понимание клиента и его поведения

Информационная безопасность

Управление рисками

Повышение операционной эффективности

“Потенциал Big Data раскрывается в полной мере при взаимодействии с другими данными корпорации.” Билл Фрэнкс.

Page 4: 10 Critical Mistakes in Data Analysis

Задача

• В городе проживает миллион человек• 200 из них заболели неизвестным вирусом• Изобретен тест на наличие болезни с точностью 97%

Вопрос:

Какая вероятность, что вы заболели, если тест дал положительный результат?

3) 0.64%

0.64%1) 97%2) 32.14%

Page 5: 10 Critical Mistakes in Data Analysis

Решение

1 000 000

200

999 800

194

6

29 994

969 806

Больные

Здоровые

Тест положительный

Тест отрицательный

Тест отрицательный

Тест положительный

0.64%

Page 6: 10 Critical Mistakes in Data Analysis

Теорема Байеса

Page 7: 10 Critical Mistakes in Data Analysis

Ошибки I и II рода

Наличие болезни

Ре

зул

ьтат

тест

а

Больной Здоровый

По

ло

жи

тел

ьны

й 194

TruePositives

29 994

False Positives

Отр

иц

ател

ьны

й 6

FalseNegatives

969 806

TrueNegatives

Ошибка I рода

Ошибка II рода

Page 8: 10 Critical Mistakes in Data Analysis
Page 9: 10 Critical Mistakes in Data Analysis

Априорные и апостериорные вероятности

Prior PosteriorТест

Page 10: 10 Critical Mistakes in Data Analysis

Снова теорема Байеса

Необходимо делать поправку на априорные вероятности

Результат наблюденийправдоподобие

Page 11: 10 Critical Mistakes in Data Analysis

Пример с Amazon

Likelihood

Prior

Page 12: 10 Critical Mistakes in Data Analysis

10 основных ошибок, которые нельзя допускать в анализе данных

1. Опускать поправку на априорные распределения

Page 13: 10 Critical Mistakes in Data Analysis

Богатый район

Page 14: 10 Critical Mistakes in Data Analysis

Где логика?

1. У бедных нет телефона2. У бедных нет машины

Фактически нет данных из района для

бедных

Данные по богатым

Данные по бедным

Page 15: 10 Critical Mistakes in Data Analysis

Трумэн

Page 16: 10 Critical Mistakes in Data Analysis

Вот это поворот

1. У бедных нет телефона2. Бедные голосуют за Трумэна

Фактически нет данных по бедным

избирателям

Голоса за Дьюипо обзвону

Голоса за Трумэнапо обзвону

Page 17: 10 Critical Mistakes in Data Analysis

10 основных ошибок, которые нельзя допускать в анализе данных

2. Использовать для анализа неслучайную выборку

Page 18: 10 Critical Mistakes in Data Analysis

Bias Sample

Выборка 1 Выборка

2

Выборка 3

Все данные

• Данные для анализа нужно выбирать случайно из генеральной совокупности

• Проверять гипотезу нужно на контрольных данных – тоже выбранных случайно из всего множества

Page 19: 10 Critical Mistakes in Data Analysis

Как убедиться в том, что выборка случайная?

Dataset 1: { f1 ; f2 ; f3 ;…; fn } R(M x N)

Dataset 2: { f1 ; f2 ; f3 ;…; fn } R(M x N)

Признаки в обоих выборках должны принадлежать одному распределению

хорошо плохо

Page 20: 10 Critical Mistakes in Data Analysis

Как посчитать функцию распределения

Закон Больших Чисел:

X = rnorm(100,10,1)Y = rnorm(100,10,2)

X = rnorm(100,10,1)Y = rnorm(100,9.9,1.1)

Page 21: 10 Critical Mistakes in Data Analysis

Количественная оценка степени различия

Критерий Колмогорова - Смирнова

Page 22: 10 Critical Mistakes in Data Analysis

Чем отличаются эти данные?x y

1 -1.0 0.02 -0.8 0.63 -0.6 0.84 -0.4 0.95 -0.2 1.06 0.0 1.07 0.2 1.08 0.4 0.99 0.6 0.810 0.8 0.611 1.0 0.012 -1.0 0.013 -0.8 -0.614 -0.6 -0.815 -0.4 -0.916 -0.2 -1.017 0.0 -1.018 0.2 -1.019 0.4 -0.920 0.6 -0.821 0.8 -0.622 1.0 0.0

x y

1 -1.0 -1.02 -0.8 -0.83 -0.6 -0.64 -0.4 -0.45 -0.2 -0.26 0.0 0.07 0.2 0.28 0.4 0.49 0.6 0.610 0.8 0.811 1.0 1.012 -1.0 1.013 -0.8 0.814 -0.6 0.615 -0.4 0.416 -0.2 0.217 0.0 0.018 0.2 -0.219 0.4 -0.420 0.6 -0.621 0.8 -0.822 1.0 -1.0

x y

1 -3.1 0.02 -2.8 -0.33 -2.5 -0.54 -2.1 -0.85 -1.8 -1.06 -1.5 -1.07 -1.2 -0.98 -0.9 -0.89 -0.6 -0.610 -0.3 -0.311 0.0 0.012 0.3 0.313 0.6 0.614 0.9 0.815 1.2 1.016 1.5 1.017 1.8 0.918 2.1 0.819 2.5 0.620 2.8 0.321 3.1 0.022 1.0 -1.0

Page 23: 10 Critical Mistakes in Data Analysis

Вот чем

Графики наилучшим образом представляют данные

Page 24: 10 Critical Mistakes in Data Analysis

10 основных ошибок, которые нельзя допускать в анализе данных

3. Неверная визуализация

Page 25: 10 Critical Mistakes in Data Analysis
Page 26: 10 Critical Mistakes in Data Analysis
Page 27: 10 Critical Mistakes in Data Analysis
Page 28: 10 Critical Mistakes in Data Analysis

Как не следует строить графики

Page 29: 10 Critical Mistakes in Data Analysis

Как вообще не следует строить графики

Page 30: 10 Critical Mistakes in Data Analysis

Выборы представителей Великобритании в Европарламент 2009 г.

Page 31: 10 Critical Mistakes in Data Analysis

Почему круговые диаграммы это зло

Невозможно сравнивать абсолютные значения

Page 32: 10 Critical Mistakes in Data Analysis

Восприимчивость к размеру

Почему круговые диаграммы это зло

Page 33: 10 Critical Mistakes in Data Analysis

Невозможно анализировать комбинированные значения

Почему круговые диаграммы это зло

Page 34: 10 Critical Mistakes in Data Analysis

10 основных ошибок, которые нельзя допускать в анализе данных

4. Считать корреляцию причинной связью

Page 35: 10 Critical Mistakes in Data Analysis

Вопрос

Где корреляция больше?

1) У красного графика2) У синего графика3) В целом поровну

В целом поровну

Page 36: 10 Critical Mistakes in Data Analysis

Что такое корреляция

Page 37: 10 Critical Mistakes in Data Analysis
Page 38: 10 Critical Mistakes in Data Analysis

Примеры странных корреляций

Page 39: 10 Critical Mistakes in Data Analysis

Корреляция как следствие третьего фактора

Корреляция не подразумевает причинной связи

Page 40: 10 Critical Mistakes in Data Analysis

Яйцо

Page 41: 10 Critical Mistakes in Data Analysis

Как узнать, где причина, а где следствие?

Тест Грэнджера на причинностьКоличество куриц в момент t

Количество яиц в момент времени t

Гипотеза 1: x не является причиной y

Гипотеза 2: y не является причиной x

Page 42: 10 Critical Mistakes in Data Analysis

Проверка на данных

Яйцо появилось раньше

Page 43: 10 Critical Mistakes in Data Analysis

Машинное обучение

Машинное обучение изучает методы построения моделей

и алгоритмов, способных обучаться на данных

Данные Алгоритм Модель

Page 44: 10 Critical Mistakes in Data Analysis

Supervised Learning

• Необходимо задать обучающую выборку –набор данных признаки : результат

• Алгоритм применяется для распознавания неизвестных объектов

Классификация Регрессия

Page 45: 10 Critical Mistakes in Data Analysis

Unsupervised Learning

• Для обучения нужна выборка только признаков

• Алгоритм применяется для обнаружения взаимосвязей и закономерностей между объектами

Кластеризация Поиск ассоциативных правил

Page 46: 10 Critical Mistakes in Data Analysis

10 основных ошибок, которые нельзя допускать в анализе данных

5. Неверно выбранная целевая переменная

Page 47: 10 Critical Mistakes in Data Analysis

Прогнозирование оттока клиентов

• Необходимо выявить клиентов, которые с большой вероятностью прекратят взаимодействие с компанией

• Предиктивная модель обучается на уже ушедших клиентах, ищет признаки оттока

• Каждому клиенту сопоставляется вероятность уйти в отток через какой-то промежуток времени

Page 48: 10 Critical Mistakes in Data Analysis

«Идеальная» модель оттока

Точность прогнозирования составляет 98.2%

Экономическая эффективность отсутствует

Page 49: 10 Critical Mistakes in Data Analysis

Моделирование отклика на предложение

Подход «от продукта» Подход «от клиента»

Page 50: 10 Critical Mistakes in Data Analysis

Матрица отклика

Клиент ID

Продукт А Продукт B Продукт C Продукт D

SMS Звонок E-mail SMS Звонок E-mail SMS Звонок E-mail

1626 60% 80% 45% 20% 30% 10% 15% 25% 70%

2832 50% 60% 35% 80% 90% 85% 55% 60% 60%

2515 75% 80% 50% 10% 15% 5% 60% 70% 50%

9010 20% 25% 25% 10% 30% 10% 85% 90% 40%

7812 30% 35% 30% 50% 60% 55% 90% 95% 20%

3511 60% 50% 60% 10% 30% 20% 40% 60% 80%

6266 55% 65% 35% 25% 25% 15% 60% 75% 25%

1842 25% 35% 20% 50% 50% 45% 55% 50% 85%

Page 51: 10 Critical Mistakes in Data Analysis

Отклик и прибыль

Клиент ID

Кампании

Кампания 1 Кампания 2 Кампания 3

1626 100р.60%

120р.35%

80р.40%

2832 50р.60%

30р.50%

35р.60%

2515 80р.60%

130р.70%

100р.20%

9010 60р.35%

25р.90%

40р.60%

7812 80р.55%

110р.60%

115р.40%

3511 125р.65%

50р.50%

140р.70%

При построении модели необходимо учитывать условия, в которых ей

придется работать

Высокая вероятность откликане гарантирует высокую эффективность

Page 52: 10 Critical Mistakes in Data Analysis

10 основных ошибок, которые нельзя допускать в анализе данных

6. Допускать переобучение модели

Page 53: 10 Critical Mistakes in Data Analysis

Регрессионная задача

Аппроксимация полиномом степени М

Минимизация среднеквадратичной ошибки

Page 54: 10 Critical Mistakes in Data Analysis

Точность растет при увеличении М

Переобучение

У переобученной модели очень низкая точность на тестовой выборке

Page 55: 10 Critical Mistakes in Data Analysis

Задача – минимизация ошибки на тесте

Переобучение

Page 56: 10 Critical Mistakes in Data Analysis

Переобучение уменьшается при увеличении объема выборки

Чем больше данных, тем сложнее модель можно построить

Page 57: 10 Critical Mistakes in Data Analysis

Еще раз теорема Байеса

Априорная вероятность(до наблюдения)

Эффект наблюдаемых данных

Апостериорная вероятность(после наблюдения)

Функция правдоподобия описывает насколько вероятны наблюдаемые данные при различных значениях весов w

Page 58: 10 Critical Mistakes in Data Analysis

Регуляризация для предотвращения переобучения модели

Page 59: 10 Critical Mistakes in Data Analysis

Как подобрать нужные параметры модели

Тюнинг модели заключается в подборе таких параметров λ и M, при которых ошибка на тестовой выборке

минимальная – кросс-валидация

Page 60: 10 Critical Mistakes in Data Analysis

7. Оставить выбросы и шумы в данных

10 основных ошибок, которые нельзя допускать в анализе данных

Page 61: 10 Critical Mistakes in Data Analysis

X16,2426,7212,7634,6717,8223,7323,4672,1521,2393,2410,123,16

26,7225,5127,1124,1744,2427,8851,2380,221,41

17,13

Какая величина наилучшим образом описывает эти данные?

Среднее 30,95

Медиана 24,84

X93,2480,2272,1551,2344,2434,6727,8827,1126,7226,7225,5124,1723,7323,4621,2317,8217,1316,2412,7610,123,161,41

3QR

MED

1QR

Page 62: 10 Critical Mistakes in Data Analysis

Задача поиска аномалий

Аномалии – это те события или наблюдения, которые не соответствуютожидаемому паттерну других событий в данных

• Intrusion detection• Fraud detection• Fault detection• System monitoring• Event detection• Data preprocessing

Очистка от шумов позволяет значительно увеличить точность предиктивной модели

Page 63: 10 Critical Mistakes in Data Analysis

Задача прогнозирования сбоев в работе различных систем

Page 64: 10 Critical Mistakes in Data Analysis

4 этапа построения модели

1. Необходимо правильно обработать данные• Модель структурирования потоковых данных позволяет извлечь из

машинных данных важные признаки• Без обработки данных увеличивается погрешность прогнозирования

Паттерн сбоя

До обработки После обработки

Page 65: 10 Critical Mistakes in Data Analysis

4 этапа построения модели

2. Необходимо найти сбои в исторических данных

• Для того, чтобы прогнозировать сбои в будущем, необходимо «обучиться» на прошлых ошибках.

• Вероятностная модель определяет сбои как значимые отклонения от нормального состояния работы систем (one class SVM)

Детектирование значимых отклонений от нормы

Page 66: 10 Critical Mistakes in Data Analysis

Подход к решению3. Выявление значимых признаков сбоев

• Выявив сбои, необходимо автоматически найти причины их возникновения

• Методы корреляционного анализа позволяют найти причины прошедших сбоев

Корреляционная матица признаков сбоев

Page 67: 10 Critical Mistakes in Data Analysis

Подход к решению4. Построение предиктивной модели

Прошлые наблюдения Будущая вероятность сбоя

Триггеры (предикторы) ошибок

• Модель обучается на исторических данных, сопоставляя прошлым наблюдениям будущую вероятность сбоя в различных временных интервалах

• В реальном времени модель отслеживает показатели систем и триггеры ошибок, рассчитывая будущую вероятность сбоя

Page 68: 10 Critical Mistakes in Data Analysis

8. Неверно разделить исследование и оптимизацию

10 основных ошибок, которые нельзя допускать в анализе данных

Page 69: 10 Critical Mistakes in Data Analysis
Page 70: 10 Critical Mistakes in Data Analysis

Снова ошибки I и II рода

Реальность

Гип

оте

за

Верная Неверная

Вер

на True

PositivesFalse

Positives

Не

вер

на

FalseNegatives

TrueNegatives

Exploration Error

Exploitation Error

Page 71: 10 Critical Mistakes in Data Analysis

Где же грань?

Exploration

Exploitation

t

Исследование

Оптимизация

Page 72: 10 Critical Mistakes in Data Analysis

9. Делать поспешные выводы

10 основных ошибок, которые нельзя допускать в анализе данных

Page 73: 10 Critical Mistakes in Data Analysis

Insight не означает конец исследования

Exploration

Exploitation

t

Исследование

Оптимизация

Insight

Page 74: 10 Critical Mistakes in Data Analysis

Почему нельзя делать поспешные выводы

Page 75: 10 Critical Mistakes in Data Analysis

Основные этапы построения предиктивных моделей

Data Preprocessing

Feature Engineering

FeatureSelection

Machine Learning

Back Testing

• Необходимая обработка данных: очистка шумов, выбросов. Приведение данных к нормальному виду

• Генерация факторов и признаков в модели. Поиск скрытых паттернов

• Выбор предикторов, выявление значимых закономерностей

• Построение модели алгоритмами машинного обучения, тюнинг модели

• Тестирование модели на реальных данных

Page 76: 10 Critical Mistakes in Data Analysis

10. Выбор неправильного инструмента для анализа

10 основных ошибок, которые нельзя допускать в анализе данных

Page 77: 10 Critical Mistakes in Data Analysis

Какой инструмент лучше?

Сл

ож

но

сть

исп

ол

ьзо

ван

ия

Возможности в анализе данных

Page 78: 10 Critical Mistakes in Data Analysis

10 основных ошибок, которые нельзя допускать в анализе данных

1. Опускать поправку на априорные распределения

2. Использовать для анализа неслучайную выборку

3. Неверная визуализация

4. Считать корреляцию причинной связью

5. Неверно выбранная целевая переменная

6. Допускать переобучение модели

7. Оставить выбросы и шумы в данных

8. Неверно разделить исследование и оптимизацию

9. Делать поспешные выводы

10. Выбор неправильного инструмента для анализа

Вопросы?

Page 79: 10 Critical Mistakes in Data Analysis

Спасибо за внимание!

Page 80: 10 Critical Mistakes in Data Analysis

+7 (495) 967-66-50 [email protected]

cleverdata.rufacebook.com/CleverData