李天舉,謝志峰,張侃弘,陶亦筠,范 杰,湯 臻
(1.上海大學(xué),上海 200072; 2.上海煙草集團(tuán)有限責(zé)任公司,上海 200082; 3.上海市煙草專(zhuān)賣(mài)局,上海 200120)
隨著數(shù)字化信息時(shí)代的到來(lái),煙草行業(yè)數(shù)據(jù)量正在以驚人的速度快速增長(zhǎng),這種數(shù)字化趨勢(shì)為機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘技術(shù)在其生產(chǎn)、物流、監(jiān)管等各方面的應(yīng)用創(chuàng)造了新機(jī)遇[1-3]。數(shù)據(jù)挖掘技術(shù)已經(jīng)逐漸地應(yīng)用于各行各業(yè),對(duì)異常數(shù)據(jù)的挖掘也開(kāi)始得到人們更多的重視,所謂異常指的是在海量數(shù)據(jù)中存在著與一般數(shù)據(jù)形式相差較大或者與正常行為相左的數(shù)據(jù)對(duì)象,一般的數(shù)據(jù)挖掘過(guò)程常常將這些數(shù)據(jù)當(dāng)作噪聲進(jìn)行清除處理,但大多時(shí)候它們可能包含了解決現(xiàn)實(shí)問(wèn)題中極其重要的信息。異常數(shù)據(jù)挖掘技術(shù)已在模式識(shí)別、信用欺詐、企業(yè)監(jiān)管等領(lǐng)域得到廣泛應(yīng)用。比如在金融行業(yè)的征信系統(tǒng)中,異常數(shù)據(jù)往往代表了用戶存在違約、造假等不良行為;在電網(wǎng)系統(tǒng)中,異常數(shù)據(jù)通常警示設(shè)備故障問(wèn)題或者用戶的異常用電的行為;在城市軌道安防系統(tǒng)中,異常數(shù)據(jù)意味著行人或車(chē)輛存在違章行為。在這樣的背景下,面向煙草行業(yè)的異常數(shù)據(jù)挖掘技術(shù)有望從海量的煙草數(shù)據(jù)中,提取挖掘出零售戶在卷煙經(jīng)營(yíng)中是否存在涉煙違法的行為。數(shù)據(jù)挖掘技術(shù)的應(yīng)用將有效推進(jìn)整個(gè)煙草行業(yè)向信息化、智能化方向發(fā)展。
基于數(shù)據(jù)挖掘的市場(chǎng)異常預(yù)警預(yù)測(cè)研究,能夠進(jìn)一步加強(qiáng)煙草零售市場(chǎng)監(jiān)管力度,有效限制零售戶的涉煙違法行為,合理分配稽查工作中的人員調(diào)度,有效凈化卷煙市場(chǎng)經(jīng)營(yíng)環(huán)境。在煙草專(zhuān)賣(mài)市場(chǎng)監(jiān)管方面,異常數(shù)據(jù)挖掘的任務(wù)就是在專(zhuān)賣(mài)監(jiān)管數(shù)據(jù)中發(fā)現(xiàn)那些有違規(guī)經(jīng)營(yíng)跡象的數(shù)據(jù)對(duì)象,并找到隱藏在這些對(duì)象背后的各類(lèi)違規(guī)經(jīng)營(yíng)情況。通過(guò)深入挖掘分析現(xiàn)有的煙草專(zhuān)賣(mài)信息數(shù)據(jù),能夠有效結(jié)合現(xiàn)有市場(chǎng)監(jiān)管模式,加快煙草專(zhuān)賣(mài)管理方式的信息化轉(zhuǎn)變,加強(qiáng)對(duì)重點(diǎn)涉煙違法行為的治理,提升市場(chǎng)監(jiān)管的精準(zhǔn)性。
目前將前沿的機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘技術(shù)應(yīng)用于煙草專(zhuān)賣(mài)市場(chǎng)監(jiān)管方面的研究稍顯不足,但在其他領(lǐng)域的相關(guān)研究為筆者提供了寶貴的經(jīng)驗(yàn)。文獻(xiàn)[4]將機(jī)器學(xué)習(xí)技術(shù)運(yùn)用于發(fā)布虛假財(cái)務(wù)報(bào)表(FFS)公司的異常行為檢測(cè)中,通過(guò)使用優(yōu)化的Stacking多模型融合方法將典型的機(jī)器學(xué)習(xí)算法組合在一起,取得了比任何單一算法和經(jīng)過(guò)檢驗(yàn)的簡(jiǎn)單集成方法更好的檢測(cè)性能。文獻(xiàn)[5]利用XGBoost機(jī)器學(xué)習(xí)算法,能夠?qū)υ朴?jì)算中SDN控制器易受到分布式拒絕服務(wù)(DDoS)的異常攻擊行為進(jìn)行快速的檢測(cè)。文獻(xiàn)[6]通過(guò)使用基于功能樹(shù)分類(lèi)器和三種當(dāng)前比較先進(jìn)的機(jī)器學(xué)習(xí)集成框架Bagging、AdaBoost和MultiBoost,提出并驗(yàn)證了一種能夠提高滑坡異常和敏感性模型預(yù)測(cè)性能的集成方法。文獻(xiàn)[7]將前沿的機(jī)器學(xué)習(xí)LightGBM算法應(yīng)用于廣告轉(zhuǎn)化率預(yù)估中,通過(guò)LightGBM模型提取廣告日志中的高階組合特征,并結(jié)合了區(qū)域因子分解機(jī)FFM模型對(duì)稀疏數(shù)據(jù)進(jìn)行相應(yīng)處理,有效提高了廣告轉(zhuǎn)化率預(yù)估模型的有效性和泛化能力。文獻(xiàn)[8]提出的深度網(wǎng)絡(luò)xDeepFM算法,能夠有效地自動(dòng)學(xué)習(xí)數(shù)據(jù)的特征交互。
該文基于上海市卷煙經(jīng)營(yíng)零售戶從2016年1月到2019年4月的煙草專(zhuān)賣(mài)相關(guān)數(shù)據(jù),提出了基于多模型Stacking集成學(xué)習(xí)的煙草異常數(shù)據(jù)挖掘模型,旨在利用前沿的機(jī)器學(xué)習(xí)算法XGBoost、LightGBM等,以及深度學(xué)習(xí)網(wǎng)絡(luò)xDeepFM算法對(duì)該數(shù)據(jù)進(jìn)行建模預(yù)測(cè)和分析,最終推動(dòng)煙草專(zhuān)賣(mài)市場(chǎng)監(jiān)管方式的轉(zhuǎn)型,進(jìn)而促進(jìn)全市煙草市場(chǎng)監(jiān)管水平的大幅提升。
選取了上海市4萬(wàn)多家零售戶從2016年1月-2019年4月的煙草專(zhuān)賣(mài)相關(guān)數(shù)據(jù),基礎(chǔ)數(shù)據(jù)主要包括:經(jīng)營(yíng)戶靜態(tài)數(shù)據(jù)、客戶歷史數(shù)據(jù)、訂貨數(shù)據(jù)、卷煙主數(shù)據(jù)、市場(chǎng)檢查數(shù)據(jù)、投訴舉報(bào)數(shù)據(jù)、案件數(shù)據(jù)等。
影響數(shù)據(jù)分析與挖掘的第一要素是數(shù)據(jù)的預(yù)處理工作,而數(shù)據(jù)挖掘技術(shù)的合理運(yùn)用是異常數(shù)據(jù)檢測(cè)能否正確運(yùn)行的核心環(huán)節(jié)。在對(duì)數(shù)據(jù)進(jìn)行預(yù)處理之后,必須結(jié)合有效的分析手段,才能找出數(shù)據(jù)的規(guī)律,從而挖掘出異常經(jīng)營(yíng)行為。通過(guò)對(duì)煙草市場(chǎng)監(jiān)管數(shù)據(jù)的深入分析,發(fā)現(xiàn)大部分的數(shù)據(jù)屬于結(jié)構(gòu)化數(shù)據(jù),其中主要包含了連續(xù)和離散兩種形式的變量類(lèi)型,這兩種類(lèi)型數(shù)據(jù)相對(duì)應(yīng)的處理方式明顯不同,因此,如何快速有效地實(shí)現(xiàn)復(fù)雜條件下結(jié)構(gòu)化數(shù)據(jù)的分析與挖掘尤為重要。針對(duì)煙草行業(yè)中的海量、多維、動(dòng)態(tài)數(shù)據(jù),分析煙草結(jié)構(gòu)化數(shù)據(jù)的特點(diǎn),從營(yíng)銷(xiāo)、物流、市場(chǎng)監(jiān)管、案件等多個(gè)維度進(jìn)行分析,梳理形成靜態(tài)特征指標(biāo)與動(dòng)態(tài)特征指標(biāo)。部分特征分類(lèi)如表1所示。
表1 部分特征分類(lèi)
在數(shù)據(jù)預(yù)處理階段,需要對(duì)類(lèi)別數(shù)據(jù)進(jìn)行編碼,比如:訂貨方式包括POS訂貨、電話訂貨、電子商務(wù)、手工訂貨、網(wǎng)上配貨等,需要將其轉(zhuǎn)為數(shù)值型數(shù)據(jù)進(jìn)行處理。對(duì)數(shù)據(jù)的編碼往往會(huì)影響到模型訓(xùn)練的速度和預(yù)測(cè)的結(jié)果,所以如何合理選擇數(shù)據(jù)的編碼方式十分重要。常見(jiàn)的編碼方式有獨(dú)熱編碼(one-hot encoding)、標(biāo)簽編碼(label encoding)和實(shí)體嵌入(embedding)。
(1)one-hot編碼,其基本思想是使用位寄存器對(duì)類(lèi)別數(shù)據(jù)的N種類(lèi)別狀態(tài)分別編碼,每個(gè)類(lèi)別狀態(tài)占用其中的一位,且每種狀態(tài)只有一個(gè)位置是1,其他狀態(tài)位置都為0。例如,“POS訂貨”編碼后的形式為[0 0 0 0 1],“電話訂貨”編碼后的形式為[0 0 0 1 0],“電子商務(wù)”編碼后的形式為[0 0 1 0 0],“手工訂貨”編碼后的形式為[0 1 0 0 0],“網(wǎng)上配貨”編碼后的形式為[1 0 0 0 0]。
(2)標(biāo)簽編碼:給每種類(lèi)別分配整數(shù),例如“POS訂貨”為1,“電話訂貨”為2,“電子商務(wù)”為3,“手工訂貨”為4、“網(wǎng)上配貨”為5。由于連續(xù)的數(shù)字代表著數(shù)字之間的先后順序,要盡量避免將其使用在線性模型中,而基于樹(shù)的算法模型則不受這種數(shù)值順序的限制。
(3)采用實(shí)體嵌入方式可以將類(lèi)別數(shù)據(jù)用向量來(lái)表示,生成高維數(shù)據(jù)在高維空間體現(xiàn)它們的相互關(guān)聯(lián)。一般多用于深度神經(jīng)網(wǎng)絡(luò)算法模型中。
通過(guò)觀察樣本發(fā)現(xiàn),大多數(shù)類(lèi)別數(shù)據(jù)在5個(gè)類(lèi)別以下,所以選擇使用one-hot編碼對(duì)類(lèi)別數(shù)據(jù)進(jìn)行編碼,一方面防止標(biāo)簽編碼帶來(lái)的賦值順序問(wèn)題,另一方面又可以同時(shí)適用于機(jī)器學(xué)習(xí)算法和深度神經(jīng)網(wǎng)絡(luò)算法。最后,由于原始數(shù)據(jù)中還存在一些比較臟、亂、差的數(shù)據(jù),還需要對(duì)其進(jìn)行大量清洗,比如經(jīng)營(yíng)面積數(shù)據(jù)存在大量不合理數(shù)值,而經(jīng)營(yíng)面積代碼則是以類(lèi)別A、B、C、D來(lái)表示,則提取特征時(shí)就去掉經(jīng)營(yíng)面積數(shù)值型數(shù)據(jù),轉(zhuǎn)而用類(lèi)別型數(shù)據(jù)代替。大戶類(lèi)別數(shù)據(jù)中只包含空值和其他大戶類(lèi)別,那么這一特征數(shù)據(jù)全是無(wú)用信息,則無(wú)需進(jìn)入模型。零售戶的檔位信息存在缺失值,處理方式是按當(dāng)前時(shí)間點(diǎn)往前最近的一次檔位進(jìn)行填補(bǔ)。通過(guò)數(shù)據(jù)預(yù)處理和特征工程提取之后,最終進(jìn)入模型的一共有244個(gè)特征(指標(biāo))。
XGBoost(extreme gradient boosting,極端梯度提升算法[9]),是一種基于CART樹(shù)的boosting算法,高效地實(shí)現(xiàn)了GBDT算法,并進(jìn)行了算法和工程上的許多改進(jìn)。
XGBoost模型的目標(biāo)函數(shù)主要包含兩個(gè)部分:
(1)
XGBoost模型每次訓(xùn)練一棵新的樹(shù)都要擬合上一次結(jié)果的殘差,每次增加的函數(shù)的增量要使新一輪的殘差盡可能減小,在進(jìn)行到第t次時(shí),模型的目標(biāo)函數(shù)可以寫(xiě)為:
(2)
模型訓(xùn)練的最終目標(biāo)是要找到一個(gè)能夠最小化目標(biāo)函數(shù)的ft(xi),對(duì)式(2)采用其在x=0處的泰勒二階展開(kāi)式來(lái)近似,近似的目標(biāo)函數(shù)為:
Ω(ft)
(3)
去掉不影響目標(biāo)函數(shù)最終優(yōu)化的項(xiàng),可簡(jiǎn)化為:
(4)
LightGBM算法主要使用了基于梯度的單邊采樣和互斥特征捆綁這兩種方法來(lái)彌補(bǔ)傳統(tǒng)Boosting在處理大數(shù)據(jù)樣本時(shí)的計(jì)算損耗問(wèn)題[10]。
模型在訓(xùn)練時(shí)首先采用基于梯度的單邊采樣(簡(jiǎn)稱(chēng)GOSS),計(jì)算梯度時(shí)不再是掃描全部的樣本點(diǎn),而是保留梯度比較大的一小部分樣本數(shù)據(jù),對(duì)梯度小的大多數(shù)樣本進(jìn)行隨機(jī)采樣;而互斥特征捆綁(簡(jiǎn)稱(chēng)EFB)主要依據(jù)高維數(shù)據(jù)的稀疏性,主要特點(diǎn)是存在很多特征不會(huì)同時(shí)取值為非零值,稱(chēng)具有這樣的性質(zhì)的特征為互斥特征,將這些特征組合在一起可以達(dá)到降低特征維度的目的,使得確定切分點(diǎn)的計(jì)算損耗減少,同時(shí)對(duì)互斥特征的處理也在一定程度上降低了模型過(guò)擬合的風(fēng)險(xiǎn)。
對(duì)于預(yù)測(cè)性的模型來(lái)說(shuō),如何讓模型自動(dòng)地去學(xué)習(xí)特征之間的交叉特性對(duì)數(shù)據(jù)挖掘系統(tǒng)是特別必要的。所謂特征之間的交叉特性也稱(chēng)之為交叉特征[11],是指兩個(gè)及兩個(gè)以上的特征進(jìn)行組合形成一個(gè)新的特征。深度神經(jīng)學(xué)習(xí)網(wǎng)絡(luò)為解決這一問(wèn)題提供了突破口,比如基于因子分解機(jī)的FNN、PNN和DeepFM等深度神經(jīng)網(wǎng)絡(luò)算法[12-14],對(duì)特征之間的高階交互特性的學(xué)習(xí)使用了多層的全連接網(wǎng)絡(luò),但是這些網(wǎng)絡(luò)的缺點(diǎn)是模型學(xué)習(xí)出的是隱式的交叉特征,使得其具體形式是未知的和不可控的。為了挖掘不同交叉特征之間的潛在聯(lián)系,該文引入xDeepFM(極深因子分解機(jī))深度神經(jīng)網(wǎng)絡(luò)模型[8],來(lái)讓模型自動(dòng)地去學(xué)習(xí)特征之間的交叉特性。其基本結(jié)構(gòu)如圖1所示。
xDeepFM算法首先把數(shù)據(jù)集的原始特征中每個(gè)one-hot編碼后的特征組成一個(gè)field,用來(lái)克服數(shù)據(jù)的稀疏性;然后進(jìn)行embedding轉(zhuǎn)換使特征表現(xiàn)為向量級(jí);接著將數(shù)據(jù)送入壓縮交互網(wǎng)絡(luò)CIN模型中,使得模型以顯示的方式自動(dòng)學(xué)習(xí)高階的交互特征,CIN每層的神經(jīng)元都是由原始特征向量和它前面的隱層計(jì)算而來(lái),即:
圖1 xDeepFM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
(5)
其中,Xo為數(shù)據(jù)的原始特征,Xk為CIN神經(jīng)網(wǎng)絡(luò)中的隱層,點(diǎn)乘的計(jì)算為:
(6)
同時(shí)xDeepFM模型中還分別包含了集成的線性模型和DNN神經(jīng)網(wǎng)絡(luò)模型,前者使得模型具有泛化的記憶能力,后者使得模型能夠隱式地學(xué)習(xí)特征的交互特性。
基于Stacking的集成學(xué)習(xí)[15]是按照一定的方式將多種不同的算法集成組合來(lái)提升模型的訓(xùn)練效果,相比于單一的模型,使用該方法通常可以產(chǎn)生更好的預(yù)測(cè)性能。與Bagging[16]和Boosting[17]采用單一的機(jī)器學(xué)習(xí)算法訓(xùn)練單個(gè)模型不一樣的地方在于,Stacking是一種每一層都可以使用多個(gè)模型來(lái)進(jìn)行訓(xùn)練的集成學(xué)習(xí)方式,每一層的多個(gè)模型都有各自輸出值,將該層每一個(gè)模型的輸出值作為新的特征組合成新的數(shù)據(jù)集作為下一層的輸入進(jìn)行學(xué)習(xí)。
圖2 整體流程
模型構(gòu)建流程如圖2所示。首先對(duì)煙草市場(chǎng)監(jiān)管數(shù)據(jù)進(jìn)行預(yù)處理,在訓(xùn)練集上對(duì)單個(gè)算法進(jìn)行訓(xùn)練調(diào)參,使單個(gè)模型性能達(dá)到最優(yōu)狀態(tài);然后確定Stacking集成學(xué)習(xí)模型的第一層模型組合方式,利用劃分后的數(shù)據(jù)集來(lái)訓(xùn)練,將第一層的各個(gè)初級(jí)學(xué)習(xí)器模型的輸出組合形成新的數(shù)據(jù)集;Stacking第二層次級(jí)學(xué)習(xí)器模型用新生成的數(shù)據(jù)集來(lái)訓(xùn)練,并輸出最終的預(yù)測(cè)概率值。
煙草異常數(shù)據(jù)挖掘模型最終要實(shí)現(xiàn)的目標(biāo)是,預(yù)測(cè)出零售戶“銷(xiāo)假,銷(xiāo)私,亂渠道進(jìn)貨”等異常經(jīng)營(yíng)行為的可能性。基于模型的預(yù)測(cè)性能,Stacking集成學(xué)習(xí)方式一般要求組合中的單個(gè)基學(xué)習(xí)器不僅要有較強(qiáng)的學(xué)習(xí)預(yù)測(cè)能力,還要在算法原理上具有較大的差別。因此Stacking模型中的第一層除了選用學(xué)習(xí)性能比較強(qiáng)的XGBoost算法、LightGBM算法和xDeepFM算法,還使用了AdaBoost算法、隨機(jī)森林算法(random forest,RF)、極端隨機(jī)樹(shù)算法(extratrees,ETR)和Logistic Regression算法(LR)。其中RF和AdaBoost分別使用了基于Bagging與Boosting的集成學(xué)習(xí)方式,具有較強(qiáng)的學(xué)習(xí)能力和嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)理論作為支撐[18]。ETR算法是在RF的基礎(chǔ)上多了一層隨機(jī)性,即在對(duì)連續(xù)變量特征選取最優(yōu)分裂值時(shí),不會(huì)計(jì)算所有分裂值的效果來(lái)選擇分裂特征,而是在每一個(gè)特征的取值范圍內(nèi),隨機(jī)產(chǎn)生一個(gè)分裂值,從中計(jì)算出一個(gè)較優(yōu)值來(lái)進(jìn)行分裂。其次與RF使用Bagging集成學(xué)習(xí)方式對(duì)樣本數(shù)據(jù)進(jìn)行有放回抽樣不同,ETR使用所有的樣本,只是特征是隨機(jī)選取的。LR算法相對(duì)來(lái)說(shuō)是弱一點(diǎn)的基學(xué)習(xí)器,使用該算法的原因是為了防止過(guò)擬合,讓Stacking模型具有更強(qiáng)的魯棒性。Stacking模型中的第二層的元學(xué)習(xí)器用了學(xué)習(xí)預(yù)測(cè)能力比較出色的LightGBM算法?;诙嗄P蚐tacking的煙草異常數(shù)據(jù)挖掘模型如圖3所示。
圖3 基于多模型Stacking的預(yù)測(cè)模型
Stacking模型訓(xùn)練具體步驟如下:
(1)劃分原始數(shù)據(jù)集,其中劃分的方式為隨機(jī)采樣選取90%的數(shù)據(jù)作為訓(xùn)練集,10%的數(shù)據(jù)作為測(cè)試集,在訓(xùn)練集上使用五折交叉驗(yàn)證的方式對(duì)單個(gè)算法模型進(jìn)行訓(xùn)練,確定每一個(gè)模型的最優(yōu)參數(shù),使單個(gè)模型性能達(dá)到最優(yōu)狀態(tài);
(2)確定Stacking第一層模型組合方式,利用劃分后的數(shù)據(jù)集來(lái)訓(xùn)練,將第一層的各個(gè)模型的輸出組合形成新的數(shù)據(jù)集,具體過(guò)程如圖3中上半部分,其中每個(gè)模型最終的輸出結(jié)果為五次交叉驗(yàn)證結(jié)果的平均值,將每個(gè)模型的輸出結(jié)果作為新的特征組成一個(gè)新的數(shù)據(jù)集;
(3)Stacking第二層模型用新生成的數(shù)據(jù)集來(lái)訓(xùn)練,并輸出最終的預(yù)測(cè)概率值。
實(shí)驗(yàn)數(shù)據(jù)使用經(jīng)過(guò)整理好的2016年1月到2019年4月上海市煙草專(zhuān)賣(mài)市場(chǎng)監(jiān)管數(shù)據(jù)中的檢查數(shù)據(jù)以及對(duì)應(yīng)的靜態(tài)和動(dòng)態(tài)指標(biāo)數(shù)據(jù)作為模型的數(shù)據(jù)集??偣?66 563個(gè)樣本,244個(gè)特征,其中30個(gè)靜態(tài)特征和214個(gè)動(dòng)態(tài)特征。
由于該模型預(yù)測(cè)屬于二分類(lèi)預(yù)測(cè)問(wèn)題,且最終的輸出值為概率值,為了直接分析模型輸出的概率值,預(yù)測(cè)評(píng)價(jià)指標(biāo)采用Log_loss和AUC來(lái)評(píng)價(jià)模型的預(yù)測(cè)效果,避免了將其轉(zhuǎn)換成類(lèi)別數(shù)值帶來(lái)的可能誤差。公式如下所示:
(7)
其中,N為樣本的總數(shù);M為預(yù)測(cè)的類(lèi)別數(shù),比如文中實(shí)驗(yàn)為二分類(lèi)預(yù)測(cè),M就為2;樣本i屬于分類(lèi)j時(shí)yi,j為1,否則為0;pi,j為樣本i被預(yù)測(cè)為第j類(lèi)的概率。
(8)
要想使融合模型Stacking性能達(dá)到最好,首先要確保其第一層的各個(gè)基學(xué)習(xí)器達(dá)到最佳的學(xué)習(xí)能力,因此將各個(gè)基學(xué)習(xí)器在原始數(shù)據(jù)集上單獨(dú)訓(xùn)練,從而確定每一個(gè)模型的訓(xùn)練參數(shù),具體參數(shù)如表2所示。
表2 模型參數(shù)
在相同的數(shù)據(jù)集上對(duì)每個(gè)單一模型和Stacking模型分別進(jìn)行訓(xùn)練并預(yù)測(cè),最佳模型通常具有較小的Log_loss值以及較大的AUC值,各個(gè)模型的預(yù)測(cè)結(jié)果對(duì)比如表3所示,對(duì)應(yīng)ROC曲線如圖4所示。
表3 模型預(yù)測(cè)結(jié)果
圖4 ROC曲線對(duì)比
通過(guò)預(yù)測(cè)結(jié)果可知,單個(gè)模型中表現(xiàn)最好的是xDeepFM神經(jīng)網(wǎng)絡(luò)算法,說(shuō)明該算法可以很好地學(xué)習(xí)不同特征之間的交叉特性,加上模型兼具記憶和泛化的學(xué)習(xí)能力,使得其在最終的預(yù)測(cè)精度上表現(xiàn)更好。其次是LightGBM算法,兩項(xiàng)指標(biāo)也都達(dá)到了不錯(cuò)的效果,對(duì)比其他幾個(gè)機(jī)器學(xué)習(xí)基學(xué)習(xí)器,可以確定LightGBM算法比較適合處理這種大樣本,高維度,特征稀疏的數(shù)據(jù)集。雖然其他幾個(gè)基學(xué)習(xí)器的表現(xiàn)稍差,但是通過(guò)Stacking方式集成以后,效果上更加出色。一方面是由于Stacking模型可以很好地保持學(xué)習(xí)能力優(yōu)異的單個(gè)學(xué)習(xí)器的性能,提升自身的預(yù)測(cè)能力;另一方面基學(xué)習(xí)器之間算法原理的明顯不同使得Stacking集成后的模型具有更加穩(wěn)健的預(yù)測(cè)性能。
經(jīng)過(guò)前期階段充分測(cè)試、驗(yàn)證模型的有效性后,該文提出的基于多模型Stacking集成學(xué)習(xí)的煙草異常數(shù)據(jù)挖掘模型,在上海市煙草專(zhuān)賣(mài)市場(chǎng)監(jiān)管工作中進(jìn)行了實(shí)際應(yīng)用,對(duì)模型的推薦名單進(jìn)行了稽查實(shí)證。
本次實(shí)證數(shù)據(jù)分別選取截止2019年06月30日和2019年07月31日這兩天的上海市煙草專(zhuān)賣(mài)數(shù)據(jù),將數(shù)據(jù)處理成相應(yīng)的特征指標(biāo)作為模型的測(cè)試集,來(lái)對(duì)7月份和8月份的稽查名單進(jìn)行預(yù)測(cè),其中7月份推薦的煙草零售戶為1 322戶,8月份推薦的煙草零售戶為1 344戶,最后對(duì)稽查結(jié)果計(jì)算最終的查實(shí)率。具體數(shù)據(jù)如表4所示。
表4 實(shí)證結(jié)果
表中涉及到的計(jì)算公式如下:
(9)
其中,立案標(biāo)準(zhǔn)主要分為三類(lèi):(1)真煙流入,即零售戶從其他渠道低價(jià)購(gòu)買(mǎi)香煙再高價(jià)賣(mài)出的情況,稽查時(shí)若零售戶真煙流入條數(shù)大于等于5條則進(jìn)行立案處理;(2)假煙,即零售戶有販賣(mài)假煙的情況;(3)走私煙,即零售戶有銷(xiāo)售走私煙的情況。
此外表中部分地區(qū)存在實(shí)際檢查戶數(shù)低于當(dāng)月需檢查戶數(shù)的情況,這是因?yàn)榇嬖趥€(gè)別零售戶當(dāng)月暫不經(jīng)營(yíng)的情況,實(shí)際檢查中做另外的處理。
上海市煙草專(zhuān)賣(mài)市場(chǎng)監(jiān)管體系現(xiàn)有稽查方法主要依據(jù)違規(guī)加分制,即對(duì)零售戶的卷煙經(jīng)營(yíng)數(shù)據(jù)進(jìn)行分析,對(duì)零售戶的違規(guī)行為按照一定的規(guī)則對(duì)其賦分,最終得分越高的零售戶,其違規(guī)風(fēng)險(xiǎn)越高。結(jié)合2016年1月到2019年4月的檢查數(shù)據(jù)及檢查結(jié)果分析得知,原有檢查方式在實(shí)際稽查中,每個(gè)月檢查的零售戶中有涉煙違法行為的查實(shí)率在5%左右。而由表4可以看出,在7月份和8月份Stacking模型預(yù)測(cè)名單的查實(shí)率分別達(dá)到了14.67%和17.34%,相比原有的傳統(tǒng)方式有比較大的提升,稽查實(shí)證結(jié)果進(jìn)一步證明了Stacking模型的有效性。
基于深度神經(jīng)網(wǎng)絡(luò)xDeepFM算法,機(jī)器學(xué)習(xí)LightGBM、XGBoost等算法,利用集成學(xué)習(xí)Stacking方式將多個(gè)算法學(xué)習(xí)器進(jìn)行集成組合,構(gòu)建了基于多模型Stacking集成學(xué)習(xí)的煙草異常數(shù)據(jù)挖掘預(yù)測(cè)模型。對(duì)2016年1月到2019年4月的上海市煙草專(zhuān)賣(mài)數(shù)據(jù)進(jìn)行訓(xùn)練及驗(yàn)證分析,在2019年7月和8月對(duì)模型推薦名單進(jìn)行實(shí)地稽查驗(yàn)證,兩個(gè)月的查實(shí)率均達(dá)到了預(yù)期,使得上海市卷煙市場(chǎng)監(jiān)管稽查工作中的人員調(diào)撥分配更加合理,對(duì)零售戶涉煙違法行為的監(jiān)管更加精準(zhǔn),有效凈化了卷煙市場(chǎng)的經(jīng)營(yíng)環(huán)境。
同時(shí),從稽查結(jié)果的查實(shí)率可以看到存在各區(qū)局查實(shí)率結(jié)果不平衡的問(wèn)題,因此,在后續(xù)的研究中會(huì)在以下幾個(gè)方面繼續(xù)優(yōu)化完善:
(1)可以引入權(quán)重因子,使各區(qū)局預(yù)測(cè)精度更加準(zhǔn)確;
(2)除了機(jī)器學(xué)習(xí)算法外,著重研究目前較為流行的深度學(xué)習(xí)算法,挖掘特征之間更高階的有效信息;
(3)將異常行為綜合預(yù)測(cè)分析與現(xiàn)有市場(chǎng)監(jiān)管處理流程進(jìn)行充分結(jié)合,形成從數(shù)據(jù)預(yù)處理到模型構(gòu)建再到評(píng)估應(yīng)用的全流程處理模式,建立智能化的全流程市場(chǎng)監(jiān)管處理流程,全面提升市場(chǎng)監(jiān)管水平。