Петрова Ксения - Data mining на практике - dmlabs.org

50
Data Mining на практике Подводные камни в анализе данных

description

В своем докладе Ксения рассказала об основных ошибках в Data Minning и как их избежать. Она объяснла, как выглядит цикл по решению задач в анализе данных и почему задачи нельзя решить "в лоб".

Transcript of Петрова Ксения - Data mining на практике - dmlabs.org

Page 1: Петрова Ксения - Data mining на практике - dmlabs.org

Data Mining на практике

Подводные камни в анализе данных

Page 2: Петрова Ксения - Data mining на практике - dmlabs.org

Примеры проектов

Data mining в финансах:

1.Данные – финансовые отчеты (SEC-fillings) и биржевые показатели

2.Текст улучшает качество прогноза, но использование «в лоб» работает плохо

3.Требуется умный прогноз волатильности на основе текста и котировок

DM Labs

Page 3: Петрова Ксения - Data mining на практике - dmlabs.org

Примеры проектов

Data mining в робототехнике:

1.Имеется ряд алгоритмов распознавания обьектов

2.Каждый алгоритм построен на своих принципах

3.Требуется умное сшивание результатов работы алгоритмов

DM Labs

Page 4: Петрова Ксения - Data mining на практике - dmlabs.org

Примеры проектовРоботизированные манипуляторы

1.Данные – 8 ЕМГ сенсоров, 3Д положения руки в пространстве (motion capture)

2.Задача – восстановить 3Д положение руки, чтобы управлять роботом как джедай

4

http://www.brml.org/projects/body-machine-interfaces/

DM Labs

Page 5: Петрова Ксения - Data mining на практике - dmlabs.org

У нас есть данные

5

DM Labs

Page 6: Петрова Ксения - Data mining на практике - dmlabs.org

У нас есть данные

6

DM Labs

DB: SAP/ Oracle/ Hadoop

CRM

Qlickview/ Tableau

Excell

Pdf файлы

Видео

Изображения

Page 7: Петрова Ксения - Data mining на практике - dmlabs.org

У нас есть данные

Мы предсталяем какой должен быть результат

Результат

7

DM Labs

Page 8: Петрова Ксения - Data mining на практике - dmlabs.org

Доступна история снятий

Нужно предсказать потребность кэша в банкоматах

Результат

8

DM Labs

Page 9: Петрова Ксения - Data mining на практике - dmlabs.org

Доступна история снятий

Нужно предсказать потребность кэша в банкоматах

Результат

9

DM Labs

Давайте решим в лоб!

Page 10: Петрова Ксения - Data mining на практике - dmlabs.org

Доступна история снятий

Нужно предсказать потребность кэша

Результат

Давайте решим влоб!

10

DM Labs

Page 11: Петрова Ксения - Data mining на практике - dmlabs.org

Куча ошибок!

• Данные – битые• Ошибки в типах• Кривой merge• Половина данных – без id/timestamp/…• …

Результат

11

DM Labs

Page 12: Петрова Ксения - Data mining на практике - dmlabs.org

Куча ошибок!

• Данные – битые• Ошибки в типах• Кривой merge• Половина данных – без id/timestamp/…• …

Результат

12

DM Labs

Page 13: Петрова Ксения - Data mining на практике - dmlabs.org

13

DM Labs

Обработка РезультатМодель

Page 14: Петрова Ксения - Data mining на практике - dmlabs.org

14

DM Labs

Препарируем данные

• Создание признаков для модели

(feature engineering & feature learning)

• Сэмплирование данных

Page 15: Петрова Ксения - Data mining на практике - dmlabs.org

15

DM Labs

Препарируем данные:

• Временные ряды: fft разложения, моменты с лагом

• Пользователи: признаки из графа(betweenness, degree, centrality, page rank), гео-специфика

• Признаки по активности/ действиям • Проекции PCA, ICA, RCA, deep*

Page 16: Петрова Ксения - Data mining на практике - dmlabs.org

16

DM Labs

• Мозговой штурм• «Спросить у экспертов»• State of the art в области• Посмотреть продукты, PR материалы

Как генерировать признаки:

State of the art в области: ICML, KDD

Page 17: Петрова Ксения - Data mining на практике - dmlabs.org

17

DM Labs

ПАРЕТО: 100% data ~ 100% insights 20% data ~ 80% insights

4% data ~ 64% insights

Оно работает – время моделировать

Пример выборки: 5% юзеров, записей, последних записей, уникальных юзеров

Page 18: Петрова Ксения - Data mining на практике - dmlabs.org

18

DM Labs

У нас есть выборка: дальше что?

Главный принцип обучения:

Разделяй и властвуй Три раза отрежь

Page 19: Петрова Ксения - Data mining на практике - dmlabs.org

19

DM Labs

Три раза отрежь

Выборка

Test set Cross-validation set Validation set

Page 20: Петрова Ксения - Data mining на практике - dmlabs.org

20

DM Labs

•Вид модели•Гиперпараметры•Отбор признаков на уровне модели•Веса наблюдений при обучении.•Целевая функция (потерь)

Что нам стоит дом построить?

Page 21: Петрова Ксения - Data mining на практике - dmlabs.org

21

DM Labs

• GBM: #base-learners, lambda, RI, *prune, Loss,

• SVM: kernel, width, cost, nu-SVM, ...• GLMnet: a.ridge, AIC, response family• RF: … ?• Neural Net: … ?

Вид модели и гиперпараметры

Page 22: Петрова Ксения - Data mining на практике - dmlabs.org

22

DM Labs

Обработка РезультатМодель

Мы ничего не упускаем?

Page 23: Петрова Ксения - Data mining на практике - dmlabs.org

23

DM Labs

Обработка РезультатМодель

Мы ничего не упускаем?

Page 24: Петрова Ксения - Data mining на практике - dmlabs.org

Не решали ли эту задачу до нас?

• На какие признаки смотрят?• Что оптимизируют?• Что получается?• Какие модели используют?• Особенности моделей?

24

DM Labs

Page 25: Петрова Ксения - Data mining на практике - dmlabs.org

Не решали ли эту задачу до нас?

• На какие признаки смотрят?• Что оптимизируют?• Что получается?• Какие модели используют?• Особенности моделей?

• Выбросы• Переобучение и недообучение

25

DM Labs

Page 26: Петрова Ксения - Data mining на практике - dmlabs.org

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

26

DM Labs

Page 27: Петрова Ксения - Data mining на практике - dmlabs.org

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

27

DM Labs

??

?

Page 28: Петрова Ксения - Data mining на практике - dmlabs.org

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

28

DM Labs

?

Слишком просто...

?

?

Page 29: Петрова Ксения - Data mining на практике - dmlabs.org

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

29

DM Labs

?

Слишком сложно...

?

?

Page 30: Петрова Ксения - Data mining на практике - dmlabs.org

То, что надо!

30

DM Labs

?

?

?

?

Page 31: Петрова Ксения - Data mining на практике - dmlabs.org

31

DM Labs

Обработка РезультатМодель

Мы ничего не упускаем?

Page 32: Петрова Ксения - Data mining на практике - dmlabs.org

И это все?

Результат

МодельОбработкаГипотезы

32

DM Labs

Page 33: Петрова Ксения - Data mining на практике - dmlabs.org

Гипотезы

• До того как вы не построили гипотезы, не нужно строить модель

• Без гипотез вы как слепые котята • Без гипотез вы ничего не объясните

руководству • Включите гипотезы руководства!

DM Labs

Page 34: Петрова Ксения - Data mining на практике - dmlabs.org

И это все?

Результат

МодельОбработкаГипотезы

• Нет предела совершенству. Есть только ограничения по времени

• Можно начинать новый круг сразу с моделирования, можно с самого начала с данных (всякое бывает)

Можно сделать лучше?

34

DM Labs

Page 35: Петрова Ксения - Data mining на практике - dmlabs.org

Доступна история снятий

Нужно предсказать потребность кэша

Результат

А это вообще кому-нибудь нужно?

МодельОбработкаГипотезы

35

DM Labs

Page 36: Петрова Ксения - Data mining на практике - dmlabs.org

Бизнесу не нужны прогнозы!Бизнесу нужно снижать косты.

Нужна система ,уменьшающаякосты на обслуживание банкоматов

Результат

36

DM Labs

Page 37: Петрова Ксения - Data mining на практике - dmlabs.org

Система минимизации костов:

•fix price за инкассацию

•Стоимость пролеживания денег

•Логистика

•Штрафы за банкомат без денег

37

DM Labs

Page 38: Петрова Ксения - Data mining на практике - dmlabs.org

38

DM Labs

Расходы =Заказ машины +Простаивание денег(инфляция)

Минимум - составляющиеравны

Page 39: Петрова Ксения - Data mining на практике - dmlabs.org

Доступна история снятий:

История операций:2008-2013 год

Количество устройств:● Кэшин - 66● Банкомат - 49● Касса - 10

39

DM Labs

Page 40: Петрова Ксения - Data mining на практике - dmlabs.org

Данные:

• Банкомат (только кредитные операции)• Кэшин (только дебетные операции)• Касса (смесь операций банкомата икэшина)

40

DM Labs

Page 41: Петрова Ксения - Data mining на практике - dmlabs.org

• Влияет расположение банкоматов• Праздники • Четко выделяются зарплатные дни• Погода .....

41

DM Labs

Page 42: Петрова Ксения - Data mining на практике - dmlabs.org

•Объем операций за предыдущие 30 дней•Информация о текущем дне (номернедели, номер месяца)•Усредненные объемы операций за N дней•Погодные условия !+• Признаки с похожих банкоматов•Дополнительные преобразование (log)

42

DM Labs

Page 43: Петрова Ксения - Data mining на практике - dmlabs.org

•Объем операций за предыдущие 30 дней•Информация о текущем дне (номернедели, номер месяца)•Усредненные объемы операций за N дней•Погодные условия !+• Признаки с похожих банкоматов•Дополнительные преобразование (log)

43

DM Labs

Выбросы: у нас в один день могут положить миллион, в другой день могут снять миллион

Page 44: Петрова Ксения - Data mining на практике - dmlabs.org

44

DM Labs

Page 45: Петрова Ксения - Data mining на практике - dmlabs.org

45

DM Labs

Page 46: Петрова Ксения - Data mining на практике - dmlabs.org

Нужно завернуть прогнозы в систему минимизации костов:

46

DM Labs

Точность прогноза вторична к логике загрузки денег и инкассации банкоматов

Анализ дает снижение костов в среднем на 20% на 1 устройство

Page 47: Петрова Ксения - Data mining на практике - dmlabs.org

Итого:

•Data quality management!

•Стоит смотреть, что уже делали другие

• Улучшать модель можно бесконечно

•Задача бизнеса первична

47

DM Labs

Page 48: Петрова Ксения - Data mining на практике - dmlabs.org

Что поcмотреть:

• The Field Guide to Data Science

• R in a nutshell

• The R inferno

•Coursera: Computing in Data Science

48

DM Labs

Page 49: Петрова Ксения - Data mining на практике - dmlabs.org

Петрова Ксения [email protected]

49

DM Labs

Спасибо!

Page 50: Петрова Ксения - Data mining на практике - dmlabs.org