Используйте ИНС с настраиваемыми функциями потерь для прогнозирования возможных предельных и минимальных значений будущей производительности труда работников.

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

Полезность явного моделирования потолков и полов

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

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

Как и в Часть 1, мы будем использовать синтетический набор данных, включающий 119 005 наблюдений за ежедневной производительностью и поведением фабричных рабочих, сгенерированных Synaptans WorkforceSim, бесплатный пакет Python с открытым исходным кодом для моделирования динамики рабочей силы организации. Наблюдения относятся к фабрике с 268 работниками и охватывают период в 300 календарных дней. Файл набора данных был импортирован в веб-приложение Comport_AI, еще один инструмент с открытым исходным кодом на основе Python для прогнозной HR-аналитики, который позволяет сравнивать эффективность различных алгоритмов машинного обучения для прогнозирования вероятной Диапазон будущего поведения рабочих. В рамках этого процесса Comport_AI преобразовал набор данных в формат человек-день, в котором каждая строка представляет поведение, наблюдаемое для конкретного сотрудника в один день, наряду с различными историческими показателями для работника, которые существовали на тот момент в время — и будущие значения для работника, которые можно использовать в качестве целей или значений Y для машинного обучения.

Моделирование вероятного потолка будущей производительности работника

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

Что делает прогноз «хорошего» потолка? При прогнозировании самого целевого значения цель модели — просто вывести число, максимально близкое к фактическому будущему целевому значению. Однако при прогнозировании потолка вероятного диапазона цель модели должна состоять в том, чтобы вывести число, максимально близкое к фактическому будущему целевому значению, но не меньшее этого значения. Если прогноз действительно должен представлять «потолок», то его первая и самая важная задача — быть как минимум таким же высоким, как фактическое будущее целевое значение.

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

  • Доля фактических целевых значений выше потолка (PATGTC) отражает долю фактических целевых значений, которые превышают их прогнозируемое максимальное значение. Для заданной модели потолка значение PATGTC будет находиться в диапазоне от 0,0 до 1,0, где 0,0 означает, что ни одно целевое значение не превысило прогнозируемый потолок, а 1,0 означает, что все целевые значения превысили прогнозируемый потолок.
  • Скорректированное среднее пропорциональное расстояние вне диапазона (AMORPDAC) – это сложный показатель, учитывающий расстояние, на которое фактические целевые значения превышают прогнозируемое максимальное значение в тех случаях, когда они его превышают. Он более строго наказывает большие расстояния и большее количество случаев, когда фактические значения превышают их прогнозируемый потолок. Чем выше число, тем менее эффективна модель потолка (поскольку многие фактические целевые значения значительно превышают прогнозируемый потолок).
  • Скорректированное среднее пропорциональное расстояние в диапазоне ниже потолка (AMIRPDBC) – это сложный показатель, учитывающий расстояние, на которое фактические целевые значения были ниже прогнозируемого предельного значения в тех случаях, когда они были меньше его. . Чем больше число, тем менее эффективна модель потолка (поскольку она генерирует прогнозы потолка, ценность которых излишне высока).
  • Общая ошибка потолка (OCE) – это сумма AMORPDAC и AMIRPDBC для данной модели потолка; он предлагает общую меру эффективности потолочной модели. При моделировании диапазонов производительности наша цель состоит в том, чтобы минимизировать это число.

По умолчанию Comport_AI обобщает одну потолочную модель, полученную путем использования прогнозируемых целевых значений базовой целевой модели + MAE модели; девять потолочных моделей, созданных путем использования прогнозируемых целевых значений базовой целевой модели + (n×SD) для стандартного отклонения исторических результатов эффективности конкретных работников и нескольких значений n; и 20 потолочных моделей в виде искусственных нейронных сетей с различными пользовательскими функциями потерь. Из 30 моделей потолка, созданных для этого анализа, мы выделим здесь три из них.

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

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

Затем у нас есть модель потолка, которая предсказывает вероятный потолок для каждого работника, беря прогнозируемое целевое значение работника и добавляя 1,0 × SD, где SD — стандартное отклонение исторических значений эффективности работника.

В этом случае только 0,955% фактических целевых значений превышали их прогнозируемые потолки. Хотя это намного превосходит производительность модели на основе MAE, результаты модели на основе SD также были более «расплывчатыми», при этом многие максимальные значения находились на значительном расстоянии выше фактических целевых значений. Тем не менее, в соответствии с нашим критерием, согласно которому для прогнозов модели потолка более важно превысить фактические целевые значения, чем быть близкими к ним, общая ошибка потолка модели, основанной на стандартном отклонении (0,37777), действительно рассчитана как намного ниже, чем модель на основе MAE (14.11161).

Наконец, у нас есть одна из наших более продвинутых моделей потолка в виде ИНС с настраиваемой функцией потерь. В этом случае функция потерь рассчитывалась как:

from keras import backend as K
loss_pred_safely_high = K.square(y_pred - y_true)
loss_pred_too_low = 200.0 * K.square(y_pred - y_true)
loss = K.switch(
    K.greater_equal(y_pred, y_true),
    loss_pred_safely_high,
    loss_pred_too_low
    )

Производительность этой модели потолка отражена на графике ниже:

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

Моделирование вероятного уровня будущей производительности работника

Теперь мы можем использовать Comport_AI для моделирования вероятного нижнего предела будущих средних значений эффективности работников в течение следующих 30 дней. Процесс здесь очень похож на процесс с моделями потолка, за исключением того, что — как это часто бывает в видах динамики, моделируемой в прогнозной аналитике HR — эффективность работника не может упасть ниже нуля. Таким образом, во все модели вводится произвольная корректировка, которая заменяет любое прогнозируемое минимальное значение менее 0,0 значением 0,0. Comport_AI помогает нам оценивать и сравнивать модели этажей с помощью четырех встроенных показателей:

  • Доля фактических целевых значений меньше минимальной (PATLTF) отражает долю фактических целевых значений, которые оказались меньше их прогнозируемого минимального значения.
  • Скорректированное среднее пропорциональное расстояние вне диапазона ниже уровня пола (AMORPDBF) – это комплексный показатель, учитывающий расстояние, на которое фактические целевые значения упали ниже прогнозируемого минимального значения в тех случаях, когда это произошло. . Он более строго наказывает большие расстояния и большее количество случаев падения фактических значений ниже их прогнозируемого нижнего предела. Чем больше число, тем менее эффективна напольная модель.
  • Скорректированное среднее пропорциональное расстояние над уровнем пола (AMIRPDAF) — это комплексный показатель, учитывающий расстояние, на которое фактические целевые значения превышали прогнозируемое значение пола в тех случаях, когда они были выше него. Чем больше число, тем менее эффективна напольная модель.
  • Общая погрешность этажа (OFE) — это сумма AMORPDDBF и AMIRPDAF для данной модели этажа; он предлагает общую меру эффективности потолочной модели. При моделировании диапазонов производительности наша цель состоит в том, чтобы минимизировать это число.

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

Затем у нас есть модель нижнего предела, которая предсказывает вероятный нижний предел для каждого работника, беря прогнозируемое целевое значение работника и вычитая 1,0 × SD, где SD — стандартное отклонение исторических значений эффективности работника:

И, наконец, у нас есть одна из наших более продвинутых моделей этажей в виде ИНС с пользовательской функцией потерь, рассчитанной как:

loss = K.mean(math_ops.squared_difference(y_pred, y_true), axis=-1) \
    - 1.1 * K.mean(y_true - y_pred)

Производительность этой модели пола отражена на графике ниже:

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

Следующий шаг

Мы создали модели потолка и пола на основе ИНС, которые — по крайней мере, в некоторых ситуациях — кажутся способными работать лучше, чем обычные методы на основе MAE и SD при прогнозировании вероятного потолка и вероятного минимума будущей производительности труда работника. Ну и что дальше?

В третьей и последней части этой серии мы объединим наши модели потолка и пола, чтобы создать интервалы совместного прогнозирования, и оценим, как модели совместного диапазона, созданные нашими моделями ИНС, сравниваются с полученными моделями. от более простых подходов на основе MAE и SD. Я надеюсь, что вы присоединитесь к нам в Часть 3 серии!