蔣丹妮 徐玉清
(復旦大學軟件學院 上海 200433)
SVR算法在商機管理中的應用
蔣丹妮 徐玉清
(復旦大學軟件學院 上海 200433)
隨著市場競爭日益激烈和信息化技術不斷發展,通過數據分析和挖掘來預測新的潛在商機成為了企業商機管理的重要環節。現有機器學習算法主要基于樣本數目趨于無限大的假設,但實際問題中樣本大多是有限的,甚至是小樣本數據,難以保證機器學習結果的合理性。將支持向量回歸(SVR)算法用于商機預測建模過程,用于解決小樣本、高維數、非線性的學習問題。實驗結果表明,與決策樹等算法構造的目標函數求解結果相比較,SVR算法在有限樣本空間能獲得較高精度的預測結果。
商機管理 數據挖掘 支持向量回歸機 分類算法
隨著信息技術的飛速發展,數據挖掘和分析技術與傳統信息系統相互結合,為企業提供了更高的應用價值和生產效率。商機管理通過客戶維護、商業機會評估等商機過程管理以及商機客戶、商機協作競爭分析等綜合業務管理,幫助企業實現商機過程的全面管理和控制,以及有效分析客戶價值并維護客戶關系。選擇合適的算法提高系統的分析精準性,能夠使得企業在市場中更具競爭力,發現銷售數據中的頻繁盈利事件[1]。商機管理主要用于銷售人員管理商機的基本信息,包括客戶信息、商機狀態、商機價值、商機規模、商機可能性等,通過對銷售管線要素的定義,形成銷售管理模型。
商機管理的核心意義就是實現對于客戶關系的分析和預測,客戶關系管理(CRM)使得企業與客戶之間溝通更加完美[2-3]。商機管理的假設就是每類客戶的價值都所有差異,企業主要工作的開展都應該以客戶為中心。雖然目前已經有很多企業認識到了商機管理的重要性,但傳統企業經營管理方式并沒有改變,因此需要引進數據挖掘技術來提高商機管理的能力,對潛在的客戶進行深入挖掘分析[4-5]。
在國內,商機管理仍處于發展的起步階段,大部分是作為CRM產品的子模塊,由專業CRM軟件公司幫助銷售人員按照標準流程進行商機的全流程管控。隨著計算機、通信技術和網絡應用的飛速發展,信息化和網絡化理念已經深入人心,特別是大數據、云計算應用的興起,很多企業有了相當的信息化基礎[6-7]。然而,我國企業在商機數據價值的提煉和轉化上仍然存在諸多局限性,大多停留在簡單的數據操作階段。很多企業面臨的問題由客戶管理轉變為如何獲取更多的有效信息,挖掘潛在客戶特征并進行評估和跟蹤。
而在國外,商機管理是伴隨CRM發展起來的,互聯網技術的迅猛發展更加速了商機管理的成熟應用,特別是Web站點、電子郵件、在線自助服務等使得企業進一步拓寬了服務能力,商機管理系統進入了真正的推廣時期。隨著大數據和云計算時代的到來,數據的價值得到充分重視,數據挖掘技術在商機管理中發揮的作用越來越大[8-9]。客戶分類分析和客戶盈利分析是數據挖掘在商機管理中的兩類典型應用場景:
(1) 客戶分類分析
數據挖掘技術能夠實現客戶群體的分類和聚類。通過對客戶數據的收集、加工、存儲以及分析處理,根據不同需求將大量客戶數據分成不同類別。決策樹是典型的分類方法[10],將決策樹的每個葉節點視為一個獨立的客戶分類,從根節點到葉節點的路徑對應一個屬性判斷序列,通過客戶所處的葉節點位置可以預測他們的行為模式;聚類作為一種研究分類問題的統計分析方法,根據客戶屬性特征對客戶進行群體劃分從而實現客戶細分,典型算法有K-means、SOM(Self-Organizing Map)、模糊聚類[11]等。
(2) 客戶盈利分析
數據挖掘技術能夠預測客戶盈利能力的變化。一是對潛在的客戶進行定性分析,該步驟也可以通過客戶分類分析完成;二是客戶盈利能力的定量分析,通過量化函數對客戶的盈利能力進行估計和預測,如果需要做到較為精確的估算,則需要使用科學計算方法進行求解,例如基于統計的時間序列模型[12],典型的有ARIMA、Box-Jenkins、神經網絡等數據挖掘算法。
在真實的業務場景中操作時需要克服以下幾個問題:首先,每種數據挖掘方法都存在各自的局限性,難以得到理想的訓練模型。例如線性分析預測的精度較低,分類回歸樹泛化的能力較差,人工神經網絡需要的樣本數較多,聚類分析可重復性差并且容易出錯等。另一方面,由于實際問題中的樣本數量是有限的,并且有數據噪聲的存在,許多分析結果并不一定合理。
商機管理的核心在于構建商機分類與預測模型,利用組合方案挖掘并轉化數據價值。支持向量機SVM是一種以有限樣本統計學習理論為基礎的通用學習方法[13],較好地解決了小樣本、高維數、非線性等的學習問題。支持向量回歸算法SVR是SVM的一種拓展類型,主要通過在高維空間中構造線性決策函數來實現線性回歸,即可以有效地完成非線性擬合。本文基于SVR算法對商機管理的數據挖掘部分進行優化,采用集成優化策略避免單個模型過學習的問題,從而穩定提升模型性能。
數據預處理是將失效樣本、噪聲樣本、重復樣本等數據在建模之前清理,縮小樣本范圍,改善樣本質量,減少甚至消除其對建模的影響。由于銷售活動的各個階段都可以產生數據,數據來源比較分散,所以在建模之前需要先對數據進行預處理。
1.1 客戶信息數據整合
以客戶信息數據整合為例,商機預測需要的數據主要來源于客戶表(CustInfo)、客戶詳細信息表(CustDetailInfo)、客戶維系記錄表(CustVisit)、客戶訂單表(CustOrder)、客戶關系群組(CustGroup)、關系群組信息(GroupInfo)、產品表(Product)等。數據整合就是把這些分散的表數據進行整理合并,減少復雜的多表關聯方式查詢數據。通過客戶唯一編號關聯各表,最后集成為較簡單的數據表,提高模型計算的利用率。
1.2 數據建模變量選擇
樣本數據預處理完成后,需要選擇或構造樣本變量。樣本變量選擇的基本原則是變量應與目標值相關,即對不同類別的樣本而言,變量或變量的組合應具有確定的或概率上的差異性。選擇與商機識別有關的目標屬性,區分數據挖掘需要使用到的信息。使用Apriori算法挖掘與銷售成功事件相關聯的屬性值,并且建立一個具有缺省數據的規則庫自動補充一些基本信息。首先將數值型數據離散化;其次是屬性融合,由于Apriori適用于單維、單層關聯關系的挖掘,而商機相關的屬性至少是二維關聯關系,因此需要將二維數據映射成單維數據。最后根據預先設定的置信閾值得到與銷售成功相關的屬性。
1.3 不同數據字段轉換
在數據集成、數據抽取和建模變量確定之后,將處理過的數據保存在新的數據庫表中。對于某幾個屬性值在不同表中的含義相同,但字段類型定義或者字段取值不一致的問題,在合并之后進行數據字段的統一轉換。對于記錄了客戶隱私信息或者商業敏感信息的數據字段,將其轉換為不含具體意義的數值類型。
1.4 數據清洗和數據修補
通過數據清洗過濾掉不符合要求的“臟數據”。系統仍然可能存在少量的缺失值和錯誤值,它們在一定程度上影響建模效果。數據的修補方法是靈活多樣的,但針對具體問題使用合適的修補方法才能獲得好的效果。本文使用“類內同分布隨機補值算法”的補值算法,建模結果表明,按照該算法對缺失值進行處理,效果的確是比較理想的。
1.5 數據預處理任務的執行策略
數據預處理任務采用定時增量計算的方式運行。每次計算都根據數據的創建時間,取上一次任務以來增量的數據進行預處理。在分析任務開始時先運行該模塊,確保異常數據得到處理。
2.1 商機預測分類
商機預測分析利用采集到的商機樣本數據,通過SVR算法進行數據挖掘并生成多個分類,例如客戶商機可靠性規則、客戶價值評估規則、客戶流失評估規則、問題與答案關聯規則等,這些為系統的商機應用管理提供可預測的能力模型。
構建集成目標函數是整個模型的關鍵。在商機采集數據預處理之后,本文使用多種方法構建集成目標函數,避免單一模型造成的過學習問題,增強訓練模型的泛化能力。將數據劃分為訓練樣本和測試樣本兩部分,對模型的進行訓練和測試。選用測試樣本進行測試,如果滿足精度要求,則模型訓練結束,否則選擇另外的參數,直到建立的模型滿足精度要求為止。


(1)
不同葉節點下C4.5決策樹的性能變化趨勢如圖1所示。由圖1可知,在相同樣本集上建立的決策樹,隨著葉節點樣本數閾值的變化,其性能是不斷波動的;但是在相同葉節點樣本數閾值條件下,不同樣本集建立的決策樹具有穩定的整體性能,該性能隨著葉節點樣本數閾值的增加而平滑降低。并且構造的目標函數具有收斂性,可以用于表征決策樹的穩態性能。

圖1 不同葉節點下C4.5決策樹的性能
而隨著葉節點樣本數閾值的增大,單個樣本集建立的模型穩定性下降的同時性能函數也逐漸降低。造成該現象的原因一方面是葉節點樣本數閾值增大導致了模型的學習精度下降,并引起查全率的下降,從而使得學習性能下降;另一方面,葉節點樣本數閾值的增大會造成模型的學習穩定性下降,使得學習性能波動幅度加劇。
不同葉節點下C4.5決策樹的泛化能力變化趨勢如圖2所示。由圖2可見,葉節點樣本數閾值的變化并未引起泛化能力的顯著下降。在葉節點樣本數閾值接近70時,穩態泛化能力達到最佳。這是因為葉節點樣本數的增加抵消了模型過學習帶來的不利影響,從而達到了性能平衡。

圖2 不同葉節點下C4.5決策樹的泛化能力
2.2 基于SVR的目標函數優化方法
為了得到最優的穩態模型,將前文的集成目標函數作為優化目標,優化模型參數。事實上,使用貪心算法、遺傳算法、粒子群算法、模擬退火算法等均可以求解該優化問題,但由于目標函數是一個統計值,使用上述算法會使得計算十分復雜。下面基于SVR算法對目標函數進行優化。
SVR算法的思想是在參數定義域內按照一定的采樣間隔張起一張正交網格,根據網格交點處的目標函數值,通過內插方法預測參數的最優位置。該算法具體步驟如下:確定SVR算法的核函數、核參數、精度誤差ε、懲罰變量C。核函數設置為RBF核函數:
k(xi,xj)=exp(-λ‖xi-xj‖2)
(2)
其中λ=1/σ2即為核參數。λ和C的取值沒有固定規則可尋,一般選擇某一固定值ε,使用交叉驗證法,對選取的核函數不斷修改核參數和懲罰變量C的值,通過訓練樣本進行訓練學習獲取核參數λ和C的最佳組合。誤差精度ε是系統要求的預測精度,取值一般在2%~4%,本系統取2%。模型預測評價指標選用式(3),選取最小SRE時的λ和C的取值,重復多次后得到最佳的參數組合。
(3)
確定支持向量表達式。λ和C參數確定后,利用約束公式計算b和w,就可以明確性能函數f(x)的具體表達方式:

(4)
以某在線英語教育系統為例進行商機挖掘的案例分析。共獲取該英語教育系統2014年3月至6月的客戶行為數據4 325條記錄,經過數據清洗和修復,去除含有缺失值、錯誤值等記錄后得到3 288條合規記錄。將該數據按2∶1的比例分為2 192條訓練數據以及1 096條測試數據。
由于小樣本數據質量較差,數據與需要解決的問題關聯度不高,數據不平衡性非常嚴重,因此數據建模難度較高,難以通過人工調優或傳統的尋優方法對模型進行優化。此外,目標函數的構造取決于實際問題需要,不同情況下的優化策略各不相同。
本文使用SVR算法對C4.5決策樹構造的目標函數進行趨勢分析,找出較好且穩定的一組參數解。將正交網格中的目標函數值使用ξ-SVR進行趨勢分析,得到模型性能趨勢如圖3所示。

圖3 上采樣率-葉節點樣本數閾值-目標函數的SVR趨勢
由圖3可知,當上采樣率為7、葉節點樣本數閾值為70時,模型的穩態性能達到最優。實際上,當目標函數不同時模型的最優參數值也不同。
除C4.5決策樹之外,本文利用SVR算法對樸素貝葉斯(最佳上采樣率、離散化數)和隨機森林(最佳上采樣率、最佳葉節點樣本數閾值)的分類模型進行了優化,方法與C4.5決策樹相似。同時,為了橫向比較SVR的優化效果,使用人工神經網絡(ANN)算法對上述三個分類模型進行優化。調優前和調優后模型的性能對比見表1所示。

表1 模型調優前與調優后性能分析
由表1可知,通過SVR的趨勢分析法對集成目標函數優化之后,三種分類模型的穩態性能得到了較好地提升,特別是C4.5決策樹構建的目標函數性能提升最大。與ANN算法相比,SVR算法對C4.5決策樹和隨機森林構建的目標函數優化更加明顯,而對樸素貝葉斯模型調優后性能略低于ANN算法,但在可接受范圍內。
總體說來,通過對比SVR在不同分類模型中的應用效果,實驗結果表明SVR算法對小樣本下的商機預測分類模型有明顯的性能提升,尤其是在C4.5決策樹目標函數尋優的趨勢分析上有顯著優勢。
本文將SVR算法用于商機預測建模過程,用于解決小樣本、高維數、非線性的學習問題。通過集成目標函數和基于SVR的趨勢分析方法,提升分類模型穩態性,同時使模型具有較好的泛化能力。特別是對于C4.5決策樹構建的目標函數,基于SVR的趨勢尋優算法顯著提升了模型性能。
本方法非常適合中小企業在收集數據樣本不足的情況下使用,即在有限的樣本數量條件下獲得較為科學和精準的分類結果。銷售人員可以根據分類情況得到有價值的潛在客戶預測,從而采用合適的個性化營銷方案提升企業的商機轉化效率。
[1] Ait-Mlouk A,Gharnati F,Agouti T.Multi-agent-based modeling for extracting relevant association rules using a multi-criteria analysis approach[J].Vietnam Journal of Computer Science,2016,3(4):235-245.
[2] Qiu J,Lin Z,Li Y.Predicting customer purchase behavior in the e-commerce context[J].Electronic Commerce Research,2015,15(4):427-452.
[3] Khosravifar B,Bentahar J,Gomrokchi M,et al.CRM:An efficient trust and reputation model for agent computing[J].Knowledge-Based Systems,2012,30(2):1-16.
[4] Tsui P T,Li F C,Pang A H,et al.Using innovative customer relationship management technologies to explore the business opportunities of an ageing population and provide better service[J].SpringerPlus,2015,4(2):1-2.
[5] Beheshti S,Benatallah B,Motahari-Nezhad H R.Scalable graph-based OLAP analytics over process execution data[J].Distributed and Parallel Databases,2016,34(3):379-423.
[6] Tian X,Liu L.Does big data mean big knowledge? Integration of big data analysis and conceptual model for social commerce research[J].Electronic Commerce Research,2017,17(1):169-183.
[7] Loukis E,Kyriakou N,Pazalos K,et al.Inter-organizational innovation and cloud computing[J].Electronic Commerce Research,2016:1-23.
[8] Chan C C H,Hwang Y,Wu H.Marketing segmentation using the particle swarm optimization algorithm:a case study[J].Journal of Ambient Intelligence and Humanized Computing,2016,7(6):855-863.
[9] Liu Q,Huang S,Zhang L.The influence of information cascades on online purchase behaviors of search and experience products[J].Electronic Commerce Research,2016,16(4):553-580.
[10] Murthy S K.Automatic Construction of Decision Trees from Data:A Multi-Disciplinary Survey[J].Data Mining and Knowledge Discovery,1998,2(4):345-389.
[11] Bede B.Fuzzy Clustering[M].Mathematics of Fuzzy Sets and Fuzzy Logic,Berlin,Heidelberg:Springer Berlin Heidelberg,2013:213-219.
[12] Akaike H.A New Look at the Statistical Model Identification[M].Selected Papers of Hirotugu Akaike,Parzen E,Tanabe K,Kitagawa G,New York,NY:Springer New York,1998:215-222.
[13] Caserta M,Lessmann S,Voβ S.A Novel Approach to Construct Discrete Support Vector Machine Classifiers[C]//Advances in Data Analysis,Data Handling and Business Intelligence-Proceedings of the,Conference of the Gesellschaft Für Klassifikation E.v. Joint Conference with the British Classification Society.DBLP,2009:115-125.
APPLICATIONOFSUPPORTVECTORREGRESSIONALGORITHMINBUSINESSOPPORTUNITIESMANAGEMENT
Jiang Danni Xu Yuqing
(SoftwareSchoolofFudanUniversity,Shanghai200433,China)
With the increasingly fierce market competition and the development of information technology, the prediction of potential business opportunities through data analysis and data mining becomes an important part of business opportunities management. Most of machine learning algorithms are principally based on the hypothesis that the number of samples tends to be infinite, but the reality is different so that the reasonableness of the results cannot be guaranteed. Support vector regression (SVR) algorithm is used to predict the reliability of the data modeling process to address small sample, multi-dimension, nonlinear problems of the training model. The results show that SVR algorithm has a high accuracy of predicting results in limited sample space.
Business opportunities management Data mining Support vector regression Classification algorithm
TP3
A
10.3969/j.issn.1000-386x.2017.09.019
2016-11-10。蔣丹妮,碩士生,主研領域:流程管理,數據挖掘。徐玉清,碩士。