Използвайте ANN с персонализирани функции за загуба, за да предвидите вероятни тавани и подове за бъдещото изпълнение на работата на работниците

Тази статия е втората от поредица от три части за „Разширено моделиране на бъдещи диапазони на производителност на работниците чрез ANN с персонализирани функции за загуба“. Част 1 проучи защо е полезно да се предскаже вероятният таван и праг за бъдещото представяне на даден служител — и защо е трудно да се направи това ефективно, като се използват конвенционални методи, базирани на средна абсолютна грешка или стандартно отклонение. Част 2 изследва как може да се моделира вероятният таван и под, като се използват отделни изкуствени невронни мрежи с персонализирани функции за загуба. А Част 3 съчетава тези модели на тавана и пода, за да създаде комбиниран интервал за прогнозиране, който може да надмине по-простите модели, базирани на MAE или SD, при прогнозиране на вероятния обхват на бъдещото изпълнение на работата на работниците.

Полезността на изричното моделиране на тавани и подове

Ние разследвахме преди това (1) защо не е достатъчно системите за прогнозен анализ на човешките ресурси просто да генерират една прогнозна стойност за бъдещото представяне на работника и (2) защо прости подходи за прогнозиране на вероятният обхват на бъдещото представяне на работника често води до резултати, които имат ненужно висока степен на грешка и са трудни за тълкуване.

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

Както в Част 1, ние ще използваме синтетичен набор от данни, който включва 119 005 наблюдения на ежедневното представяне и поведение на фабрични работници, генерирани от Synaptans WorkforceSim, безплатен Python пакет с отворен код за симулиране на динамиката на организационна работна сила. Наблюденията са за фабрика с 268 служители и обхващат период от 300 календарни дни. Файлът с набор от данни беше импортиран в уеб приложението Comport_AI, друг инструмент с отворен код, базиран на Python за прогнозен анализ на човешките ресурси, който прави възможно сравняването на ефективността на различни алгоритми за машинно обучение за прогнозиране на вероятните набор от бъдещо поведение на работниците. Като част от този процес 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, също бяха по-„дифузни“, като много от таванните стойности бяха на значително разстояние над действителните целеви стойности. Въпреки това, в съответствие с нашия критерий, че е по-важно прогнозите на модела на тавана да надхвърлят действителните целеви стойности, отколкото да бъдат близо до тях, общата грешка на тавана на базирания на SD модел (0,37777) наистина се изчислява като много по-ниска от този на базирания на MAE модел (14.11161).

И накрая, имаме един от нашите по-усъвършенствани таванни модели под формата на ANN с персонализирана функция за загуба. В този случай функцията на загубата се изчислява като:

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 дни. Процесът тук е много подобен на този при моделите на тавана, с изключение на това, че - както често се случва при видовете динамика, моделирани в прогнозния анализ на човешките ресурси - не е възможно ефикасността на работника да падне под нулата. Следователно всички модели имат въведена произволна корекция, която замества всяка прогнозирана долна стойност под 0,0 със стойност 0,0. Comport_AI ни помага да оценяваме и сравняваме подови модели чрез използването на четири вградени показателя:

  • Част от действителните цели, по-малки от долната граница (PATLTF) отразява дела на действителните целеви стойности, които са били по-ниски от тяхната прогнозирана минимална стойност.
  • Коригирано средно извън диапазона пропорционално разстояние под пода (AMORPDBF) е сложен показател, който отчита разстоянието, с което действителните целеви стойности са паднали под прогнозираната им стойност в тези случаи, когато са го направили . Той санкционира по-строго по-големи разстояния и по-голям брой случаи на действителни стойности, падащи под техния прогнозиран праг. Колкото по-голямо е числото, толкова по-малко ефективен е подовият модел.
  • Коригирано средно пропорционално разстояние над пода в обхват (AMIRPDAF) е сложен показател, който отчита разстоянието, с което действителните целеви стойности надвишават прогнозираната долна стойност, в случаите, когато са били по-големи от нея. Колкото по-голямо е числото, толкова по-малко ефективен е подовият модел.
  • Общата грешка на пода (OFE) е сумата от AMORPDBF и AMIRPDAF за даден модел на пода; предлага цялостна мярка за ефективността на таванния модел. При моделирането на диапазони на производителност нашата цел е да минимизираме този брой.

От 30 подови модела, генерирани в Comport_AI за този анализ, ще представим три тук. Първо, имаме долния модел, който прогнозира вероятния минимален праг за средната ефикасност на всеки работник през следващите 30 дни, като вземе предвидената целева стойност за всеки работник и извади MAE на модела:

След това имаме долния модел, който прогнозира вероятния минимален праг за всеки работник, като вземе предвидената целева стойност на работника и извади 1,0×SD, където SD е стандартното отклонение на историческите стойности на ефикасност на работника:

И накрая, имаме един от нашите по-усъвършенствани подови модели под формата на ANN с персонализирана функция на загуба, изчислена като:

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 модел е значително по-малка от тази на който и да е от по-конвенционалните модели на пода.

Следващата стъпка

Създадохме базирани на ANN тавани и подови модели, които — поне в някои ситуации — изглеждат способни да се представят по-добре от конвенционалните MAE- и SD-базирани методи при прогнозиране на вероятния таван и вероятния под на бъдещата работа на работника. Какво следва?

В третата и последна част от тази поредица ще комбинираме нашите таванни и подови модели, за да създадем съвместни интервали за прогнозиране — и ще оценим как съвместните модели на обхват, генерирани от нашите ANN модели, се сравняват с тези, получени от по-прости подходи, базирани на MAE и SD. Надявам се, че ще се присъедините към нас за Част 3 от поредицата!