曹 寧,王雨薇,高 瑩,徐根祺,任小文
(1.西安交通工程學(xué)院 土木工程學(xué)院,西安 710300;2.西京學(xué)院 土木工程學(xué)院,西安 710123;3.西安交通工程學(xué)院 電氣工程學(xué)院,西安 710300)
近幾十年以來,隨著科學(xué)技術(shù)的迅猛發(fā)展,服務(wù)行業(yè)(如電信、銀行、酒店、汽車等)的產(chǎn)業(yè)市場格局發(fā)生了地覆天翻的變化,各大公司對客戶的競爭亦愈演愈烈,客戶流失成為了每個公司關(guān)注的焦點[1].企業(yè)家們也已經(jīng)將減少老客戶流失作為公司的首要目標[2].客戶流失指某企業(yè)現(xiàn)有的客戶終止繼續(xù)購買其商品或服務(wù),轉(zhuǎn)而購買其競爭對手的商品或服務(wù)[3].在當下的商業(yè)競爭環(huán)境中,獲得新客戶的成本非常高,遠不如維持好老客戶所能夠獲得的收益[4].目前,電信公司的客戶流失率非常髙,有研究表明降低客戶流失率可以顯著增加公司利潤[5].因此,分析客戶流失的趨勢就顯得尤為重要.
目前的研究在預(yù)測客戶流失方面取得了較大的成就.客戶流失分析研究方法的選擇、數(shù)據(jù)不平衡等問題均得到了有效解決.學(xué)者們將客戶流失分析作為一種分類問題來研究,于是,有監(jiān)督的學(xué)習(xí)算法被大量地應(yīng)用于客戶流失分析,且取得了較好的效果.根據(jù)使用方法的不同,客戶流失分析的研究方法主要包括統(tǒng)計學(xué)[6]、人工智能[7]、集成學(xué)習(xí)[8]和社會網(wǎng)絡(luò)分析[9].但是,以上方法使得人們不得不在特征處理上花費大量的時間和精力,且預(yù)測效果也并非總是令人滿意[2].
為了獲取更加準確的預(yù)測結(jié)果,本文將灰色系統(tǒng)和Elman神經(jīng)網(wǎng)絡(luò)[10]相結(jié)合,提出一種新的電信公司客戶流失分析模型.首先采用傳統(tǒng)的單一GM(1,1)模型來挖掘客戶流失的規(guī)律,但是該方法在預(yù)測精度方面有所欠缺,與實際客戶流失的趨勢擬合度不高.而Elman 神經(jīng)網(wǎng)絡(luò)的預(yù)測精度高、誤差小,對非線性波動的跟蹤預(yù)測的能力強,現(xiàn)已在工農(nóng)商等多個領(lǐng)域得到廣泛應(yīng)用.因此,將GM(1,1)和Elman神經(jīng)網(wǎng)絡(luò)結(jié)合,能較大地提高客戶流失的預(yù)測效果.
在海量數(shù)據(jù)的背后,必定蘊含某種特定規(guī)律,生成的灰數(shù)能夠幫助我們獲得信息,揭示出這些規(guī)律,這就是著名的灰色系統(tǒng)理論.GM(1,1)為灰色理論模型的典型模型,被眾多研究者們應(yīng)用于不同的領(lǐng)域且均表現(xiàn)不俗.為了尋找預(yù)測所需的信息,需要在建模時對初始數(shù)據(jù)進行處理,去掉不合理的部分,使系統(tǒng)誤差盡可能地減小,以此改善預(yù)測準確度.GM(1,1)建模過程如下:
設(shè)原始數(shù)據(jù)為
X(0)=(X(0)(1),X(0)(2),…,X(0)(n))
(1)
對X(0)進行累加,得到新序列:
X(1)(t)=(X(1)(1),X(1)(2),…,X(1)(n))
(2)
利用最小二乘法估計參數(shù):
(3)
對得到的新序列求導(dǎo),可得GM(1,1)模型的公式:
(4)
對上式依次累減可到預(yù)測值.
(5)
令預(yù)測值與實際值之差為殘差,記為ε(0)(t).
使用GM(1,1)模型預(yù)測客戶流失的趨勢,然而僅用單一GM(1,1)模型進行預(yù)測會導(dǎo)致較大的誤差,故為了提高模型的精度,采用Elman算法對殘差進行修正.
Elman神經(jīng)網(wǎng)絡(luò)屬于經(jīng)典的局部回歸神經(jīng)網(wǎng)絡(luò).Elman神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)結(jié)構(gòu)上比前向神經(jīng)網(wǎng)絡(luò)多一個反饋層,因此對歷史數(shù)據(jù)比較敏感.Elman神經(jīng)網(wǎng)絡(luò)共由四層組成,分別為輸入層、反饋層、隱層和輸出層,其中反饋層與隱層的神經(jīng)元數(shù)目相同.輸入層神經(jīng)元用于數(shù)據(jù)序列的傳輸,反饋層可記憶隱層節(jié)點前一時刻的輸出并返回網(wǎng)絡(luò)輸入,隱層的傳遞函數(shù)一般選擇Sigmoid函數(shù),輸出層對處理結(jié)果進行線性加權(quán).通過Elman神經(jīng)網(wǎng)絡(luò)模型能夠較好地擬合多種因素對客戶流失的影響,從而作出準確預(yù)測.圖1為Elman神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖.
圖1 Elman神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
在k時刻的Elman神經(jīng)網(wǎng)絡(luò)可以描述為:
y(k)=g(ω1·x(k))
(6)
x(k)=f(ω3·z(k)+ω2·u(k-1))
(7)
z(k)=x(k-1)
(8)
其中,u為輸入向量(u∈Rr);y為網(wǎng)絡(luò)輸出向量(y∈Rm);x為隱層輸出向量(x∈Rn);z為狀態(tài)反饋向量(z∈Rn);g(·)為輸出層傳遞函數(shù),f(·)為隱層傳遞函數(shù);ω1分別為隱層至輸出層的連接權(quán)值;ω2為反饋層至隱層的連接權(quán)值;ω3為輸出層至隱層的連接權(quán)值.
用誤差平方和函數(shù)作為Elman神經(jīng)網(wǎng)絡(luò)的指標函數(shù),表達式如下:
(9)
構(gòu)建Elman 預(yù)測模型步驟如下:
(1)構(gòu)建網(wǎng)絡(luò),初始化模型,為每一層參數(shù)賦值;
(2)選擇訓(xùn)練模式,依據(jù)實際情況鍵入輸入和輸出方法;
(3)建立輸入方式后,從最初的隱層開始計算每個神經(jīng)網(wǎng)絡(luò)的輸出;
(4)從輸出層反向到第一隱層,修改每一個單元的連接權(quán)值.通過多次修正,最終得到理想的輸出結(jié)果;
(5)重復(fù)步驟(2)和(3),直至所有的樣本數(shù)據(jù)都被錄入且輸出預(yù)測值時停止.
數(shù)學(xué)模型如下:
傳遞函數(shù):f(x)=(1+e-x)-1
最終根據(jù)反向傳播,得到誤差平方和的最小值,修正公式為:
Δωi(1+j)(k+1)=(1-mc)η(tk-yk)g′(·)xj(k)+mcΔωi(1+j)(k)
(10)
(1)將擬合生成的數(shù)據(jù)殘差作為Elman動態(tài)神經(jīng)網(wǎng)絡(luò)模型的輸入,同時作為模型樣本進行訓(xùn)練.
(2)訓(xùn)練完成后,利用多步循環(huán)預(yù)測法對殘差進行調(diào)整、預(yù)測.
(3)最后,將灰色模型預(yù)測值和通過Elman模型對殘差修正后的預(yù)測值相加得到最終數(shù)值.
根據(jù)OSA算法基本原理,設(shè)有m個客戶屬性,用W表示客戶數(shù)據(jù)樣本空間,對W進行直和分解,分解為樣本容量相等的A和B,即W=A?B且A=B.由于電信公司客戶的數(shù)據(jù)相當龐大,不會對結(jié)論產(chǎn)生影響.A和B的客戶數(shù)據(jù)的長度為L.
P={1,2,…,m},Q={1,2,…,L}
(11)
對第i個客戶數(shù)據(jù)變量,利用最小二乘法在客戶數(shù)據(jù)樣本空間W上進行客戶數(shù)據(jù)參數(shù)估計,有
xi=a0+bx0,i∈P
(12)
采用最小二乘法對A和B進行參數(shù)估計,有
(13)
計算客戶數(shù)據(jù)的最小偏差準則值
(14)
對于xi,xj,…,xp,xr,i,j,…,r∈P,在樣本空間A和B上根據(jù)最小二乘法估計參數(shù),有
設(shè)客戶數(shù)據(jù)最小偏差準則為bestη=η*h,bestη相應(yīng)方程組變量為特征變量.這些特征變量所對應(yīng)的屬性變量,就是根據(jù)OSA選取的客戶屬性.
(1)通常都是以誤差形式對預(yù)測結(jié)果進行估計,但單一的指標往往并不科學(xué)也不可靠,因此本研究使用均方誤差(MSE)和均方根誤差(RMSE)兩種指標對模型的性能進行評價,定義如下:
(2)這里采用精準率(precision)、準確率(accuracy),F(xiàn)1值(F1)和召回率(recall)作為模型評判的主要指標,如下所示:
(15)
(16)
(17)
(18)
以上式子中,TP表示正確預(yù)測流失客戶的樣本個數(shù);TN表示正確預(yù)測非流失客戶的樣本個數(shù);FP表示錯誤預(yù)測流失客戶的樣本個數(shù);FN表示錯誤預(yù)測非流失客戶的樣本數(shù).
(1)通過各種渠道收集客戶行為數(shù)據(jù),確定初始屬性集合;
標準化等預(yù)處理過程.本研究選取A電信公司2018年1月至2020年6月的客戶數(shù)據(jù)作為初始數(shù)據(jù),采用如下標準化方法來剔除多因素間由于量綱不同而產(chǎn)生的差異:
X=x-xmin/xmax-xmin
(3)基于OSA算法對客戶關(guān)鍵屬性進行選取.
(4)將準備好的數(shù)據(jù)集輸入GM(1,1)模型,預(yù)測出人員流失變動的趨勢,再通過Elman模型對殘差進行修正,得出最終客戶流失情況.
模型結(jié)構(gòu)如圖2所示,分析流程如圖3所示.
圖2 GM-Elman客戶流失分析模型
圖3 GM-Elman客戶流失分析流程圖
根據(jù)所選取的數(shù)據(jù)進行客戶流失情況的分析,將本研究中所用模型與遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)(GA-BP)模型、支持向量機(SVM)模型以及卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型的結(jié)果進行對比,各模型的誤差如圖4所示.
圖4 四種模型誤差對比圖
圖4表明,在四種模型的誤差比較中,GM-Elman的誤差明顯低于其它模型的誤差,采用GM(1,1)與Elman神經(jīng)網(wǎng)絡(luò)相結(jié)合方法的結(jié)果要比實際客戶流失的變動曲線更加擬合.利用均方誤差根誤差(RMSE)和均方誤差(MSE)兩個指標進行衡量并對比分析,由表1可以看出,GM-Elman模型的預(yù)測結(jié)果相對應(yīng)的RMSE和MSE均為最小,同時相對于其它三種模型可靠性也最高.
表1 四種模型的RMSE和MSE數(shù)值表
為了比較直觀地分析各模型的性能,本節(jié)對各模型的AUC值進行對比分析,具體數(shù)值如表2所示.
表2 各模型AUC值比較
從表2可以看出,通過AUC值對四種模型的測試樣本進行對比,GA-BP、SVM及CNN的AUC值相對較低,一些樣本的預(yù)測準確率較低,還有待提高.對比之下,改進后的GM-Elman神經(jīng)網(wǎng)絡(luò)的AUC值基本在0.90以上,且改進后的算法準確性更好,應(yīng)用較好.
表3為各模型的實驗結(jié)果,其結(jié)果顯示改進后的GM-Elman神經(jīng)網(wǎng)絡(luò)的精準率為85.21%,F(xiàn)1值為77.33%,均比其它三種模型略高,而準確率為95.19%,比CNN、SVM和GA-BP分別高2.51%、3.58%和6.72,召回率為72.01%,分別高出CNN7.65%、SVM9.26%和GA-BP10.92%,該結(jié)果表明改進后的GM-Elman模型相比于其它三種模型能夠更有效地對客戶流失進行預(yù)測.
表3 四種模型實驗結(jié)果
通過對客戶流失分析模型的深入研究,基于灰色系統(tǒng)對Elman神經(jīng)網(wǎng)絡(luò)進行了改進,提出了GM-Elman神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并結(jié)合X電信公司的實際樣本數(shù)據(jù),分別和CNN模型、SVM模型及GA-BP模型進行了對比仿真驗證,結(jié)果顯示:GM-Elman預(yù)測模型在精準率、準確率、F1值和召回率方面均高于其它三種模型,該模型能夠幫助企業(yè)準確分析客戶流失的實際情況,為全面有效地開展客戶關(guān)系管理提供更好的決策支持.