楊 斌 王正陽 程梓航 趙慧英 王 鑫 管 宇,3 程新洲
1 (中國聯(lián)通研究院 北京 100048)
2 (北京郵電大學人工智能學院 北京 100876)
3 (云南省軟件工程重點實驗室(云南大學) 昆明 650504)
(researcher_yang@outlook.com)
數(shù)據(jù)是人工智能技術研究和應用的基礎要素.但在真實的數(shù)據(jù)挖掘場景中,如客戶流失、軟件測試等領域[1-5]存在大量正負樣本不均衡問題. 除了該類場景客觀依然存在正樣本天然比負樣本少的原因外,更重要的是由于樣本的收集、標注成本太高,獲取有效的標注樣本非常困難. 同時伴隨業(yè)界對數(shù)據(jù)安全、隱私保護意識的提升,數(shù)據(jù)保護被廣泛關注,且國內外已出臺系列相關的法律法規(guī)[6-7]. 為了解決樣本不平衡問題,學者們提出了多種方法,其中合成新數(shù)據(jù)是主流方法之一. 基于合成新數(shù)據(jù)對原始數(shù)據(jù)進行融合重構,可獲得更多的樣本,用于緩解該問題. 同時高質量的合成數(shù)據(jù)在分布上和真實數(shù)據(jù)一致,可應用于重構或替代真實樣本,具有保護隱私數(shù)據(jù)的價值.
合成數(shù)據(jù)的方式常用的有2 種:數(shù)據(jù)增強和數(shù)據(jù)生成. 數(shù)據(jù)增強在圖像領域應用較多[8]. 在以結構化數(shù)據(jù)為主的數(shù)據(jù)挖掘領域通常以過采樣或插值的方式調整正負樣本比[9-11]. 該類方法雖然簡單易實現(xiàn),但需要大量的人工參與,并且合成數(shù)據(jù)和真實數(shù)據(jù)分布相去甚遠,無法有效應用于數(shù)據(jù)保護,且對數(shù)據(jù)挖掘預測效果提升有限. 學者們在圖像領域做了很多基于生成對抗網(wǎng)絡(generative adversarial network,GAN)的數(shù)據(jù)生成研究工作[12-13]. 在以結構化數(shù)據(jù)為主的數(shù)據(jù)挖掘領域,生成方法研究相對較少,但在近年開始被關注,出現(xiàn)IRGAN、CTAB-GAN 等方法[14-15].由于該領域特征類型較多,且不同維度特征獨立,導致生成效果不理想,難以有效應用于對原始數(shù)據(jù)的融合重構. 近年擴散模型在圖像領域大放異彩[16],但將其應用于結構化數(shù)據(jù)的研究相對較少. 考慮到客戶流失預測是一個典型的正負樣本不均衡且涉及用戶隱私保護的場景,本文以客戶流失預測為實驗場景,基于擴散模型生成數(shù)據(jù)探索在真實數(shù)據(jù)挖掘場景中的應用價值.
客戶流失是指已有客戶放棄繼續(xù)購買企業(yè)商品或服務的一種現(xiàn)象. 該現(xiàn)象在企業(yè)經營中普遍存在,如電信行業(yè)中客戶連續(xù)多月停止繳費;金融行業(yè)中客戶中斷購買理財產品;互聯(lián)網(wǎng)場景中客戶不再活躍等[1-3]. 客戶流失會導致企業(yè)失去穩(wěn)定的客戶和收益源,造成巨大損失. 精準的客戶流失預測,可發(fā)現(xiàn)流失概率大的客戶,可通過挽留降低流失. 學者們對客戶流失預測進行了大量研究,初期以傳統(tǒng)統(tǒng)計學預測方法為主,包括決策樹(decision tree,DT)、邏輯回歸(logistic regression,LR)、貝葉斯(Bayesian)分類器、支持向量機(support vector machine,SVM)等算法[17-19]. 隨著集成學習的引入,隨機森林(random forest,RF)、 梯度提升決策樹( gradient boosting decision tree,GBDT)、Adaboost 和Stack 等方法被大量引入到對客戶流失的預測中. 近年也有工作嘗試深度學習,但由于流失客戶數(shù)據(jù)量較少,深度學習模型效果不理想[20-22]. 當前主流的做法還是采用傳統(tǒng)的統(tǒng)計方法和集成學習.
客戶流失預測在數(shù)據(jù)方面存在2 個問題:1)數(shù)據(jù)不平衡問題. 考慮到用戶習慣和適應新產品的成本,客戶通常會在較長周期內處于忠誠狀態(tài),不會輕易流失. 因此流失客戶在數(shù)量上相對總客戶會非常少,相差幾倍甚至幾十倍. 2)客戶流失數(shù)據(jù)直接使用真實數(shù)據(jù),有用戶隱私數(shù)據(jù)泄露風險. 客戶數(shù)據(jù)通常采集了用戶的基礎屬性和行為數(shù)據(jù). 涉及用戶隱私的數(shù)據(jù)需要保護起來,防止泄露對客戶造成損失和傷害. 生成數(shù)據(jù)對不平衡和用戶隱私保護都有幫助,但將生成數(shù)據(jù)應用于客戶流失的研究非常少. 本文基于擴散模型生成樣本進行數(shù)據(jù)重構,驗證擴散模型在緩解數(shù)據(jù)不平衡和保護數(shù)據(jù)隱私的可能性.
本文主要貢獻有3 點:
1)首次提出一種基于擴散模型生成數(shù)據(jù)重構客戶流失數(shù)據(jù)的方法. 基于擴散模型生成結果針對不同模型設計了多種融合重構策略,充分挖掘擴散模型在緩解數(shù)據(jù)不平衡問題上的價值.
2)采用擴散模型生成客戶流失數(shù)據(jù),生成結果在模型效果上和數(shù)據(jù)分布上與真實數(shù)據(jù)非常接近.因此生成數(shù)據(jù)可作為客戶真實數(shù)據(jù)的替代,在客戶流失的用戶隱私保護問題上具有很大的潛在價值.
3)在電信、銀行、互聯(lián)網(wǎng)等多個數(shù)據(jù)集上進行客戶流失預測實驗. 通過大量的實驗和分析,證明基于擴散模型生成的數(shù)據(jù)有助于提升客戶流失模型效果,且能被應用于用戶隱私保護.
本節(jié)主要介紹數(shù)據(jù)生成方法和客戶流失預估的相關研究工作.
數(shù)據(jù)生成常用方法有簡單數(shù)據(jù)合成和GAN、擴散模型等方法. 在圖像領域以Mixup 為代表的樣本插值方法有著不錯的效果[8]. 在數(shù)據(jù)挖掘領域,Wu 等人[23]采用改進的SMOTE(synthetic minority over-sampling technique) 解決流失數(shù)據(jù)的不平衡問題,應用于電子商務客戶流失預測.
隨著GAN 的發(fā)展,在數(shù)據(jù)挖掘領域有人將GAN應用于數(shù)據(jù)生成. IRGAN[14]將視覺領域中廣泛應用的GAN 引入到信息檢索,探索了GAN 在離散領域的適用問題. TableGAN[24]使用GAN 生成表格數(shù)據(jù)用于用戶隱私保護. CTAB-GAN[15]在GAN 的基礎上針對含連續(xù)變量和類別變量的數(shù)據(jù)生成進行優(yōu)化. 近年,擴散模型被應用于生成領域,通過對樣本的加噪和去噪過程,有效實現(xiàn)圖像生成[25-26].
在過去的研究中,學者們對客戶流失預測在多種領域的應用進行了大量的探索,包括電信、銀行、互聯(lián)網(wǎng)等行業(yè). 預測方法也逐漸成熟,發(fā)展歷程主要分為2 個階段:
第1 階段是傳統(tǒng)統(tǒng)計學預測方法,主要包括決策樹、邏輯回歸、貝葉斯分類器、支持向量機等算法[17-19]. Qiu 等人[3]使用邏輯回歸來預測電子商務場景下的客戶流失. Nie 等人[27]分別使用決策樹和邏輯回歸對銀行信用卡用戶流失做預測.
第2 階段是集成學習算法的壟斷和深度學習的初步探索. 隨著集成學習的引入,隨機森林、GBDT、Adaboost 和Stack 等方法被引入到對客戶流失的預測中. 特別是GBDT,由于其優(yōu)秀的性能而被廣泛應用.Xie 等人[28]提出了一種改進的平衡隨機森林,并將其應用于銀行客戶流失預測. Wu 等人[20]在電子商務數(shù)據(jù)集上提出PCA-AdaBoost 模型,并證明模型的有效性. Liang 等人[29]提出基于GBDT 和邏輯回歸算法的模型預測移動用戶流失. 第2 階段的客戶流失預測方法主要為集成學習,應用最多的是GBDT 算法.
客戶流失數(shù)據(jù)多為表格類數(shù)據(jù),通常包含2 類特征,分別為數(shù)值型特征,包括年齡、收入等;類別型特征,包括性別、省份等. 本文的研究路線如圖1 所示,為了能夠生成客戶流失數(shù)據(jù),我們基于高斯擴散模型和多項式擴散模型分別處理數(shù)值型和類別型特征數(shù)據(jù). 擴散生成模型通常包括前向擴散和逆向生成2個階段[25-26]. 其中,高斯擴散模型用于數(shù)值型數(shù)據(jù)的前向擴散階段,多項式擴散模型用于類別型的前向擴散階段;在逆向階段,我們對這2 種模型進行結合,通過神經網(wǎng)絡實現(xiàn)逆向生成過程.
Fig. 1 The schematic diagram of customer churn prediction based on the diffusion model圖1 基于擴散模型的客戶流失預測示意圖
流失客戶特征主要分為數(shù)值和類別2 種類型,在進入模型之前通常需要進行數(shù)據(jù)預處理,主要包括對數(shù)值型特征進行歸一化處理和對類別型特征進行獨熱編碼處理. 圖1 中的輸入數(shù)據(jù)x0為預處理后的數(shù)據(jù),包括歸一化處理的xnum和獨熱編碼處理的xcat.
去噪擴散概率模型(denoising diffusion probabilistic model,DDPM)是一種概率生成模型,包含前向和逆向2 個階段. 通常假設其前向階段和逆向階段均為馬爾可夫過程. 前向過程也稱前向擴散過程、前向加噪過程等;逆向過程也稱逆向生成過程、逆向去噪過程等[30].
前向擴散過程是一個逐步加噪的過程,向樣本x0逐步添加噪聲,得到原始數(shù)據(jù)的每一次擴散后的狀態(tài). 當最終加噪步數(shù)T足夠大時,可以使得原有的樣本數(shù)據(jù)分布xT最終轉換為預先定義好的噪聲分布,通常選擇各向同性的高斯分布,即q(xT|x0)~N(0,I).
逆向生成過程是一個逐步去噪過程. 整個過程中,若逆向過程中的每一步t能夠精確求得條件概率分布p(xt?1|xt),則可以通過逆向迭代不斷采樣恢復加噪之前的數(shù)據(jù)p(x0),完成生成任務. 但是由于分布p(xt?1|xt)通常是未知的,所以無法直接求得p(x0),通常采用神經網(wǎng)絡來近似估計其分布.
高斯擴散模型是最常用的擴散模型,其針對連續(xù)樣本空間(xt∈Rn)如數(shù)值型樣本進行處理[16,31]. 其前向和逆向階段均將樣本數(shù)據(jù)分布預定義為高斯分布.其前向過程用式(1)(2)表示. 其中,q()表示前向擴散過程,通過加噪聲,直到第T步q(xT)滿足高斯分布采樣. 其中 β用于控制添加噪聲的強度.
逆向過程p()通常采用構建由 θ參數(shù)化的神經網(wǎng)絡來近似估計其分布. 假設pθ(xt?1|xt)是逆向過程的概率分布,且服從于高斯分布,考慮到從xt去第t步噪聲估計xt?1,其均值 μθ和方差均可看作xt和t的函數(shù),即式(3). 為便于后續(xù)計算和減少神經網(wǎng)絡訓練難度,將方差設定為不需要參與神經網(wǎng)絡訓練且與時間相關的常數(shù),因此在訓練時,僅使用神經網(wǎng)絡訓練均值 μθ即可. 如式(4)所示,μθ(xt,t)可以看成xt和?θ(xt,t)的函數(shù). 其中?θ(xt,t)為xt的估計噪聲, α和 β都是常數(shù).
在實際計算中,誤差公式多被簡化為噪聲的估計誤差,如式(5)所示,其中 ?是前期加的噪聲,假定其符合高斯分布.
多項式擴散模型是近年被提出用于處理類別型數(shù)據(jù)的擴散模型[32-33]. 多項式擴散模型需要類別特征用獨熱方式進行編碼. 假定類別數(shù)據(jù)xt∈{0,1}K用獨熱方式表示,K表示該類別特征有K個值.
多項式前向擴散過程,定義擴散采樣分布q(xt|xt?1)為一個類別分布CAT,在原始數(shù)據(jù)基礎上通過均勻增加噪聲的方式進行擴散. 如式(6)所示,可以看出每一步擴散對應的K個類分別引入很小的均勻噪聲( β),在上一步狀態(tài)xt?1上以很大概率(1?β)進行采樣,保留上一步的信息. 待t步擴散之后,可以得到xt如式(7)所示. 其中
和高斯擴散模型類似,xt?1的逆向估計分布p(xt?1|xt)無法直接計算,但其可用后驗概率q(xt?1;xt,x0)表示,如式(8)所示. 因此,逆向分布pθ(xt?1|xt)可以被參數(shù)化為q(xt?1|xt,(xt,t)),其中表示估計的x0,可以通過神經網(wǎng)絡進行估計.
本文結合高斯擴散模型和多項式擴散模型建模數(shù)值型和類別特征,在前向加噪聲過程中分別通過高斯和多項式擴散進行采樣. 在逆向生成過程中,考慮到輸入信息除了輸入數(shù)據(jù)x0,還應包括擴散步數(shù)t和類別信息y,二者對噪聲分布都有影響,如式(9)~(11)所示. 其中擴散步數(shù)信息采用傳統(tǒng)的正弦時間嵌入方法[11,16,34].
由于深度學習中多層感知機(multilayer perceptron,MLP)多被應用于擬合輸出,本文逆向去噪生成過程采用MLP 進行噪聲分布估計,如式(12)(13)所示,輸出和輸入相同維度的特征作為估計噪聲.
在訓練階段,為了能夠同時對高斯擴散模型和多項式擴散模型進行優(yōu)化,我們基于2 種模型的損失函數(shù)設計了聯(lián)合損失函數(shù)如式(14)所示,其中式(14)右側為高斯擴散模型損失和類別特征的平均KL 散度(Kullback–Leibler divergence,KLD),為每個多項式擴散項的KL 散度,C為類別特征數(shù)目.
為了能夠驗證基于擴散生成模型在客戶流失場景下的預測效果和隱私保護能力,本文在客戶流失預測中選擇了2 種模式,分別是弱分類器模式和強分類器模式,包括經典的分類算法和GBDT[2,21]. 其中,對于弱分類器本文選擇了客戶流失預測場景中的經典算法,包括決策樹、貝葉斯、支持向量機和邏輯回歸等. 我們選擇了客戶流失場景中被廣泛應用的GBDT作為強分類器,其中,Catboost 是一種主流的GBDT實現(xiàn)方法,能夠在大部分數(shù)據(jù)上達到最好效果[21].
為了能夠對不同場景的客戶流失進行建模,我們選擇了3 種不同場景的客戶流失數(shù)據(jù),分別為:
1)電信客戶流失數(shù)據(jù)集①https://www.kaggle.com/datasets/blastchar/telco-customer-churn. 該數(shù)據(jù)集來自Kaggle的電信流失用戶預測數(shù)據(jù). 其共有7 043 條電信客戶數(shù)據(jù),其中客戶流失數(shù)據(jù)有1869 條. 每條數(shù)據(jù)包括21 個特征,其中3 個數(shù)值特征和18 個類別特征. 在實驗時我們過濾了用戶ID 特征“customer ID”,保留了其他17 個類別特征.
2)銀行流失數(shù)據(jù)集②https://www.kaggle.com/datasets/sakshigoyal7/credit-card-customers. 該數(shù)據(jù)來自Kaggle 的銀行信用卡流失數(shù)據(jù)集. 該數(shù)據(jù)集共有10 127 條銀行客戶數(shù)據(jù),其中客戶流失數(shù)據(jù)有1 627 條. 每條數(shù)據(jù)包括23 個特征,其中16 個數(shù)值特征和7 個類別特征.在實驗時我們過濾了用戶ID 特征“CLIENTNUM”,并按照數(shù)據(jù)說明刪去了最后2 個無關特征,只保留14 個數(shù)值特征和6 個類別特征.
3)互聯(lián)網(wǎng)產品流失數(shù)據(jù)集③https://tianchi.aliyun.com/dataset/124814. 該數(shù)據(jù)是來自阿里云天池比賽的直播電商用戶流失行為預測數(shù)據(jù)集.該數(shù)據(jù)集共有5 630 條直播電商相關客戶數(shù)據(jù),其中客戶流失數(shù)據(jù)有948 條. 每條數(shù)據(jù)包括19 個特征,其中9 個數(shù)值特征和10 個類別特征,在實驗時我們過濾了用戶ID 特征“Customer ID”,保留了其他9 個類別特征.
在訓練時,每個數(shù)據(jù)集都按照8∶2 的原則分為訓練集和測試集.
實驗以Pytorch 為基礎框架,在NVIDIA GPU 3050Ti 上進行訓練. 根據(jù)經驗設置,實驗中擴散模型的總步數(shù)設置為1 000,Batchsize 設置為4 096,Epoch設置為30 000,優(yōu)化器采用Adam 算法,學習率設置為0.001. 實驗中,Catboost 算法的學習率設置為0.03,計算葉子節(jié)點值時候的迭代次數(shù)設置為8. Logistic Regression 算法的正則化項的類型設置為l2,其正則化強度的倒數(shù)設置為10,模型的最大迭代次數(shù)設置為1 000.
實驗中,為了評估最終的模型分類效果,本文采用了AUC(area under curve)、ACC(accuracy)、Logloss以及F1 值等指標進行評估,其相關計算方式可參考文獻[35].
我們通過擴散模型DDPM 在電信、銀行、互聯(lián)網(wǎng)數(shù)據(jù)集上生成了新的客戶流失數(shù)據(jù). 以電信數(shù)據(jù)集為例,真實數(shù)據(jù)(REAL)和DDPM、SMOTE 以及CTAB-GAN 的生成結果如表1 所示. 從表1 可以看出,DDPM、SMOTE,CTAB-GAN 這3 種方法均能生成與REAL 相似的結果. 但比較具體生成的特征細節(jié),可以發(fā)現(xiàn)DDPM 生成的數(shù)據(jù)和REAL 更接近,特別是數(shù)值型特征;SMOTE 和CTAB-GAN 則存在大量的整型數(shù)據(jù)生成后成為浮點型的問題;從隨機抽取的樣本上看,CTAB-GAN 的生成數(shù)據(jù)相對比較發(fā)散,和REAL 差異較大,這也比較符合GAN 的算法特點.
Table 1 Generation Results Presentation for Telco Customer Churn Datasets表1 電信客戶流失數(shù)據(jù)集生成結果展示
為了研究在客戶流失場景下擴散模型和其他生成方法的生成數(shù)據(jù)效果對比,我們對REAL 以及不同方法生成的數(shù)據(jù)進行采樣,并在單個獨立特征和多個聯(lián)合特征分布上分別進行展示.
1)獨立特征對比. 我們對單個獨立特征進行采樣,針對3 個不同場景數(shù)據(jù)集分別隨機挑選2 個特征,包括1 個數(shù)值型和1 個類別型. 生成數(shù)據(jù)和REAL 的分布統(tǒng)計結果如圖2 所示. 我們可以看出DDPM 相對其他方法和REAL 分布更相似. 對于數(shù)值型特征,在3 個場景上CTAB-GAN 的效果最不理想,和真實分布差異較明顯. 在類別型特征上,SMOTE 效果最不理想,在某些類別上生成數(shù)據(jù)與REAL 分布差異較明顯,且在生成數(shù)量比較少的類別值時可能會出現(xiàn)生成數(shù)據(jù)量遠小于REAL 量的問題,這與其算法進行插值有關.
Fig. 2 Distribution of independent features in generated data and real data圖2 關于生成數(shù)據(jù)和真實數(shù)據(jù)的獨立特征分布
2)聯(lián)合特征對比. 我們對特征相關性也進行了研究. 對數(shù)值型特征我們統(tǒng)計了生成數(shù)據(jù)和REAL 的皮爾遜相關系數(shù);對類別型特征計算Theil’s U 統(tǒng)計量;對數(shù)值與類別間特征關系計算Correlation Ratio[15],合成數(shù)據(jù)與REAL 的特征相關性矩陣差異結果如圖3 所示. 圖中顏色深淺代表對應生成數(shù)據(jù)和REAL在特征相關性上的差異,顏色越深代表差距越大. 我們可以看出和其他生成方法相比,DDPM 的生成結果更加接近REAL,生成效果更顯著,CTAB-GAN 的生成效果相對最差.
Fig. 3 Difference of correlation matrix between generated data and real data圖3 生成數(shù)據(jù)與真實數(shù)據(jù)的相關性矩陣差異
為了驗證生成數(shù)據(jù)對客戶流失預測的重構效果,本文分別在電信、銀行、互聯(lián)網(wǎng)3 個場景進行對比.本文設計了4 種訓練集數(shù)據(jù)重構方式:1)用生成數(shù)據(jù)等量代替真實訓練集集,記為Fake±;2)只用生成數(shù)據(jù)等量代替正樣本,負樣本仍為真實數(shù)據(jù),記為Fake+;3)對第2 種融合方式的負樣本數(shù)據(jù)進行欠采樣,使得正負樣本量比為1:1,記為Fake+_1:1;4)只用生成的正樣本數(shù)據(jù)和所有真實數(shù)據(jù)融合,使得正樣本數(shù)據(jù)量增加至和真實負樣本數(shù)據(jù)量相當,正負樣本量比為1:1,記為Merged+_1:1.
考慮到弱分類器和強分類器對客戶流失模型的預測效果不一樣,本文選擇了決策樹、貝葉斯分類器、支持向量機和邏輯回歸4 種弱分類器,對其結果取平均值;同時選擇GBDT 作為強分類器,采用廣泛應用的Catboost 算法實現(xiàn). 我們采用這種模式驗證擴散模型在弱分類器和強分類器上的預測效果,實驗結果如表2 和表3 所示.
Table 2 Effect of Data Reconstruction Based on Week Classifiers Algorithm表2 基于弱分類器算法的數(shù)據(jù)重構效果
Table 3 Effect of Data Reconstruction Based on Catboost Algorithm表3 基于Catboost 算法的數(shù)據(jù)重構效果
從表2 可以看出,弱分類器的實驗在電信、銀行、互聯(lián)網(wǎng)3 個場景中,生成數(shù)據(jù)重構的數(shù)據(jù)集的模型效果均有所提升. 針對不同訓練集融合重構方式,我們發(fā)現(xiàn)DDPM 在Fake±方式下(用生成數(shù)據(jù)全量等比例替換真實數(shù)據(jù))和REAL 效果一致,其他方法則是提升. 這說明針對弱分類器,DDPM 生成的數(shù)據(jù)更接近REAL 分布.
強分類器Catboost 的實驗結果如表3 所示. DDPM生成的數(shù)據(jù)重構后的效果基本和REAL 的效果一樣,這個結論和弱分類器實驗保持一致. 說明DDPM 生成的數(shù)據(jù)和REAL 分布非常接近,并且與分類器無關.其他方法如CTAB-GAN 和SMOTE 均略遜于REAL的效果. 由于銀行數(shù)據(jù)集在強分類器上的分類實驗效果非常理想,接近上限,因此DDPM、SMOTE,CTABGAN 這3 種方法在該數(shù)據(jù)集上的表現(xiàn)也非常接近.
在分類問題中,相較于易分類的樣本,誤分樣本對提升模型性能更有價值. 因此鑒于Catboost 在生成數(shù)據(jù)集上的效果和真實數(shù)據(jù)效果持平,沒有明顯提升,我們提出基于誤分樣本提升模型效果的重構策略. 該方法基于生成數(shù)據(jù)的誤分類樣本重構真實數(shù)據(jù),增加誤分類樣本的數(shù)量和多樣性.
考慮到基于擴散模型生成的數(shù)據(jù)與真實數(shù)據(jù)分布一致,我們應用真實數(shù)據(jù)訓練的Catboost 對基于擴散模型生成的數(shù)據(jù)進行預測,選出誤分類的生成樣本,然后將誤分的生成樣本與真實數(shù)據(jù)進行融合得到重構數(shù)據(jù)集. 重構數(shù)據(jù)集中誤分樣本的比例和多樣性都得到了提升. 基于重構數(shù)據(jù)集進行訓練并在真實的測試集上進行評估,結果如表4 所示. 其中Fake_Best 是表3 中未加入誤分樣本策略的基于生成數(shù)據(jù)在測試集上表現(xiàn)最好的重構效果;REAL+是真實數(shù)據(jù)增加了誤分樣本重構后的數(shù)據(jù)集. 可以看出基于誤分樣本進行數(shù)據(jù)重構的策略在3 個數(shù)據(jù)集上均對強分類器Catboost 效果有提升,說明基于擴散模型的誤分樣本的數(shù)據(jù)重構對強分類器Catboost 是可行的.
Table 4 Effect of the Fusion of Real Samples and Misclassified Generated Samples for Catboost表4 基于融合真實樣本和誤分生成樣本的Catboost 效果
為了探索基于擴散模型的生成數(shù)據(jù)規(guī)模對模型分類效果的影響,本文基于擴散模型生成真實訓練集數(shù)據(jù)量1,10,30,50,70 和100 倍的合成數(shù)據(jù)(fakeall)用于訓練Catboost 模型,結果如表5 所示.在3 個數(shù)據(jù)集中,增大樣本規(guī)模都可以使分類器的性能得以提升. 在電信和互聯(lián)網(wǎng)數(shù)據(jù)集中,當數(shù)據(jù)樣本增加至原訓練樣本的70 倍時模型效果最優(yōu),且均高于REAL 的訓練結果. 銀行數(shù)據(jù)集的生成數(shù)據(jù)量從1 倍增加到100 倍的過程中,模型效果持續(xù)提升.由于擴散模型生成的數(shù)據(jù)在整體分布上更符合真實樣本的分布規(guī)律. 當樣本數(shù)量增加時,數(shù)據(jù)的多樣性也會隨之提升,因此可以獲得更好的預測效果. 實驗表明通過增大生成數(shù)據(jù)規(guī)模提升模型效果是可行的.
Table 5 Effect of Generated Amount of Data on Effectiveness表5 生成數(shù)據(jù)量對效果的影響
客戶流失數(shù)據(jù)涉及到大量的用戶數(shù)據(jù),建模時被直接暴露,未對用戶隱私數(shù)據(jù)進行保護,存在對客戶造成傷害和損失的風險. 本文探索了將生成數(shù)據(jù)應用于用戶隱私保護的潛力. 我們設計了2 種指標用于定量研究生成數(shù)據(jù)和真實數(shù)據(jù)之間的差異,評估生成數(shù)據(jù)用于隱私保護的能力[15].
1)最近樣本距離(distance to closest record,DCR).對于每條生成數(shù)據(jù),計算其與真實數(shù)據(jù)間的歐氏距離,將其中最近的距離作為DCR,其值越小代表生成數(shù)據(jù)和真實數(shù)據(jù)越接近,復制真實數(shù)據(jù)的信息越多,數(shù)據(jù)隱私信息保護的能力也就越弱. 反之,DCR 值越大代表生成的數(shù)據(jù)和真實數(shù)據(jù)的差異也就越大,表明生成數(shù)據(jù)越接近新數(shù)據(jù),而不是簡單地復制原始數(shù)據(jù)的信息,因此想要通過這種生成數(shù)據(jù)的方式復原原始數(shù)據(jù)的難度也越大,隱私信息保護能力越強.
2)最鄰近距離比例(nearest neighbour distance ratio,NNDR)是度量最近的距離和第二近的距離的比例,其取值范圍為[0,1]. 和DCR 一樣,NNDR 值越大表示有更好的隱私保護能力;越小的NNDR 值意味著和真實數(shù)據(jù)越接近,保護性越差.
我們計算了生成數(shù)據(jù)的隱私指標,結果如表6 所示. 可以看出,在3 個數(shù)據(jù)集中,和SMOTE 相比,DDPM生成的數(shù)據(jù)在DCR 和NNDR 上在3 個客戶流失場景下均要優(yōu)于SMOTE,說明DDPM 的數(shù)據(jù)更適合應用到隱私保護中. 但和CTAB-GAN 相比,DDPM 在這2個隱私指標上要略遜一籌. 經過分析,CTAB-GAN 在生成結果上和真實數(shù)據(jù)分布差異較大,導致了其客戶流失模型預測效果較差. 但由于生成數(shù)據(jù)與真實數(shù)據(jù)不一致,會造成很難通過生成數(shù)據(jù)復原原始數(shù)據(jù),保護能力更好. 由此可以看出,DDPM 生成的數(shù)據(jù)在生成質量和隱私保護2 個方面具有更好的平衡.
Table 6 Analysis of Privacy Protection Capability表6 隱私保護能力分析
為了能夠展示生成數(shù)據(jù)和隱私保護的關系,如圖4 所示我們統(tǒng)計了生成結果與原始數(shù)據(jù)的平均歐式距離作為生成數(shù)據(jù)與真實數(shù)據(jù)的相似度指標. 分別就所有樣本、正樣本和負樣本統(tǒng)計,平均距離越大,相似性越?。黄骄嚯x越小,相似性越大.
Fig. 4 Average distance between generated data and real data圖4 生成數(shù)據(jù)與真實數(shù)據(jù)的平均距離
從圖4 可以看出,基于SMOTE 生成的結果與真實數(shù)據(jù)的平均距離最小,即相似度最大;CTAB-GAN則反之,其相似度最小. DDPM 的平均距離在數(shù)據(jù)整體上和不同子類別上均處于中游水平,其相似度水平居中. 我們分析認為:SMOTE 有直接插值的思想,會保留較多的真實樣本信息,CTAB-GAN 則是生成了大量不太相關的信息. 相對而言,DDPM 生成的數(shù)據(jù)更符合真實分布,且具有一定的隱私保護能力. 這個結論也符合基于DCR 和NNDR 的評估結果. 綜上所述,DDPM 相對其他方法在模型效果和隱私保護2個方面做到了比較理想的平衡.
本文選擇電信數(shù)據(jù)集中的真實樣本和生成樣本,通過模型解釋性的方式對模型決策機制進行剖析,基于SHAP(SHapley Additive exPlanations)實現(xiàn)[36]. 通過Shapley 值判斷特征對模型決策的貢獻進而實現(xiàn)決策解釋. 本文設計2 種模式:1)通過全局解釋性方法,對比真實數(shù)據(jù)和生成數(shù)據(jù)在重要特征選擇上的相似度. 2)通過局部解釋性方法,對比單個生成流失樣本和其最接近的真實樣本在模型決策上的相似性.
我們對生成的所有樣本和真實樣本集進行Global 級別的全局解釋,計算了全部樣本的Shapley值的絕對平均值. 圖5 直觀地展示了在真實和生成數(shù)據(jù)集上特征對模型決策的重要程度. 在一共19 個特征的數(shù)據(jù)中Top 9 的特征重疊度非常高,只有1 個特征不同,且特征排序也幾乎一致. 這說明基于DDPM生成的數(shù)據(jù)在全局上和真實數(shù)據(jù)非常接近,在模型決策時的表現(xiàn)和真實數(shù)據(jù)幾乎一致.
Fig. 5 Global mode: Comparison of the importance of features for the different datasets圖5 全局模式:不同數(shù)據(jù)集中特征重要性對比
對于Local 模式下的解釋性,本文首先使用計算最近樣本距離方法隨機挑出原始樣本,并找到生成數(shù)據(jù)集對應的最近生成樣本,分別計算這2 個樣本的Shapley 值,生成瀑布圖如圖6 所示. 瀑布圖中,圖標長度說明特征的影響大小,可以看出對應單個樣本級別,生成數(shù)據(jù)和真實數(shù)據(jù)與全局解釋性上的表現(xiàn)非常統(tǒng)一,在重要的特征上幾乎完全一致,僅在特征的順序上有一些區(qū)別,這也能反映出生成數(shù)據(jù)和其最相似的真實數(shù)據(jù)的區(qū)別.
Fig. 6 Local mode: Comparison of the importance of features for a single Sample圖6 局部模式:單個樣本特征重要性對比
總之,由解釋性分析結果可知,Shapley 值度量的特征重要性符合人工判斷,說明模型解釋是合理的.同時,生成數(shù)據(jù)與原始數(shù)據(jù)的特征分布具有高度一致性,且各特征對預測模型的影響也非常相似,說明基于擴散模型生成數(shù)據(jù)能夠作為補充樣本應用于流失預測模型中.
本文以客戶流失預測為典型場景,研究了基于擴散模型探索數(shù)據(jù)不平衡改進和用戶隱私數(shù)據(jù)保護等問題. 我們結合高斯和多項式擴散模型對客戶流失數(shù)據(jù)進行生成,獲得和真實流失客戶數(shù)據(jù)分布接近的生成數(shù)據(jù),并對生成數(shù)據(jù)的質量進行展示和定量評估. 本文還對生成數(shù)據(jù)和真實數(shù)據(jù)的融合方式進行研究,分析了生成數(shù)據(jù)在不同性能的分類器下的表現(xiàn)和客戶隱私保護能力. 本文在多個領域的客戶流失數(shù)據(jù)上進行實驗,結果表明擴散模型可生成高質量數(shù)據(jù),與真實數(shù)據(jù)分布一致,且生成數(shù)據(jù)對客戶流失預測模型效果均有一定的提升. 考慮到基于擴散模型的生成數(shù)據(jù)與真實數(shù)據(jù)的分布一致,我們認為基于擴散模型生成的數(shù)據(jù)可以達到完全替換真實數(shù)據(jù)的目的,可應用于用戶隱私數(shù)據(jù)保護.
基于本文研究,未來我們會對不同的數(shù)據(jù)融合重構方式進行探索,尋找更加通用的融合策略. 同時會對生成數(shù)據(jù)的隱私保護潛力進行深入挖掘.
作者貢獻聲明:楊斌提出了算法思路和實驗方案,并撰寫論文;王正陽和程梓航負責完成實驗并撰寫論文;趙慧英、王鑫和管宇參與文獻調研和討論;程新洲提出指導意見并修改論文.