(上海大學(xué) 悉尼工商學(xué)院,上海 200444)
隨著現(xiàn)代科技的不斷發(fā)展,企業(yè)所處的環(huán)境在不斷變化,企業(yè)本身也在不斷變化。在現(xiàn)代競(jìng)爭(zhēng)激烈的社會(huì)中,職工離職的現(xiàn)象越來(lái)越普遍。很多企業(yè)認(rèn)為員工流失所造成的成本只包括離職成本和招聘成本,卻忽視了職工離職引起的其他流動(dòng)成本,比如重要客戶(hù)的流失、商業(yè)機(jī)密的泄露、企業(yè)競(jìng)爭(zhēng)力的下降等。在如此情況下,公司的人力資源部門(mén)應(yīng)該如何減少職工的離職傾向,從而降低公司經(jīng)營(yíng)成本是極其具有現(xiàn)實(shí)意義的[1]。
國(guó)內(nèi)外學(xué)者對(duì)于職工的離職現(xiàn)象開(kāi)展了大量的研究工作[2-4],主要包括三大方向,即職工離職因素研究、降低職工離職率的措施研究和職工離職的預(yù)測(cè)研究。目前與本文研究方向類(lèi)似的,即關(guān)于職工離職預(yù)測(cè)的研究,主要是基于機(jī)器學(xué)習(xí)的方法,著眼于模型算法的比較和探討,忽視了對(duì)數(shù)據(jù)處理的研究。然而,目前一些比較成熟的機(jī)器學(xué)習(xí)模型算法,都對(duì)被處理的數(shù)據(jù)集合有一定要求,比如較好的完整性、較少的冗余性等。但現(xiàn)實(shí)海量數(shù)據(jù)中無(wú)意義的成分居多,嚴(yán)重影響了模型的性能和效果。因此,本文的重難點(diǎn)在于如何對(duì)原始數(shù)據(jù)提取并挖掘有效特征,突出數(shù)據(jù)預(yù)處理技巧對(duì)職工離職預(yù)測(cè)模型性能的影響,以彌補(bǔ)現(xiàn)有研究中對(duì)數(shù)據(jù)處理部分的忽視。
本文數(shù)據(jù)來(lái)自于IBM Watson Analytics 分析平臺(tái)分享的數(shù)據(jù),共1 470 條記錄,35 個(gè)字段信息。原始數(shù)據(jù)集描述的是影響員工流失的因素,對(duì)字段信息的詳細(xì)說(shuō)明如表1所示。
對(duì)各特征數(shù)據(jù)統(tǒng)計(jì)發(fā)現(xiàn),數(shù)據(jù)存在高度傾斜和一些無(wú)用的唯獨(dú)特征,還存在很多屬性變量等。因此,在建模之前需要對(duì)數(shù)據(jù)進(jìn)行處理[9]。
經(jīng)過(guò)統(tǒng)計(jì)分析發(fā)現(xiàn),數(shù)據(jù)集中存在兩個(gè)常量特征,它們是Over18 和StandardHours。數(shù)據(jù)集中還存在一個(gè)無(wú)關(guān)特征,即EmployeeNumber。顯而易見(jiàn),他們對(duì)模型決策來(lái)說(shuō)是無(wú)用的維度,為了模型計(jì)算更快,應(yīng)刪除這些變量。
3.2.1 新特征構(gòu)建
3.2.1.1 LM_Involved(是否為中低參與度)
通過(guò)對(duì)原數(shù)據(jù)中JobInvolvement 列的分析,發(fā)現(xiàn)工作參與度低的員工和工作參與度中等的員工的流失率相對(duì)較高。因此構(gòu)建新特征LM_Involved,該特征屬性值為0 和1。若員工的工作參與度為中或低,則該員工LM_Involved 特征取值為1,否則為0。
3.2.1.2 like_moving(是否熱衷換公司)→Time_in_each_comp_level(每家公司工作年數(shù))
通過(guò)生活經(jīng)驗(yàn)猜測(cè),有些員工頻繁跳槽是為了在不斷嘗試的過(guò)程中尋求最適合自己的工作?;诖?,構(gòu)建了like_moving 新特征。以工作過(guò)4 家公司為閾值,若員工工作過(guò)的公司超過(guò)4 家,則該員工被定義為熱衷換公司的人,該員工的like_moving 特征將被賦值為1,否則為0。
圖1 為新特征like_moving 與員工流失率關(guān)系圖。通過(guò)圖1 柱狀圖高度分析得出,熱衷換公司的員工流失率為0.21,非熱衷換公司的員工流失率為0.14%。0 類(lèi)與1 類(lèi)在流失率中的差距不顯著,猜想可能的原因是一些員工是由于自身工齡長(zhǎng)導(dǎo)致在很多家公司工作過(guò),并不是因他熱衷換公司。因此提出特征Time_in_each_comp,該特征的計(jì)算公式為(員工年齡-20)/(工作過(guò)的公司+1),得到該員工在每個(gè)公司工作的平均年數(shù),由此得到Time_in_each_comp。再對(duì)平均年數(shù)離散化,得到Time_in_each_comp_level。新特征Time_in_each_comp_level 的屬性值為0、1、2。若平均年數(shù)小于3 年,則Time_in_each_comp_level 取值為0;若平均年數(shù)小于12 年,則取值為1;其余為2。
表1 數(shù)據(jù)集字段描述
圖1 like_moving 與流失率關(guān)系圖
圖2 為新特征Time_in_each_comp_level 與員工流失率關(guān)系圖。
圖2 Time_in_each_comp_level 與流失率關(guān)系圖
從圖2 柱狀圖高度看出,平均年數(shù)小于3 年的員工的離職率是剩余員工的2 倍,具有區(qū)分度。
3.2.1.3 Total_satisfication(總體滿(mǎn)意度)&NotSatisfied(是否不滿(mǎn)意)
觀察原數(shù)據(jù)得出,滿(mǎn)意度分為Environment Satisfaction、Relationship Satisfaction、Job Satisfaction,即環(huán)境滿(mǎn)意度、關(guān)系滿(mǎn)意度和工作滿(mǎn)意度。而與員工滿(mǎn)意度相關(guān)的因素還有WorkLifeBalance 和JobInvolvement。員工參與度過(guò)低說(shuō)明該員工對(duì)工作沒(méi)有熱情,也是總體滿(mǎn)意度的一方面。有時(shí)候某一方面的滿(mǎn)意度低但總體滿(mǎn)意度高并不會(huì)導(dǎo)致員工離職,因此計(jì)算總體滿(mǎn)意度更為合適。Total_satisfication(總體滿(mǎn)意度)計(jì)算公式為:
同時(shí)構(gòu)建新特征Not Satisfied,該特征屬性值為0 和1。若員工的平均滿(mǎn)意度小于2.5,則該員工NotSatisfied 特征取值為1,否則為0。圖3 為新特征NotSatisfied 與員工流失率關(guān)系圖。
圖3 NotSatisfied 與流失率關(guān)系圖
從圖3 看出,總體不滿(mǎn)意的員工的流失率超過(guò)0.3,而總體滿(mǎn)意的員工離流失不到0.15,差了2 倍之多。
3.2.1.4 LongDistance&ImBance(是否由工作距離導(dǎo)致的生活工作不平衡)
通過(guò)對(duì)原數(shù)據(jù)中DistanceFromHome 列的分析,發(fā)現(xiàn)距離的遠(yuǎn)近和員工流失率并沒(méi)有明顯關(guān)系。但根據(jù)生活經(jīng)驗(yàn),通過(guò)同時(shí)考慮DistanceFromHome 特征和WorkLifeBalance特征,來(lái)識(shí)別出那些因?yàn)楣ぷ骶嚯x導(dǎo)致家庭生活不能平衡的員工。新特征LongDistance&ImBance 的屬性值為0 和1,若員工的 DistanceFromHome 特征大于 11 且員工WorkLifeBalance 特征為low,則該員工LongDistance&ImBance 特征值為1,否則為0。
圖4 為新特征LongDistance&ImBance 與員工流失率關(guān)系圖。
圖4 LongDistance&ImBance 與流失率關(guān)系圖
從圖4 看出,由距離遠(yuǎn)導(dǎo)致工作生活無(wú)法平衡的員工的流失率是剩余員工的2 倍之多。
3.2.1.5 LongDistance_&_joblevel1(是否是工作距離遠(yuǎn)且職位級(jí)別低的人)
從對(duì)原數(shù)據(jù)的分析來(lái)看,單純的職位級(jí)別特征和工作距離特征對(duì)于員工的流失沒(méi)有特定關(guān)系。但根據(jù)生活經(jīng)驗(yàn),如果一個(gè)人的職位很高,那他會(huì)舍不得放棄摸爬滾打了幾十年才得來(lái)的高職位,哪怕工作路途遙遠(yuǎn)。而當(dāng)一個(gè)員工級(jí)別很低,他離職的機(jī)會(huì)成本也比較低。那他為何不找一份距離近的工作?因此,新特征LongDistance_&_joblevel1 的屬性值為0 和1,若員工的DistanceFromHome 特征大于11 且員工joblevel 特征為1,則該員工LongDistance_&_joblevel1 特征值為1,否則為0。
圖5 為新特征LongDistance_&_joblevel1 與員工流失率關(guān)系圖。
圖5 LongDistance_&_joblevel1 與流失率關(guān)系圖
從圖5 看出,職位級(jí)別低且工作距離遠(yuǎn)的員工的流失率是其余員工的2 倍之多。
3.2.1.6 LongDistance_&_Singl(e是否是工作距離遠(yuǎn)且單身的人)
通過(guò)對(duì)原數(shù)據(jù)中MaritalStatus 列的分析,發(fā)現(xiàn)在所有離職的員工中,單身的員工占了最大比例。因此,再根據(jù)生活經(jīng)驗(yàn),單身的人不用承擔(dān)養(yǎng)家糊口的壓力,他們的試錯(cuò)成本比較低。若他的工作單位距離較遠(yuǎn),那他有充分理由去嘗試一家離家近的公司,因此這類(lèi)人的流失率比較高。新特征LongDistance_&_Single 的屬性值為0 和1,若員工的DistanceFromHome 特征大于11 且員工MaritalStatus 特征為Single,則該員工LongDistance_&_Single 特征值為1,否則為0。
圖6 為新特征LongDistance_&_Single 與員工流失率關(guān)系圖。
圖6 LongDistance_&_Single 與流失率關(guān)系圖
從圖6 看出,單身且工作距離遠(yuǎn)的的員工的流失率是其余員工的2 倍之多。
3.2.1.7 Young_&_Badpay(是否年輕且收入低)
根據(jù)經(jīng)驗(yàn),剛?cè)肼殘?chǎng)的年輕人往往敢于嘗試,且對(duì)收入的期望值很高。但由于剛剛開(kāi)始工作,薪水無(wú)法一下子滿(mǎn)足他們的期待,于是年輕員工就流失了,去尋求更令他們滿(mǎn)意的發(fā)展。新特征Young_&_Badpay 的屬性值為0 和1,若員工的Age 特征小于24 且員工MonthlyIncome 特征小于3 500,則該員工Young_&_Badpay 特征值為1,否則為0。
圖7 為新特征Young_&_Badpay 與員工流失率關(guān)系圖。
從圖7 看出,年輕且收入低的員工的流失率大約在0.35,而其余員工流失率在0.1 左右,差距顯著。
圖7 Young_&_Badpay 與流失率關(guān)系圖
3.2.1.8 MonthlyIncome_level(工資水平)
原始數(shù)據(jù)MonthlyIncome 列的數(shù)值眾多,因此想到對(duì)MonthlyIncome 列離散化,構(gòu)成新特征MonthlyIncome_level。新特征MonthlyIncome_level 的屬性值為0、1 和2,若員工的MonthlyIncome 小于3 725(3 725 為第一四分位數(shù)),則該員工MonthlyIncome_level 特征值為0;若員工的MonthlyIncome 小于11 250(11 250 為第三四分位數(shù)),則該員工MonthlyIncome_level 特征值為1;其余為2。
圖8 為新特征MonthlyIncome_level 與員工流失率關(guān)系圖。
圖8 MonthlyIncome_level 與流失率關(guān)系圖
從圖8 看出,處在低收入檔的員工的流失率是其余員工的2 倍之多。
3.2.1.9 Income_Distance(收入的距離代價(jià))
新特征Income_Distance 所代表的含義是,掙得一元錢(qián)所需要付出的上班距離代價(jià),因?yàn)榫嚯x的遠(yuǎn)近可以看作另一種成本(包括交通成本、時(shí)間成本等)。
Income_Distance 的計(jì)算公式是(MonthlyIncome)/(DistanceFromHome),之后再對(duì)得到的值離散化。根據(jù)經(jīng)驗(yàn),(MonthlyIncome)/(DistanceFromHome)值越大,員工流失率越低。新特征Income_Distance_level 的屬性值為0、1、2 和3,若員工的Income_Distance 小于420(420 為0.3分位數(shù)),則該員工Income_Distance_level 特征值為0;若員工的Income_Distance 小于1 200(1 200 為二分位數(shù)),則該員 工Income_Distance_level特征值為1 ;若員工的Income_Distance 小于2 700(2 700 為0.8 分位數(shù)),則該員工Income_Distance_level 特征值為2;其余為3。
3.2.1.10 Income_YearsComp(收入的時(shí)間代價(jià))
同理,新特征Income_YearsComp 所代表的含義是,掙得一元錢(qián)所需要付出的工齡代價(jià),因?yàn)闀r(shí)間成本也是重要的考量因素。Income_YearsComp 的計(jì)算公式是(MonthlyIncome)/(YearsAtCompany)。根據(jù)經(jīng)驗(yàn),(MonthlyIncome)/(YearsAtCompany)值越大,員工流失率越低。
3.2.1.11 Stability(穩(wěn)固性)
根據(jù)經(jīng)驗(yàn),有些員工在公司的年數(shù)已經(jīng)很長(zhǎng)了,但是總是在崗位之中換來(lái)?yè)Q去,因?yàn)樵搯T工在大部分崗位都無(wú)法按要求完成工作,但公司卻不能把他辭退,只能讓他不停嘗試新崗位,直到找到一個(gè)合適的崗位。而有些人在短時(shí)間內(nèi)就找到了自己擅長(zhǎng)的崗位,并長(zhǎng)期做了下去。顯然,后者的流失率會(huì)更低。因此,新特征 Stability 的公式為YearsInCurrentRole/YearsAtCompany。
3.2.1.12 Fidelity(忠誠(chéng)性)
新特征 Fidelity 公式為 NumCompaniesWorked/TotalWorkingYears。該值越小,代表該員工越忠誠(chéng),流失的概率也越小。
3.2.1.13 Has_stock(是否持股)
根據(jù)經(jīng)驗(yàn),有些公司為了激勵(lì)員工,會(huì)贈(zèng)送股權(quán),這是一種將員工利益與公司利益捆綁的手段。原數(shù)據(jù)中StockOptionLevel 代表持股等級(jí),但筆者認(rèn)為是否持股才是決定員工流失的關(guān)鍵因素,不論持股的數(shù)量是多少。因此,構(gòu)建新特征Has_stock,該新特征的屬性值為0 和1,0 代表員工沒(méi)有股權(quán),1 代表員工有股權(quán)。
圖9 為新特征Has_stock 與員工流失率關(guān)系圖。
圖9 Has_stock 與流失率關(guān)系圖
從圖9 看出,未持有股份的員工的流失率是持有股份員工的2 倍之多。
3.2.1.14 cluster_result(聚類(lèi)結(jié)果)
最后根據(jù) KMeans 聚類(lèi)結(jié)果增加了新特征cluster_result[5]。KMeans 中k取值(即聚類(lèi)數(shù))的設(shè)定是通過(guò)循環(huán)的方式得到。當(dāng)k=2 時(shí),聚類(lèi)模型的輪廓系數(shù)最高。因此,將該聚類(lèi)標(biāo)簽作為新特征。
3.2.2 特征相關(guān)性分析及篩選
原始數(shù)據(jù)的特征有31 個(gè),除去3 個(gè)無(wú)用特征之后,又經(jīng)過(guò)挖掘加入的新特征有15 個(gè)。表2 是部分特征與標(biāo)簽列Attrition 的相關(guān)性排序(羅列前十位和后五位)。從中看出,新增加的特征 Young_&_Badpay、Fidelity、MonthlyIncome_level、Has_stock、Total_satisfication、NotSatisfied、Time_in_each_comp_level等都與標(biāo)簽列Attrition 密切相關(guān),因此新特征的挖掘是有效的。
表2 部分特征與標(biāo)簽列Attrition 的相關(guān)性排序(前十位和后五位)
根據(jù)表2 刪除一些排名倒數(shù),對(duì)標(biāo)簽列貢獻(xiàn)度小的特征,刪除標(biāo)準(zhǔn)是該特征與標(biāo)簽列Attrition 的相關(guān)性小于0.05(即 Income_YearsComp、PerformanceRating、PercentSalaryHike、Education、YearsSinceLastPromotion、NumCompaniesWorked、RelationshipSatisfaction)。
基于此,本文對(duì)經(jīng)上述處理后的數(shù)據(jù)采用get_dummies方法對(duì)離散型數(shù)據(jù)進(jìn)行獨(dú)熱編碼,如Gender、JobRole 等。采用one-hot 編碼后,一方面可以使樣本之間能夠直接進(jìn)行距離的計(jì)算,另一方面能夠擴(kuò)充樣本特征的數(shù)目。
為消除數(shù)據(jù)中各指標(biāo)之間的量綱和取值范圍差異的影響,采用歸一化對(duì)Age、MonthlyIncome、Stability、Fidelity、DistanceFromHome 等特征進(jìn)行線性變換,將數(shù)值映射到[0,1]區(qū)間。
樣本不平衡是指數(shù)據(jù)集中各個(gè)類(lèi)別分布不平衡,某一類(lèi)別的樣本個(gè)數(shù)遠(yuǎn)少于其他類(lèi)別。絕大多數(shù)機(jī)器學(xué)習(xí)方法對(duì)不平衡的數(shù)據(jù)集都沒(méi)有很好的預(yù)測(cè)效果。在本文的數(shù)據(jù)集中,流失樣本237 個(gè),占總樣本的16.1%,未流失的樣本為1 233個(gè),占總樣本的83.9%。流失的個(gè)數(shù)遠(yuǎn)小于未流失的個(gè)數(shù),因此在建立模型之前,需要對(duì)數(shù)據(jù)進(jìn)行樣本不平衡處理。
一般處理數(shù)據(jù)不平衡的方法有上采樣、下采樣。由于本文的數(shù)據(jù)集相對(duì)較小,因此采用上采樣的方法處理數(shù)據(jù)不平衡。表3 為針對(duì)同一處理后的數(shù)據(jù),在決策樹(shù)模型下,通過(guò)不同采樣方式得到的準(zhǔn)確率、精確率、召回率和F1 值。可以看出,隨機(jī)上采樣法對(duì)本文數(shù)據(jù)集處理效果最優(yōu)。
表3 不同采樣方式的比較
在開(kāi)始訓(xùn)練模型之前,把數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,用來(lái)檢驗(yàn)?zāi)P偷姆夯芰?。本文選取80%的數(shù)據(jù)作為訓(xùn)練集,20%的數(shù)據(jù)作為測(cè)試集?;跊Q策樹(shù)、支持向量機(jī)、隨機(jī)森林和LightGBM 算法,分別在訓(xùn)練集進(jìn)行模型訓(xùn)練,后在測(cè)試集上進(jìn)行結(jié)果預(yù)測(cè)。
表4 是將平衡之后的樣本代入機(jī)器學(xué)習(xí)模型中訓(xùn)練的結(jié)果。其中用到的模型有決策樹(shù)、支持向量機(jī)、隨機(jī)森林和LightGBM。
表4 模型結(jié)果對(duì)比分析
整體而言,雖然集成模型以花費(fèi)更多時(shí)間為代價(jià),但其預(yù)測(cè)性能較單模型而言更優(yōu)[6]。就集成模型比較來(lái)看,LGBM總體預(yù)測(cè)效果最好,在測(cè)試集上達(dá)到97%的準(zhǔn)確率。除此以外,還嘗試基于集成學(xué)習(xí)的stacking 方式構(gòu)建以LGBM 和SVC 為基學(xué)習(xí)器,邏輯回歸為二層學(xué)習(xí)器的LSL(LGBM-SVC-Logistic)模型。從訓(xùn)練結(jié)果看,LSL(LGBM-SVC-Logistic)模型在準(zhǔn)確率、精確率、召回率和F1 值上的表現(xiàn)僅與單個(gè)LGBM 模型相持平。因此考慮到集成學(xué)習(xí)stacking 的時(shí)間成本,且未帶來(lái)更優(yōu)的模型表現(xiàn),遂放棄stacking 集成算法。
對(duì)LGBM 模型預(yù)測(cè)結(jié)果進(jìn)一步分析,將輸入模型的特征進(jìn)行重要性排序,得到與員工流失傾向相關(guān)的主要因素。最具影響力的流失因素重要性排序如圖10 所示,影響流失的主要因素為月收入、收入的距離代價(jià)、在每個(gè)公司工作年數(shù)、年齡、總體滿(mǎn)意度等。在這最重要的10 個(gè)因素中,本文所構(gòu)建的新特征排在第二、三、五、七、八位,以此可以推斷新構(gòu)建的特征是有效的。而對(duì)于企業(yè)決策者來(lái)說(shuō),可以根據(jù)這些重要的影響因素制訂相關(guān)的政策,如:①制訂合理的薪酬制度,提高員工相應(yīng)的收入,激發(fā)員工的工作積極性,以保證為企業(yè)發(fā)展貢獻(xiàn)力量[7];②對(duì)于一些距離企業(yè)遠(yuǎn)的員工,給與他們更多交通費(fèi)上的支持,或者允許路途遙遠(yuǎn)的員工遠(yuǎn)程上班;③對(duì)于那些在每個(gè)公司都停留時(shí)間不長(zhǎng)的員工,給予他們更多的關(guān)心和人格需求的關(guān)注,讓他們?cè)贗BM公司感到足夠的安全感,并愿意長(zhǎng)期在IBM 公司工作。
圖10 特征重要性排序圖
員工的流失對(duì)于企業(yè)來(lái)說(shuō),不論是財(cái)務(wù)還是非財(cái)務(wù)方面,都會(huì)產(chǎn)生較大負(fù)面影響。因此如何降低員工流失率、保留住高效員工已經(jīng)成為了人力資源部門(mén)面臨的最棘手的問(wèn)題。因此,本文根據(jù)IBM Watson Analytics 分析平臺(tái)上分享的員工流失數(shù)據(jù)進(jìn)行實(shí)證分析,著重于數(shù)據(jù)預(yù)處理中的特征挖掘來(lái)對(duì)員工的流失情況進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)結(jié)果顯示,新特征的挖掘?qū)τ谀P偷木忍嵘休^大幫助,模型的預(yù)測(cè)準(zhǔn)確率為0.97。同時(shí),本文識(shí)別出了影響員工流失的重要因素,其中包含薪酬、職位穩(wěn)定性、員工忠誠(chéng)性等,企業(yè)可以根據(jù)以上關(guān)鍵因素采取有效措施避免企業(yè)人才流失。同時(shí),本文還存在一定的不足,在未來(lái)的研究中,可以通過(guò)調(diào)整不同的參數(shù)組合,獲取精確度更高的模型。