Почему интервалы прогнозирования важны (и сложны!) для прогнозной аналитики HR

Эта статья является первой в серии из трех статей, посвященных расширенному моделированию будущих диапазонов производительности работников с помощью ИНС с пользовательскими функциями потерь. Часть 1 исследует, почему полезно прогнозировать возможный потолок и минимум будущей производительности сотрудника — и почему это трудно сделать эффективно, используя традиционные методы, основанные на средней абсолютной ошибке или стандартном отклонении. Часть 2 исследует, как можно смоделировать вероятные потолок и пол, используя отдельные искусственные нейронные сети с пользовательскими функциями потерь. И Часть 3 объединяет эти потолочные и минимальные модели для создания составного интервала прогнозирования, который может превзойти более простые модели, основанные на MAE или SD, при прогнозировании вероятного диапазона будущей производительности труда работников.

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

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

К счастью, у вас есть надежная система прогнозной аналитики, которая объединяет данные из различных инструментов OEE, ERP и HRM, и для каждого из 50 операторов станков на вашем заводе система способна генерировать прогноз того, сколько единиц у каждого человека. мог бы производить завтра, если бы он или она были назначены на фрезерный станок. Из всех кандидатов система предсказывает, что есть только два механизатора («Рабочий А» и «Рабочий Б»), которые, как ожидается, выполнят необходимое задание, если будут назначены на соответствующий станок завтра, и что у них есть идентичный прогнозируемый результат:

Predicted output on the milling machine tomorrow:
Worker A: 1,620.5 units
Worker B: 1,620.5 units
Worker C: 1,530.0 units
Worker D: 1,490.5 units

Основываясь на этой информации — и при отсутствии какого-либо другого опыта, понимания или интуиции со стороны ваших менеджеров, которые могли бы указать на того или иного работника — вы можете быть склонны выбирать случайным образом между работниками А и Б. em>Прогнозная аналитика еще не определила какие-либо факторы, которые позволили бы ей предложить полезную предписывающую аналитику.

Однако на самом деле ваша аналитическая система может содержать дополнительную информацию, которая может помочь вам принять это решение, даже если она (пока) не делится ею с вами явно. Например, когда система заявляет, что определенный человек, вероятно, произведет «1620,5 единиц», если его завтра назначат на фрезерный станок, на самом деле она может сказать вам: «Я запустил единственную прогностическую модель, которая определила, что количество единиц произведенный этим человеком завтра, вероятно, будет между 1 464,7 и 1 776,3, а 1 620,5 — это середина этого диапазона», или «Я прогнал пять различных прогностических моделей, каждая из которых дала разные прогнозируемые значения (наименьшее из которых было 1 358,9, а самое низкое — 1 358,9, а самый высокий из которых был 1805,4), а 1620,5 — это среднее значение всех пяти их прогнозов».

В соответствии с этим представьте, что система должна была явно предоставить вам эту информацию:

Predicted output on the milling machine tomorrow:
Worker A: 1,620.5 units (likely range: 1,493.5 – 1,747.5)
Worker B: 1,620.5 units (likely range: 1,608.5 – 1,632.5)

Предлагая эту дополнительную информацию, ваша аналитическая система теперь выполняет важную предписывающую роль. Предполагая, что в прошлом вы обнаружили, что прогнозы системы в целом надежны, у вас есть четкие основания для того, чтобы назначить критический заказ работнику B, а не работнику A. Это правда, что рабочий A имеет реальный потенциал произвести 1700 единиц завтра. , что значительно превышает потенциальный потолок работника B. Но это не особенно важно или полезно. Единственное, о чем вы действительно заботитесь, это о том, чтобы завтра было произведено по крайней мере 1600 единиц, чтобы вы могли выполнить заказ своего клиента, и с этой точки зрения назначение задачи работнику А довольно рискованно, так как существует значительная вероятность того, что он или она не достигнет этой цели. Имея точно такой же прогнозируемый выпуск в 1620,5 единиц, прогнозируемая производительность работника Б охватывает гораздо более узкий диапазон: даже если у него или нее завтра будет плохой день (или интервал прогноза модели для обоих рабочих окажется слишком оптимистичным) , рабочий B по-прежнему, вероятно, достигнет необходимой цели.

Таким образом, мы можем понять, почему полезно прогнозировать не только одно непрерывное значение, которое представляет нашу наилучшую оценку фактической будущей производительности работника, но также и вероятные «потолок» и «минимум» производительности этого работника. (Действительно, в некоторых случаях мы можем даже не заинтересоваться попытками точно определить вероятное «целевое значение»: как менеджерам прогнозируемый потолок и прогнозируемый минимум могут сами по себе давать нам всю информацию, которая нам нужна для того, чтобы сделать критический выбор. решений.) Так как же мы можем предсказать вероятный диапазон будущей производительности работника?

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

Представьте, что вы разработали модель машинного обучения для своей фабрики, способную прогнозировать среднесуточный уровень эффективности рабочего в течение следующих 30 дней. Проверяя модель на исторических данных, вы можете сравнить прогнозируемые целевые значения эффективности модели с фактическими средними значениями эффективности, которые в конечном итоге отображались работниками в течение соответствующих 30 дней. Чтобы проиллюстрировать этот сценарий, мы будем использовать синтетические данные, сгенерированные с помощью пакета с открытым исходным кодом Synaptans WorkforceSim (платформа на основе Python), и модель Random Forest, созданную с помощью Comport_AI (еще одно веб-приложение Python с открытым исходным кодом). Синтетический набор данных имитировал повседневное поведение 268 рабочих фабрики в течение 300 дней. Ниже мы можем увидеть результаты Базовой целевой модели, чей алгоритм Random Forest сгенерировал прогнозы средней эффективности работников в течение следующих 30 дней.

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

Средняя абсолютная ошибка модели

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

В нашем случае y может быть одиночной фактической будущей оценкой эффективности для работника, p прогнозируемой будущей оценкой эффективности для данного периода, полученной с помощью модели, и n общее количество рабочих периодов, для которых были сгенерированы прогнозы. Используя такой подход, представьте, что вы обучили и проверили две модели случайного леса, используя несколько разные гиперпараметры, и модели сгенерировали следующие прогнозы в отношении двух ваших сотрудников, рабочих E и F:

Prediction made using Model 1
Worker E’s predicted efficacy during next 30 days: 85.73
Mean absolute error of Model 1: 3.18

Prediction made using Model 2
Worker F’s predicted efficacy during next 30 days: 85.73
Mean absolute error of Model 2: 35.72

Это говорит о том, что эффективность работника E в течение следующих 30 дней (которая была получена с помощью модели 1) действительно, вероятно, будет довольно близкой к 85,73, тогда как эффективность работника F (прогнозированная моделью 2) легко может быть значительно выше или ниже 85,73. Это не потому, что рабочий F по своей природе менее «стабильный» или «надежный», чем рабочий E, а просто потому, что модель 1 способна делать прогнозы с гораздо меньшей степенью ошибки, чем модель 2.

Изображение ниже (на основе базовой целевой модели, созданной Comport_AI) наглядно иллюстрирует тип «интервала прогнозирования», который мы получаем, когда берем прогнозируемое целевое значение, сгенерированное для каждого работника, а затем добавляем MAE модели к прогнозируемому целевому значению ( чтобы получить прогнозируемое максимальное значение) и вычесть MAE модели из прогнозируемого целевого значения (чтобы получить прогнозируемое минимальное значение). Здесь черные точки в зеленой области представляют собой фактические целевые значения, попадающие в прогнозируемый диапазон от потолка до пола, а черные точки в розовых областях отражают фактические целевые значения, выходящие за пределы прогнозируемого диапазона.

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

Стандартное отклонение прошлой производительности работника

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

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

Здесь x – единичная фактическая ежедневная оценка эффективности работника, µ – средняя эффективность работника за все дни, а n – количество дней, за которые работник имеет баллы эффективности. Построение модели диапазона производительности таким образом позволит нам сохранить интервал прогнозирования небольшим для максимально возможного количества рабочих, позволяя при этом расширить его для других (по мере необходимости).

Используя нашу базовую целевую модель, созданную в Comport_AI, мы можем увидеть, как выглядят такие интервалы прогнозирования, когда они создаются путем вычисления (1) прогнозируемых целевых значений ± 1,0 × SD и (2) прогнозируемых целевых значений ± 0,8 × SD.

Здесь мы видим, что по сравнению с интервалами прогнозирования на основе MAE интервалы прогнозирования на основе SD гораздо более гибкие. Если мы установим множитель достаточно высоким (например, равным 1,0), интервалы прогнозирования на основе SD будут достаточно большими, чтобы включать подавляющее большинство фактических целевых значений, но ценой наличия интервалов, которые в большинстве случаев были излишне большой. Уменьшение множителя SD (например, до 0,8) уменьшает размер интервалов прогнозирования, потенциально делая их более полезными в качестве инструмента для принятия управленческих решений, и в то же время приводит к тому, что фактические целевые значения выходят за пределы прогнозируемого диапазона (что не помогает).

Хотя такой подход, основанный на стандартном отклонении, имеет некоторые преимущества, он менее чем надежен как инструмент для измерения размера диапазона, который показывает, насколько фактическое будущее значение может отличаться от прогнозируемого. Само по себе стандартное отклонение прошлых значений производительности работника напрямую не дает нам никаких указаний относительно того, насколько широк или узок интервал прогнозирования прогнозируемой будущей производительности работника. Например, чтобы переключиться (на данный момент) с наших 30-дневных прогнозов на предсказание поведения рабочих завтра, рассмотрим сценарий, в котором гипотетический рабочий G всегда исторически демонстрировал в точности следующую модель: Дневная эффективность:

Efficacy on Mondays: 48.0
Efficacy on Tuesdays: 49.0
Efficacy on Wednesdays: 50.0
Efficacy on Thursdays: 51.0
Efficacy on Fridays: 52.0

Между тем, гипотетический рабочий H всегда точно отображал следующую закономерность:

Efficacy on Mondays: 10.0
Efficacy on Tuesdays: 90.0
Efficacy on Wednesdays: 30.0
Efficacy on Thursdays: 70.0
Efficacy on Fridays: 50.0

Здесь дневная эффективность работника G имеет стандартное отклонение ≈1,41, а стандартное отклонение работника H равно ≈28,28. А теперь представьте, что завтра четверг, и ваша система предиктивной аналитики выдает следующие прогнозы:

Worker G’s predicted efficacy tomorrow: 51.0
SD of Worker G’s daily efficacy values: 1.4142

Worker H’s predicted efficacy tomorrow: 70.0
SD of Worker H’s daily efficacy values: 28.2843

Анализируя историческую популяцию оценок эффективности, которые уже были собраны для данного работника, мы можем сказать, что случайно выбранная оценка будет находиться в пределах 1 SD выше или ниже среднего примерно в 68,3% случаев и в пределах 2 SD от среднего в примерно в 95,5% случаев. Например, примерно 68,3 % прошлых оценок эффективности работника H находились в пределах 28,28 от его или ее среднего исторического балла, в то время как 68,3 % прошлых показателей эффективности работника G попадали в гораздо более узкий диапазон всего на 1,41 выше или ниже его среднего исторического значения. счет. Может показаться, что мы можем делать более «точные» прогнозы будущей эффективности работника G, чем работника H.

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

Роль (оптимизированных) интервалов предсказания

Чтобы помочь нам изучить этот факт, мы можем использовать термин «оптимизированный интервал прогнозирования» для обозначения прогнозируемого диапазона, в пределах которого, согласно модели машинного обучения, может находиться некоторое фактическое значение в будущем. Иногда термин «интервал предсказания» используется в узком смысле для обозначения типа диапазона, представленного формулой [µ, µ + ], где µ отражает среднее значение генеральной совокупности, σ его стандартное отклонение, а z фактор, связанный с тем, надеется ли кто-то, что 90 % (z ≈ 1,64), 95 % (z ≈ 1,96) или какой-либо другой процент фактических значений попадут в расчетные расстояние от прогнозируемых значений в заданном проценте случаев. (Связанные «полосы прогнозирования» рассчитываются на основе таких интервалов прогнозирования.) Таким образом, для наших целей мы будем использовать термин «оптимизированный интервал прогнозирования», чтобы подчеркнуть тот факт, что мы не ограничиваемся типом прогнозирования. интервал, рассчитанный с использованием стандартного отклонения; скорее, мы хотим найти наилучшую возможную оценку диапазона, в который, вероятно, попадет фактическое значение, независимо от того, можно ли его рассчитать с помощью стандартного отклонения или его необходимо определить каким-либо другим, более сложным способом.

Если бы большее стандартное отклонение в прошлой производительности напрямую влекло за собой больший оптимизированный интервал прогнозирования завтрашней производительности, было бы разумно ожидать, что эффективность работника G завтра действительно будет довольно близка к 51,0, но эффективность работника H могла бы быть значительно выше или ниже, чем 70,0. Но на самом деле более высокое историческое стандартное отклонение не обязательно означает менее надежный прогноз. Мы ожидаем, что любая хорошая система предиктивной аналитики, имеющая доступ к соответствующим данным, будет так же успешно предсказывать завтрашнюю эффективность работника H, как и предсказывать эффективность работника G, потому что оба сотрудника безошибочно продемонстрировали модель производительности, которую легко «обучить», несмотря на на первый взгляд более изменчивая и неустойчивая работа работника H.

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

«Но поведение моих рабочих ненормально!»

Подходы, подобные тем, которые основаны на MAE и SD, которые мы обсуждали выше, имеют ряд ограничений. Среди них тот факт, что они предполагают, что обе половины оптимизированного интервала прогнозирования (то есть «верхняя» и «нижняя») будут симметричными. Другими словами, если данная модель предсказывает, что завтра эффективность работника будет равна 84,0, равновероятно, что фактическая эффективность человека будет выше этого числа, поскольку она будет ниже. , чем это, и фактическое число, скажем, (84,0–1,0) = 83,0, столь же вероятно, как и (84,0 + 1,0) = 85,0.

Но в тех сценариях прогнозирования, с которыми имеет дело предиктивная аналитика HR, такой симметрии часто не существует: данные, относящиеся к производительности сотрудников, часто имеют асимметричное или другое ненормальное распределение, и использование машинного анализа модели обучения и формулы, предполагающие нормальное распределение (или стандартную «кривую нормального распределения»), могут давать прогнозы с излишне высокой степенью ошибки.

Например, представьте, что наилучший прогноз модели заключается в том, что данный оператор машины завтра будет иметь эффективность 98,3%. Если предположить, что машины и показатели были правильно откалиброваны, 100,0 % (или что-то чуть немного выше 100 %) представляют собой максимально возможный показатель эффективности, который работник может получить на этой машине. В конце концов, если конвейерная лента конвейера имеет фиксированную скорость, это устанавливает жесткий максимум количества единиц продукции, которые может произвести один человек за заданный восьмичасовой период. Таким образом, хотя оператор может записать фактическую эффективность 98,5 %, 99,2 % или даже 100,6 % завтра, он или она не сможет записать фактическую эффективность 148,3 % (или на 50 п. п. выше, чем предсказание). Однако вполне возможно для оператора зафиксировать фактическую эффективность в 48,3 % (или на 50 п. п. ниже, чем прогноз), если завтра машина пострадает. серия серьезных механических поломок, каждая из которых требовала от оператора значительных затрат времени на ремонт и перезапуск устройства. Невозможно полностью отразить реальность этой ситуации, выбрав одно число для представления середины оптимизированного интервала прогнозирования, а затем спрогнозировав, например, что работник имеет прогнозируемую эффективность на завтра «98,3% ± 5,3 п.п. ». или «98,3% ± 8,1 п.п.»

Точно так же представьте, что система предиктивной аналитики прогнозирует, что данный сотрудник, вероятно, будет отсутствовать 0,93 раза в течение следующих 30 дней. Единственный способ, которым фактический показатель может оказаться ниже целевого, — это если у работника не будет прогулов; рабочий не может иметь -2 или -5 отсутствия. Но диапазон потенциальных фактических результатов на другой стороне прогнозируемого значения намного шире: у работника может быть 1, 2, 5 или даже 10 прогулов в течение следующего месяца. Система предиктивной аналитики для HR, которая прогнозирует, что количество отсутствий данного работника в течение следующих 30 дней будет, скажем, «0,93 ± 2,4», скорее всего, просто запутает пользователей. Как вообще можно интерпретировать такое предсказание?

Можем ли мы сделать лучше?

Хорошая новость заключается в том, что существуют альтернативные подходы к прогнозированию вероятного диапазона будущей производительности работника, которые, хотя и несколько сложнее, но могут генерировать более точные, детальные и полезные прогнозы. В Части 2 этой серии мы рассмотрим, как с помощью машинного обучения можно сгенерировать более реалистичные и значимые прогнозируемые диапазоны производительности, чем при отдельном моделировании (1) вероятного потолка для будущей производительности работника и (2) вероятный минимум для будущей производительности работника с помощью искусственных нейронных сетей, чьи пользовательские функции потерь помогают им научиться создавать интервалы производительности, которые настолько малы насколько это возможно, но при этом лишь достаточно большим, чтобы включать фактическое будущее значение, которое рабочий процесс будет отображать в максимально возможном большинстве случаев. Я надеюсь, что вы присоединитесь к нам в Часть 2 серии!