Model Governance
или почему падает точность прогноза
Роман Чеботарев
Руководитель практики «Прогнозная аналитика и машинное обучение»
ICBDA 2016
О чем разговор?
Очевидный факт
Если оставить прогнозную модель саму по себе, то со временем точность начнет
падать и через некоторое время она начнет вредить, а не помогать
О чем разговор?
Очевидный факт
Если оставить прогнозную модель саму по себе, то со временем точность начнет
падать и через некоторое время она начнет вредить, а не помогать
Очевидное следствие
Прогнозные модели и процессы нужно обслуживать и обновлять
О чем разговор?
Очевидный факт
Если оставить прогнозную модель саму по себе, то со временем точность начнет
падать и через некоторое время она начнет вредить, а не помогать
Очевидное следствие
Прогнозные модели и процессы нужно обслуживать и обновлять
Неочевидное следствие #1
Обслуживать и поддерживать бывает сложнее, чем внедрять
Неочевидное следствие #2
Очень часто автоматизация процесса только вредит
НЕ мотивирующие примеры из жизни
fckp пример #1
В маленький магазин уехала фура водки, т.к. процесс заказа был полностью
автоматизирован, а прогноз был посчитан для другого типа товара из-за
ошибки при обновлении справочников (тоже автоматическом)
НЕ мотивирующие примеры из жизни
fckp пример #1
В маленький магазин уехала фура водки, т.к. процесс заказа был полностью
автоматизирован, а прогноз был посчитан для другого типа товара из-за
ошибки при обновлении справочников (тоже автоматическом)
fckp пример #2
Чуть было не остановили несколько агрегатов на станции, т.к. получили
прогноз погоды от поставщика с нулями (ошибка на стороне поставщика).
Система решила, что наступила «зима», столько оборудования не нужно и
выдала рекомендацию «отключить»
Что происходит
Пилот
время
эффект
Что происходит
Пилот Внедрение
время
эффект
Что происходит
Пилот Внедрение Эксплуатация
время
эффект
Что происходит
Пилот Внедрение Эксплуатация
время
эффект
ожидание
Что происходит
Пилот Внедрение Эксплуатация
время
эффект
ожидание
реальность
Проблема в том, что все меняется
Внешние факторы
• Окружающий мир (поведение покупателей,
рыночные, макро- и микроэкономические
факторы и т.п.)
• Сам бизнес (новые продукты и услуги,
новые точки обслуживания, новое
оборудования)
Проблема в том, что все меняется
Внешние факторы
• Окружающий мир (поведение покупателей,
рыночные, макро- и микроэкономические
факторы и т.п.)
• Сам бизнес (новые продукты и услуги,
новые точки обслуживания, новое
оборудования)
Внутренние факторы
• Сбор и хранение данных (какие системы есть и
какие данные поставляют)
• Аналитические процедуры (обработка данных и
прогнозирование)
Проблема в том, что все меняется
Внешние факторы
• Окружающий мир (поведение покупателей,
рыночные, макро- и микроэкономические
факторы и т.п.)
• Сам бизнес (новые продукты и услуги,
новые точки обслуживания, новое
оборудования)
Внутренние факторы
• Сбор и хранение данных (какие системы есть и
какие данные поставляют)
• Аналитические процедуры (обработка данных и
прогнозирование)
Изменения внешних факторов, как
правило, приводит к ухудшению точности
прогнозирования
Проблема в том, что все меняется
Внешние факторы
• Окружающий мир (поведение покупателей,
рыночные, макро- и микроэкономические
факторы и т.п.)
• Сам бизнес (новые продукты и услуги,
новые точки обслуживания, новое
оборудования)
Внутренние факторы
• Сбор и хранение данных (какие системы есть и
какие данные поставляют)
• Аналитические процедуры (обработка данных и
прогнозирование)
Изменения внешних факторов, как
правило, приводит к ухудшению точности
прогнозирования
Неучтенные изменения внутренних факторов
чаще всего приводит к отказу или
непредвиденному поведению
Детализация рисков
Входные данные Прогнозные модели Выходные данные
Риск – отказ системы
или некорректное
поведение из-за
ошибок во входных
данных
Входные данные Прогнозные модели Выходные данные
Детализация рисков
Риск – отказ системы
или некорректное
поведение из-за
ошибок во входных
данных
Риск – снижение точности прогноза
при отсутствии контроля и
обновлений
Входные данные Прогнозные модели Выходные данные
Детализация рисков
Риск – отказ системы
или некорректное
поведение из-за
ошибок во входных
данных
Риск – снижение точности прогноза
при отсутствии контроля и
обновлений
Риск – execution неверных
решений из-за недостаточной
проработки вопросов
автоматизации
Входные данные Прогнозные модели Выходные данные
Детализация рисков
Риск – отказ системы
или некорректное
поведение из-за
ошибок во входных
данных
Риск – снижение точности прогноза
при отсутствии контроля и
обновлений
Риск – execution неверных
решений из-за недостаточной
проработки вопросов
автоматизации
Data Governance Model Governance Process Governance
Входные данные Прогнозные модели Выходные данные
Детализация рисков
Представьте, что модель – это автомобиль
Представьте, что модель – это автомобиль
ПОМЕНЯТЬ МАСЛО
НУЖНО ЗАПРАВИТЬСЯ
ХОРОШИЙ ЛИ БЕНЗИН НА ТОЙ АЗС?
МОЖЕТ ПРОДАТЬ?
НЕ ПОРА ЛИ ПЕРЕОБУТЬСЯ?
ИНТЕРЕСНО, КАК ТАМ КОЛОДКИ?
КУПИТЬ ДЕТСКОЕ КРЕСЛО
ПОМЕСТИТЬСЯ ЛИ В БАГАЖНИК?
CHECK-ENGINE
Представьте, что модель – это автомобиль
ПОМЕНЯТЬ МАСЛО
НУЖНО ЗАПРАВИТЬСЯ
ХОРОШИЙ ЛИ БЕНЗИН НА ТОЙ АЗС?
МОЖЕТ ПРОДАТЬ?
НЕ ПОРА ЛИ ПЕРЕОБУТЬСЯ?
ИНТЕРЕСНО, КАК ТАМ КОЛОДКИ?
КУПИТЬ ДЕТСКОЕ КРЕСЛО
ПОМЕСТИТЬСЯ ЛИ В БАГАЖНИК?
CHECK-ENGINE
• Параметры для постоянного контроля
• Регулярные процедуры обслуживания по расписанию / по событию
• Выраженные сезонные эффекты
• Периодическая замена частей
• Когда-нибудь приходит время просто поменять целиком
Тоже самое с прогнозными моделями и аналитическими процессами!
Model Governance по принципу champion-challenger
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
champion
…𝑡2𝑡1
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)
challenger
champion
…𝑡2𝑡1
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)
3. Все процессы работают некоторое время параллельно [в режиме AB тестов]
challenger
champion
тест #1
…𝑡2𝑡1
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)
3. Все процессы работают некоторое время параллельно [в режиме AB тестов]
4. Если на новых данных challenger побеждает champion’а, то он становится новым champion
challenger
champion
archive
тест #1
>
…𝑡2𝑡1
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)
3. Все процессы работают некоторое время параллельно [в режиме AB тестов]
4. Если на новых данных challenger побеждает champion’а, то он становится новым champion
5. GOTO шаг 2
challenger
champion
archive
тест #1 тест #2
>
…𝑡2𝑡1
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)
3. Все процессы работают некоторое время параллельно [в режиме AB тестов]
4. Если на новых данных challenger побеждает champion’а, то он становится новым champion
5. GOTO шаг 2
challenger
champion
archive
Х
тест #1 тест #2
> <
…𝑡2𝑡1
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)
3. Все процессы работают некоторое время параллельно [в режиме AB тестов]
4. Если на новых данных challenger побеждает champion’а, то он становится новым champion
5. GOTO шаг 2
challenger
champion
archive
Х
тест #1 тест #2 тест #3
> <
…𝑡2𝑡1
Model Governance по принципу champion-challenger
1. Есть процесс, работающий в production (champion)
2. С некоторой периодичностью строим новые модели или процессы (challenger’ы)
3. Все процессы работают некоторое время параллельно [в режиме AB тестов]
4. Если на новых данных challenger побеждает champion’а, то он становится новым champion
5. GOTO шаг 2
challenger
champion
archive
Х
тест #1 тест #2 тест #3
> < >
…𝑡2𝑡1
Нюансы подхода
или слайд для технарей
1. Используются ансамбли (ensebmles) моделей
• Добавляется новая модель в ансамбль, переобучаются веса. Модели с низкими весами
исключаются
• (или) переобучается ансамбль целиком
2. Используется online machine learning – нужно снимать snapshot’ы моделей с некоторой частотой
3. Не всегда много данных это хорошо. Часто лучше обучаться на последних данных и не использовать
всю доступную историю
4. Если метрика качества рассчитывается на длинном промежутке времени – ничего не поделаешь,
нужно также увеличивать продолжительность тестов
5. Блендинг прошлых моделей-champion’ов – плохая идея, если модели не time-aware (в явном виде
учитывают время в данных)
Признаки хорошей организации процесса
1. Вы принципиально можете полностью восстановить процессы и модели на
определенную дату
Признаки хорошей организации процесса
1. Вы принципиально можете полностью восстановить процессы и модели на
определенную дату
2. Ваши модели и процессы устойчивы к расширению входных данных
Признаки хорошей организации процесса
1. Вы принципиально можете полностью восстановить процессы и модели на
определенную дату
2. Ваши модели и процессы устойчивы к расширению входных данных
3. Вы понимаете, что произойдет, если будут проблемы с входными данными
• Отсутствие или пропуски в данных
• Аномальные всплески
Признаки хорошей организации процесса
1. Вы принципиально можете полностью восстановить процессы и модели на
определенную дату
2. Ваши модели и процессы устойчивы к расширению входных данных
3. Вы понимаете, что произойдет, если будут проблемы с входными данными
• Отсутствие или пропуски в данных
• Аномальные всплески
4. Вы уверены, что прогнозные данные проверяются системой-потребителем перед
исполнением
Простые, но важные выводы
1. Использование Machine Learning – это постоянный процесс, а не проект.
Аналитические системы нужно постоянно обслуживать и обновлять
Простые, но важные выводы
1. Использование Machine Learning – это постоянный процесс, а не проект.
Аналитические системы нужно постоянно обслуживать и обновлять
2. Автоматизация жизненного цикла – это непросто, автоматизируйте постепенно и
только после «ручного периода»
Спасибо за Ваше время и внимание
Роман Чеботарев
Руководитель практики
«Прогнозная аналитика и машинное обучение»
email: RChebotarev@croc.ru
skype: roman.s.chebotarev
slack: convex (OpenDataScience)
habr: convex

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

  • 1.
    Model Governance или почемупадает точность прогноза Роман Чеботарев Руководитель практики «Прогнозная аналитика и машинное обучение» ICBDA 2016
  • 2.
    О чем разговор? Очевидныйфакт Если оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать
  • 3.
    О чем разговор? Очевидныйфакт Если оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать Очевидное следствие Прогнозные модели и процессы нужно обслуживать и обновлять
  • 4.
    О чем разговор? Очевидныйфакт Если оставить прогнозную модель саму по себе, то со временем точность начнет падать и через некоторое время она начнет вредить, а не помогать Очевидное следствие Прогнозные модели и процессы нужно обслуживать и обновлять Неочевидное следствие #1 Обслуживать и поддерживать бывает сложнее, чем внедрять Неочевидное следствие #2 Очень часто автоматизация процесса только вредит
  • 5.
    НЕ мотивирующие примерыиз жизни fckp пример #1 В маленький магазин уехала фура водки, т.к. процесс заказа был полностью автоматизирован, а прогноз был посчитан для другого типа товара из-за ошибки при обновлении справочников (тоже автоматическом)
  • 6.
    НЕ мотивирующие примерыиз жизни fckp пример #1 В маленький магазин уехала фура водки, т.к. процесс заказа был полностью автоматизирован, а прогноз был посчитан для другого типа товара из-за ошибки при обновлении справочников (тоже автоматическом) fckp пример #2 Чуть было не остановили несколько агрегатов на станции, т.к. получили прогноз погоды от поставщика с нулями (ошибка на стороне поставщика). Система решила, что наступила «зима», столько оборудования не нужно и выдала рекомендацию «отключить»
  • 7.
  • 8.
  • 9.
    Что происходит Пилот ВнедрениеЭксплуатация время эффект
  • 10.
    Что происходит Пилот ВнедрениеЭксплуатация время эффект ожидание
  • 11.
    Что происходит Пилот ВнедрениеЭксплуатация время эффект ожидание реальность
  • 12.
    Проблема в том,что все меняется Внешние факторы • Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.) • Сам бизнес (новые продукты и услуги, новые точки обслуживания, новое оборудования)
  • 13.
    Проблема в том,что все меняется Внешние факторы • Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.) • Сам бизнес (новые продукты и услуги, новые точки обслуживания, новое оборудования) Внутренние факторы • Сбор и хранение данных (какие системы есть и какие данные поставляют) • Аналитические процедуры (обработка данных и прогнозирование)
  • 14.
    Проблема в том,что все меняется Внешние факторы • Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.) • Сам бизнес (новые продукты и услуги, новые точки обслуживания, новое оборудования) Внутренние факторы • Сбор и хранение данных (какие системы есть и какие данные поставляют) • Аналитические процедуры (обработка данных и прогнозирование) Изменения внешних факторов, как правило, приводит к ухудшению точности прогнозирования
  • 15.
    Проблема в том,что все меняется Внешние факторы • Окружающий мир (поведение покупателей, рыночные, макро- и микроэкономические факторы и т.п.) • Сам бизнес (новые продукты и услуги, новые точки обслуживания, новое оборудования) Внутренние факторы • Сбор и хранение данных (какие системы есть и какие данные поставляют) • Аналитические процедуры (обработка данных и прогнозирование) Изменения внешних факторов, как правило, приводит к ухудшению точности прогнозирования Неучтенные изменения внутренних факторов чаще всего приводит к отказу или непредвиденному поведению
  • 16.
    Детализация рисков Входные данныеПрогнозные модели Выходные данные
  • 17.
    Риск – отказсистемы или некорректное поведение из-за ошибок во входных данных Входные данные Прогнозные модели Выходные данные Детализация рисков
  • 18.
    Риск – отказсистемы или некорректное поведение из-за ошибок во входных данных Риск – снижение точности прогноза при отсутствии контроля и обновлений Входные данные Прогнозные модели Выходные данные Детализация рисков
  • 19.
    Риск – отказсистемы или некорректное поведение из-за ошибок во входных данных Риск – снижение точности прогноза при отсутствии контроля и обновлений Риск – execution неверных решений из-за недостаточной проработки вопросов автоматизации Входные данные Прогнозные модели Выходные данные Детализация рисков
  • 20.
    Риск – отказсистемы или некорректное поведение из-за ошибок во входных данных Риск – снижение точности прогноза при отсутствии контроля и обновлений Риск – execution неверных решений из-за недостаточной проработки вопросов автоматизации Data Governance Model Governance Process Governance Входные данные Прогнозные модели Выходные данные Детализация рисков
  • 21.
    Представьте, что модель– это автомобиль
  • 22.
    Представьте, что модель– это автомобиль ПОМЕНЯТЬ МАСЛО НУЖНО ЗАПРАВИТЬСЯ ХОРОШИЙ ЛИ БЕНЗИН НА ТОЙ АЗС? МОЖЕТ ПРОДАТЬ? НЕ ПОРА ЛИ ПЕРЕОБУТЬСЯ? ИНТЕРЕСНО, КАК ТАМ КОЛОДКИ? КУПИТЬ ДЕТСКОЕ КРЕСЛО ПОМЕСТИТЬСЯ ЛИ В БАГАЖНИК? CHECK-ENGINE
  • 23.
    Представьте, что модель– это автомобиль ПОМЕНЯТЬ МАСЛО НУЖНО ЗАПРАВИТЬСЯ ХОРОШИЙ ЛИ БЕНЗИН НА ТОЙ АЗС? МОЖЕТ ПРОДАТЬ? НЕ ПОРА ЛИ ПЕРЕОБУТЬСЯ? ИНТЕРЕСНО, КАК ТАМ КОЛОДКИ? КУПИТЬ ДЕТСКОЕ КРЕСЛО ПОМЕСТИТЬСЯ ЛИ В БАГАЖНИК? CHECK-ENGINE • Параметры для постоянного контроля • Регулярные процедуры обслуживания по расписанию / по событию • Выраженные сезонные эффекты • Периодическая замена частей • Когда-нибудь приходит время просто поменять целиком Тоже самое с прогнозными моделями и аналитическими процессами!
  • 24.
    Model Governance попринципу champion-challenger
  • 25.
    Model Governance попринципу champion-challenger 1. Есть процесс, работающий в production (champion) champion …𝑡2𝑡1
  • 26.
    Model Governance попринципу champion-challenger 1. Есть процесс, работающий в production (champion) 2. С некоторой периодичностью строим новые модели или процессы (challenger’ы) challenger champion …𝑡2𝑡1
  • 27.
    Model Governance попринципу champion-challenger 1. Есть процесс, работающий в production (champion) 2. С некоторой периодичностью строим новые модели или процессы (challenger’ы) 3. Все процессы работают некоторое время параллельно [в режиме AB тестов] challenger champion тест #1 …𝑡2𝑡1
  • 28.
    Model Governance попринципу champion-challenger 1. Есть процесс, работающий в production (champion) 2. С некоторой периодичностью строим новые модели или процессы (challenger’ы) 3. Все процессы работают некоторое время параллельно [в режиме AB тестов] 4. Если на новых данных challenger побеждает champion’а, то он становится новым champion challenger champion archive тест #1 > …𝑡2𝑡1
  • 29.
    Model Governance попринципу champion-challenger 1. Есть процесс, работающий в production (champion) 2. С некоторой периодичностью строим новые модели или процессы (challenger’ы) 3. Все процессы работают некоторое время параллельно [в режиме AB тестов] 4. Если на новых данных challenger побеждает champion’а, то он становится новым champion 5. GOTO шаг 2 challenger champion archive тест #1 тест #2 > …𝑡2𝑡1
  • 30.
    Model Governance попринципу champion-challenger 1. Есть процесс, работающий в production (champion) 2. С некоторой периодичностью строим новые модели или процессы (challenger’ы) 3. Все процессы работают некоторое время параллельно [в режиме AB тестов] 4. Если на новых данных challenger побеждает champion’а, то он становится новым champion 5. GOTO шаг 2 challenger champion archive Х тест #1 тест #2 > < …𝑡2𝑡1
  • 31.
    Model Governance попринципу champion-challenger 1. Есть процесс, работающий в production (champion) 2. С некоторой периодичностью строим новые модели или процессы (challenger’ы) 3. Все процессы работают некоторое время параллельно [в режиме AB тестов] 4. Если на новых данных challenger побеждает champion’а, то он становится новым champion 5. GOTO шаг 2 challenger champion archive Х тест #1 тест #2 тест #3 > < …𝑡2𝑡1
  • 32.
    Model Governance попринципу champion-challenger 1. Есть процесс, работающий в production (champion) 2. С некоторой периодичностью строим новые модели или процессы (challenger’ы) 3. Все процессы работают некоторое время параллельно [в режиме AB тестов] 4. Если на новых данных challenger побеждает champion’а, то он становится новым champion 5. GOTO шаг 2 challenger champion archive Х тест #1 тест #2 тест #3 > < > …𝑡2𝑡1
  • 33.
    Нюансы подхода или слайддля технарей 1. Используются ансамбли (ensebmles) моделей • Добавляется новая модель в ансамбль, переобучаются веса. Модели с низкими весами исключаются • (или) переобучается ансамбль целиком 2. Используется online machine learning – нужно снимать snapshot’ы моделей с некоторой частотой 3. Не всегда много данных это хорошо. Часто лучше обучаться на последних данных и не использовать всю доступную историю 4. Если метрика качества рассчитывается на длинном промежутке времени – ничего не поделаешь, нужно также увеличивать продолжительность тестов 5. Блендинг прошлых моделей-champion’ов – плохая идея, если модели не time-aware (в явном виде учитывают время в данных)
  • 34.
    Признаки хорошей организациипроцесса 1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату
  • 35.
    Признаки хорошей организациипроцесса 1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату 2. Ваши модели и процессы устойчивы к расширению входных данных
  • 36.
    Признаки хорошей организациипроцесса 1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату 2. Ваши модели и процессы устойчивы к расширению входных данных 3. Вы понимаете, что произойдет, если будут проблемы с входными данными • Отсутствие или пропуски в данных • Аномальные всплески
  • 37.
    Признаки хорошей организациипроцесса 1. Вы принципиально можете полностью восстановить процессы и модели на определенную дату 2. Ваши модели и процессы устойчивы к расширению входных данных 3. Вы понимаете, что произойдет, если будут проблемы с входными данными • Отсутствие или пропуски в данных • Аномальные всплески 4. Вы уверены, что прогнозные данные проверяются системой-потребителем перед исполнением
  • 38.
    Простые, но важныевыводы 1. Использование Machine Learning – это постоянный процесс, а не проект. Аналитические системы нужно постоянно обслуживать и обновлять
  • 39.
    Простые, но важныевыводы 1. Использование Machine Learning – это постоянный процесс, а не проект. Аналитические системы нужно постоянно обслуживать и обновлять 2. Автоматизация жизненного цикла – это непросто, автоматизируйте постепенно и только после «ручного периода»
  • 40.
    Спасибо за Вашевремя и внимание Роман Чеботарев Руководитель практики «Прогнозная аналитика и машинное обучение» email: RChebotarev@croc.ru skype: roman.s.chebotarev slack: convex (OpenDataScience) habr: convex