40
Model Governance или почему падает точность прогноза Роман Чеботарев уководитель практики «Прогнозная аналитика и машинное обучение» ICBDA 2016

Роман Чеботарев — КРОК — ICBDA2016

  • Upload
    rusbase

  • View
    1.201

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Роман Чеботарев — КРОК — ICBDA2016

Model Governanceили почему падает точность прогноза

Роман ЧеботаревРуководитель практики «Прогнозная аналитика и машинное обучение»

ICBDA 2016

Page 2: Роман Чеботарев — КРОК — ICBDA2016

О чем разговор?

Очевидный фактЕсли оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать

Page 3: Роман Чеботарев — КРОК — ICBDA2016

О чем разговор?

Очевидный фактЕсли оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать

Очевидное следствиеПрогнозные модели и процессы нужно обслуживать и обновлять

Page 4: Роман Чеботарев — КРОК — ICBDA2016

О чем разговор?

Очевидный фактЕсли оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать

Очевидное следствиеПрогнозные модели и процессы нужно обслуживать и обновлять

Неочевидное следствие #1Обслуживать и поддерживать бывает сложнее, чем внедрять

Неочевидное следствие #2 Очень часто автоматизация процесса только вредит

Page 5: Роман Чеботарев — КРОК — ICBDA2016

НЕ мотивирующие примеры из жизни

fckp пример #1

В маленький магазин уехала фура водки, т.к. процесс заказа был полностью автоматизирован, а прогноз был посчитан для другого типа товара из-за ошибки при обновлении справочников (тоже автоматическом)

Page 6: Роман Чеботарев — КРОК — ICBDA2016

НЕ мотивирующие примеры из жизни

fckp пример #1

В маленький магазин уехала фура водки, т.к. процесс заказа был полностью автоматизирован, а прогноз был посчитан для другого типа товара из-за ошибки при обновлении справочников (тоже автоматическом)

fckp пример #2

Чуть было не остановили несколько агрегатов на станции, т.к. получили прогноз погоды от поставщика с нулями (ошибка на стороне поставщика). Система решила, что наступила «зима», столько оборудования не нужно и выдала рекомендацию «отключить»

Page 7: Роман Чеботарев — КРОК — ICBDA2016

Что происходит

Пилот

время

эффект

Page 8: Роман Чеботарев — КРОК — ICBDA2016

Что происходит

Пилот Внедрение

время

эффект

Page 9: Роман Чеботарев — КРОК — ICBDA2016

Что происходит

Пилот Внедрение Эксплуатация

время

эффект

Page 10: Роман Чеботарев — КРОК — ICBDA2016

Что происходит

Пилот Внедрение Эксплуатация

время

эффект ожидание

Page 11: Роман Чеботарев — КРОК — ICBDA2016

Что происходит

Пилот Внедрение Эксплуатация

время

эффект ожидание

реальность

Page 12: Роман Чеботарев — КРОК — ICBDA2016

Проблема в том, что все меняется

Внешние факторы

• Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.)

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

Page 13: Роман Чеботарев — КРОК — ICBDA2016

Проблема в том, что все меняется

Внешние факторы

• Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.)

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

Внутренние факторы

• Сбор и хранение данных (какие системы есть и какие данные поставляют)

• Аналитические процедуры (обработка данных и прогнозирование)

Page 14: Роман Чеботарев — КРОК — ICBDA2016

Проблема в том, что все меняется

Внешние факторы

• Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.)

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

Внутренние факторы

• Сбор и хранение данных (какие системы есть и какие данные поставляют)

• Аналитические процедуры (обработка данных и прогнозирование)

Изменения внешних факторов, как правило, приводит к ухудшению точности прогнозирования

Page 15: Роман Чеботарев — КРОК — ICBDA2016

Проблема в том, что все меняется

Внешние факторы

• Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.)

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

Внутренние факторы

• Сбор и хранение данных (какие системы есть и какие данные поставляют)

• Аналитические процедуры (обработка данных и прогнозирование)

Изменения внешних факторов, как правило, приводит к ухудшению точности прогнозирования

Неучтенные изменения внутренних факторов чаще всего приводит к отказу или непредвиденному поведению

Page 16: Роман Чеботарев — КРОК — ICBDA2016

Детализация рисков

Входные данные Прогнозные модели Выходные данные

Page 17: Роман Чеботарев — КРОК — ICBDA2016

Риск – отказ системы или некорректное поведение из-за ошибок во входных данных

Входные данные Прогнозные модели Выходные данные

Детализация рисков

Page 18: Роман Чеботарев — КРОК — ICBDA2016

Риск – отказ системы или некорректное поведение из-за ошибок во входных данных

Риск – снижение точности прогноза при отсутствии контроля и обновлений

Входные данные Прогнозные модели Выходные данные

Детализация рисков

Page 19: Роман Чеботарев — КРОК — ICBDA2016

Риск – отказ системы или некорректное поведение из-за ошибок во входных данных

Риск – снижение точности прогноза при отсутствии контроля и обновлений

Риск – execution неверных решений из-за недостаточной проработки вопросов автоматизации

Входные данные Прогнозные модели Выходные данные

Детализация рисков

Page 20: Роман Чеботарев — КРОК — ICBDA2016

Риск – отказ системы или некорректное поведение из-за ошибок во входных данных

Риск – снижение точности прогноза при отсутствии контроля и обновлений

Риск – execution неверных решений из-за недостаточной проработки вопросов автоматизации

Data Governance Model Governance Process Governance

Входные данные Прогнозные модели Выходные данные

Детализация рисков

Page 21: Роман Чеботарев — КРОК — ICBDA2016

Представьте, что модель – это автомобиль

Page 22: Роман Чеботарев — КРОК — ICBDA2016

Представьте, что модель – это автомобиль

ПОМЕНЯТЬ МАСЛОНУЖНО ЗАПРАВИТЬСЯ

ХОРОШИЙ ЛИ БЕНЗИН НА ТОЙ АЗС?

МОЖЕТ ПРОДАТЬ?

НЕ ПОРА ЛИ ПЕРЕОБУТЬСЯ?ИНТЕРЕСНО, КАК ТАМ КОЛОДКИ?

КУПИТЬ ДЕТСКОЕ КРЕСЛО

ПОМЕСТИТЬСЯ ЛИ В БАГАЖНИК?

CHECK-ENGINE

Page 23: Роман Чеботарев — КРОК — ICBDA2016

Представьте, что модель – это автомобиль

ПОМЕНЯТЬ МАСЛОНУЖНО ЗАПРАВИТЬСЯ

ХОРОШИЙ ЛИ БЕНЗИН НА ТОЙ АЗС?

МОЖЕТ ПРОДАТЬ?

НЕ ПОРА ЛИ ПЕРЕОБУТЬСЯ?ИНТЕРЕСНО, КАК ТАМ КОЛОДКИ?

КУПИТЬ ДЕТСКОЕ КРЕСЛО

ПОМЕСТИТЬСЯ ЛИ В БАГАЖНИК?

CHECK-ENGINE

• Параметры для постоянного контроля• Регулярные процедуры обслуживания по расписанию / по событию• Выраженные сезонные эффекты• Периодическая замена частей• Когда-нибудь приходит время просто поменять целиком

Тоже самое с прогнозными моделями и аналитическими процессами!

Page 24: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

Page 25: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

1. Есть процесс, работающий в production (champion)

champion

…𝑡 2𝑡1

Page 26: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)

challenger

champion

…𝑡 2𝑡1

Page 27: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]

challenger

champion

тест #1

…𝑡 2𝑡1

Page 28: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion

challenger

champion

archive

тест #1

>

…𝑡 2𝑡1

Page 29: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion5. GOTO шаг 2

challenger

champion

archive

тест #1 тест #2

>

…𝑡 2𝑡1

Page 30: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion5. GOTO шаг 2

challenger

champion

archive

Х

тест #1 тест #2

> <

…𝑡 2𝑡1

Page 31: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion5. GOTO шаг 2

challenger

champion

archive

Х

тест #1 тест #2 тест #3

> <

…𝑡 2𝑡1

Page 32: Роман Чеботарев — КРОК — ICBDA2016

Model Governance по принципу champion-challenger

1. Есть процесс, работающий в production (champion)2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)3. Все процессы работают некоторое время параллельно [в режиме A\B тестов]4. Если на новых данных challenger побеждает champion’а, то он становится новым champion5. GOTO шаг 2

challenger

champion

archive

Х

тест #1 тест #2 тест #3

> < >

…𝑡 2𝑡1

Page 33: Роман Чеботарев — КРОК — ICBDA2016

Нюансы подходаили слайд для технарей

1. Используются ансамбли (ensebmles) моделей• Добавляется новая модель в ансамбль, переобучаются веса. Модели с низкими весами

исключаются• (или) переобучается ансамбль целиком

2. Используется online machine learning – нужно снимать snapshot’ы моделей с некоторой частотой

3. Не всегда много данных это хорошо. Часто лучше обучаться на последних данных и не использовать всю доступную историю

4. Если метрика качества рассчитывается на длинном промежутке времени – ничего не поделаешь, нужно также увеличивать продолжительность тестов

5. Блендинг прошлых моделей-champion’ов – плохая идея, если модели не time-aware (в явном виде учитывают время в данных)

Page 34: Роман Чеботарев — КРОК — ICBDA2016

Признаки хорошей организации процесса

1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату

Page 35: Роман Чеботарев — КРОК — ICBDA2016

Признаки хорошей организации процесса

1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату

2. Ваши модели и процессы устойчивы к расширению входных данных

Page 36: Роман Чеботарев — КРОК — ICBDA2016

Признаки хорошей организации процесса

1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату

2. Ваши модели и процессы устойчивы к расширению входных данных

3. Вы понимаете, что произойдет, если будут проблемы с входными данными• Отсутствие или пропуски в данных• Аномальные всплески

Page 37: Роман Чеботарев — КРОК — ICBDA2016

Признаки хорошей организации процесса

1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату

2. Ваши модели и процессы устойчивы к расширению входных данных

3. Вы понимаете, что произойдет, если будут проблемы с входными данными• Отсутствие или пропуски в данных• Аномальные всплески

4. Вы уверены, что прогнозные данные проверяются системой-потребителем перед исполнением

Page 38: Роман Чеботарев — КРОК — ICBDA2016

Простые, но важные выводы

1. Использование Machine Learning – это постоянный процесс, а не проект. Аналитические системы нужно постоянно обслуживать и обновлять

Page 39: Роман Чеботарев — КРОК — ICBDA2016

Простые, но важные выводы

1. Использование Machine Learning – это постоянный процесс, а не проект. Аналитические системы нужно постоянно обслуживать и обновлять

2. Автоматизация жизненного цикла – это непросто, автоматизируйте постепенно и только после «ручного периода»

Page 40: Роман Чеботарев — КРОК — ICBDA2016

Спасибо за Ваше время и внимание

Роман ЧеботаревРуководитель практики «Прогнозная аналитика и машинное обучение»

email: [email protected]: roman.s.chebotarevslack: convex (OpenDataScience)habr: convex