丁雪平
(安徽財(cái)經(jīng)大學(xué)管理科學(xué)與工程學(xué)院,安徽 蚌埠 233030)
人類正以驚人的速度產(chǎn)生著大量的數(shù)據(jù),如何對(duì)這些數(shù)據(jù)進(jìn)行處理并得到我們需要的信息,對(duì)企業(yè)進(jìn)行有效的指導(dǎo),越來越受到眾多研究者的關(guān)注。隨著大數(shù)據(jù)時(shí)代的到來,數(shù)據(jù)挖掘的工作也變得越來越難,處理數(shù)據(jù)的時(shí)間也要求越來越短。如果企業(yè)在面對(duì)這些海量的數(shù)據(jù)時(shí),缺乏有效的分析手段,這些蘊(yùn)藏著大量的、有價(jià)值的、相互關(guān)聯(lián)的信息的數(shù)據(jù)就很有可能成為企業(yè)的包袱,甚至是垃圾。數(shù)據(jù)挖掘技術(shù)的應(yīng)用,成為企業(yè)的一筆寶貴的財(cái)富。
數(shù)據(jù)挖掘(DM)又稱數(shù)據(jù)庫中的知識(shí)發(fā)現(xiàn)(KDD)。所謂數(shù)據(jù)挖掘是指從大量的、有噪聲、模糊、隨機(jī)的數(shù)據(jù)中揭示出隱含的、先前未知的并且具有潛在價(jià)值信息和知識(shí)的一個(gè)過程。數(shù)據(jù)挖掘是一種決策支持過程,它是一個(gè)交叉學(xué)科領(lǐng)域,受多個(gè)學(xué)科的影響,包括數(shù)據(jù)庫系統(tǒng)、統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)、可視化、信息科學(xué)等。高度自動(dòng)化地分析企業(yè)的數(shù)據(jù),做出歸納性的推理,從中挖掘出潛在的模式,幫助決策者調(diào)整市場(chǎng)策略,減少風(fēng)險(xiǎn),做出正確的決策。本文講述了某金融機(jī)構(gòu)市場(chǎng)部門希望通過為每一位客戶提供最適合他的報(bào)價(jià),進(jìn)而在未來的商業(yè)競(jìng)爭中為了獲取更為有益的結(jié)果。
數(shù)據(jù)挖掘的算法有很多,本文選取了幾種比較常見的算法,神經(jīng)網(wǎng)絡(luò)、貝葉斯網(wǎng)絡(luò)、決策樹、SVM(支持向量機(jī))、KNN、CHAID、QUEST,就優(yōu)缺點(diǎn)以及適用范圍進(jìn)行簡單的比較,如下表1所示。
表1 常用算法比較
由上表可以看出,各種算法都具有許多優(yōu)缺點(diǎn),使用范圍也是比較有限的。在我們不知道選用何種建模方法更好、更適合的情況下,可以選用二進(jìn)制目標(biāo)自動(dòng)建模方法,這種建模方法可以同時(shí)運(yùn)用多種模型進(jìn)行預(yù)測(cè)估計(jì),綜合多個(gè)模型的優(yōu)點(diǎn),并且使得對(duì)各種方法的嘗試和對(duì)結(jié)果的比較變得更容易。例如,我們不需要為神經(jīng)網(wǎng)絡(luò)選擇某個(gè)快速、動(dòng)態(tài)或修剪的方式,完全可以全部嘗試,或者就直接進(jìn)行綜合以后整體模型的估計(jì),選擇執(zhí)行最好的來指導(dǎo)我們進(jìn)行預(yù)測(cè)。該模型還可以選擇需要使用的特定建模方法以及每種算法的特定選項(xiàng),也可以為每個(gè)模型指定多個(gè)變量。
在建模的過程中,我們經(jīng)常會(huì)遇到一些因變量是類別變量,甚至有些是二元變量。如客戶的流失情況,僅有客戶流失與客戶不流失這兩種情況;客戶的響應(yīng)情況,也只有響應(yīng)與不響應(yīng)這兩種結(jié)果。例如是否給予客戶可能拖欠貸款。在數(shù)據(jù)挖掘中我們可以使用二元分類器節(jié)點(diǎn)進(jìn)行解決這類問題。
二元分類器就是將一個(gè)線性分類利用超平面劃分高維空間的情況:在超平面一側(cè)的所有的點(diǎn)都被分類成“是”,另一側(cè)則分成“否”,也就是說透過這個(gè)分類器只可以將資料分成兩個(gè)類別(是或否)。在數(shù)據(jù)挖掘中,二元分類器能夠自動(dòng)創(chuàng)建和對(duì)比二元結(jié)果,可以在單次傳遞中預(yù)測(cè)和比較多種不同的建模方法,從而簡化了對(duì)各種算法進(jìn)行嘗試以及對(duì)結(jié)果的比較,即二元分類器自動(dòng)建模的關(guān)鍵作用就是無需人工選擇建立何種模型,以及如何建模,它完全可以自動(dòng)建模,并且同時(shí)可以比較不同模型的優(yōu)劣,展示出我們需要的結(jié)果。它還可以選擇需要使用的特定建模算法及每種算法的特定選項(xiàng)。例如,您無需為神經(jīng)網(wǎng)絡(luò)選擇快速、動(dòng)態(tài)或修剪之中的某個(gè)方式,完全可以全部嘗試,而且每種可能的設(shè)置組合都可以使用,這就是在數(shù)據(jù)挖掘中的好處了。此外,在數(shù)據(jù)挖掘SPSS Clementine軟件中該節(jié)點(diǎn)可基于指定的選項(xiàng)估計(jì)模型集并基于指定的標(biāo)準(zhǔn)對(duì)所生成的候選模型進(jìn)行排序。也就是說一個(gè)相對(duì)簡單的流,能夠生成和排列一組候選模型,您可以從中選擇那些執(zhí)行比較好的,然后采用整體節(jié)點(diǎn)將它們合并成單一的聚合模型。這種方法綜合了自動(dòng)化與多個(gè)模型相結(jié)合的好處,聚合模型往往會(huì)產(chǎn)生比從任何一個(gè)模型更準(zhǔn)確的預(yù)測(cè)。尤其是對(duì)于那些不知道哪種模型最適合評(píng)估或預(yù)測(cè)的情況下,可以嘗試多種方法,然后進(jìn)行比較,選擇錄用最好的模型。
二元分類器節(jié)點(diǎn)可用于創(chuàng)建和對(duì)比二元結(jié)果(是或否,流失或不流失等)的若干不同模型,使用戶可以選擇給定分析的最佳處理方法。由于支持多種建模算法,因此可以對(duì)用戶希望使用的方法、每種方法的特定選項(xiàng)以及對(duì)比結(jié)果的標(biāo)準(zhǔn)進(jìn)行選擇。節(jié)點(diǎn)根據(jù)指定的選項(xiàng)生成一組模型并根據(jù)用戶指定的標(biāo)準(zhǔn)排列最佳候選項(xiàng)的順序。
二進(jìn)制是計(jì)算技術(shù)中廣泛采用的一種數(shù)制。任何一個(gè)二進(jìn)制數(shù)據(jù)只需要用0和1兩個(gè)代碼來表示就夠了。與二元分類器的原理幾乎相同,在用二進(jìn)制目標(biāo)進(jìn)行分類預(yù)測(cè)的時(shí)候,我們通常選擇“1”表示“是”表達(dá)肯定或者是通過,歸為第一類;“0”表示“否”表示否定或者沒有通過,歸為第二類。在這整個(gè)分類的過程中都是自動(dòng)化的,無需人工操作,即得到了最后想要的結(jié)果,即自動(dòng)建模。基于此,本文如下舉一個(gè)具體的例子進(jìn)行說明。
本示例基于某一金融公司,金融公司收集了過去四種不同活動(dòng)的銷售信息(分別標(biāo)明為 1、2、3、4),希望通過對(duì)這些歷史數(shù)據(jù)進(jìn)行分析,進(jìn)而在以后的營銷活動(dòng)中為每一位客戶匹配合適的報(bào)價(jià)以創(chuàng)造更好的結(jié)果。公司記錄了向21928名顧客進(jìn)行推銷的詳細(xì)信息(campaign,)、該顧客是否接受(response)、以及顧客的一些個(gè)人信息和其他服務(wù)信息,如年齡(age)、性別(gender)、收入(income)等等,全部記錄在數(shù)據(jù)文件pm_customer_train1.sav中。由于四種活動(dòng)舉辦的時(shí)間、收集的數(shù)據(jù)量等都有所不同,其中銷售計(jì)劃 2中的記錄數(shù)量最多,數(shù)據(jù)比較全,因此本文將重點(diǎn)對(duì)一個(gè)時(shí)間段的銷售計(jì)劃進(jìn)行建模研究。
(1)數(shù)據(jù)訓(xùn)練
第一步:添加SPSS源節(jié)點(diǎn),導(dǎo)入數(shù)據(jù)。數(shù)據(jù)已跟蹤到特定的客戶在過去活動(dòng)中,所提供的活動(dòng)字段值表示的是歷史數(shù)據(jù)。
第二步:添加類型節(jié)點(diǎn),并選擇response作為目標(biāo)字段,方向設(shè)置為輸出,其余字段的方向均為輸入方向,并將其類型設(shè)置為標(biāo)志。
第三步:添加選擇節(jié)點(diǎn)。數(shù)據(jù)包含四項(xiàng)不同活動(dòng)的信息,但我們將重點(diǎn)分析在一個(gè)時(shí)間段的活動(dòng)。由于紀(jì)錄數(shù)量最多屬于銷售計(jì)劃于(數(shù)據(jù)中的編碼為 campaign=2),因此我們可以使用Select節(jié)點(diǎn)來選擇僅包含這些記錄中的數(shù)據(jù)流。
第四步:添加二元分類器節(jié)點(diǎn),進(jìn)行模型估計(jì)。在一、 兩分鐘之后,一份報(bào)告展示出關(guān)于每個(gè)在運(yùn)行期間的模型估計(jì)所列出的詳細(xì)的信息。(在實(shí)際情況下,在一個(gè)大的數(shù)據(jù)中,往往需要估計(jì)數(shù)百個(gè)模型,這可能需要花費(fèi)幾個(gè)小時(shí))。我們可以瀏覽結(jié)果并生成建模節(jié)點(diǎn)、 模型掘金或?yàn)槿魏文胍褂没蜻M(jìn)一步探索的模型評(píng)價(jià)圖。在默認(rèn)情況下,模型是基于總體準(zhǔn)確性排序,因?yàn)檫@是選擇的二進(jìn)制分類器節(jié)點(diǎn)中的量。以這個(gè)標(biāo)準(zhǔn)來衡量,我們可以從圖2中看出排名最好的C51模型,但其他幾個(gè)模型也近乎準(zhǔn)確。我們可以通過單擊列標(biāo)題,在不同的列中進(jìn)行排序,或者可以通過工具欄上的下拉列表選擇所需的方法。
第五步:根據(jù)這些結(jié)果,我們決定選擇模型中生成的三個(gè)最準(zhǔn)確的模型,并將它們添加到流中,使用整體節(jié)點(diǎn)結(jié)合他們。通過結(jié)合多個(gè)模型的預(yù)測(cè),我們可以避免限制在各自的單個(gè)模型中,進(jìn)而達(dá)到更高的整體準(zhǔn)確度。
第六步:添加一個(gè)分析節(jié)點(diǎn),輸出結(jié)果。形成的樣本流如圖所示:
圖1 二元分類樣本流
(2)模型結(jié)果分析
本文選擇單個(gè)模型中執(zhí)行最好的C51來分析。從C51模型執(zhí)行結(jié)果可以看出客戶是否會(huì)購買這種金融產(chǎn)品的主要影響因素是收入(income) 、交易數(shù)量(number_transactions)、營銷分部(branch)有關(guān)。并且影響力最大的是收入,占80%以上。
圖2 變量重要性判別
基于變量的重要性,我們選最重要的這一個(gè)收入作為分類節(jié)點(diǎn)來演示對(duì)客戶進(jìn)行的聚類,如下表所示:
表1 C51聚類
由表可知,收入大于55648的人有918個(gè)客戶,他們100%會(huì)購買這這項(xiàng)金融產(chǎn)品,我們不需要再進(jìn)行分類,我們可以直接進(jìn)行預(yù)測(cè),只要收入高于此數(shù)目,就極有可能購買這項(xiàng)金融產(chǎn)品,我們無需在這些客戶中花費(fèi)大量精力去營銷。而收入小于等于55648的客戶有12586人,其中沒有購買的人有1034人,占8.215%,我們不知道這些不購買客戶的具體特點(diǎn),因此我們繼續(xù)進(jìn)行聚類分析。結(jié)下來選擇交易數(shù)量作為分類節(jié)點(diǎn)進(jìn)行聚類??芍灰琢啃∮?2的那些客戶中,有92.996%的客戶沒有購買此金融產(chǎn)品,因此我們可以對(duì)這些客戶群制定策略,進(jìn)行重點(diǎn)營銷。而對(duì)于交易量大于12的那些客戶可選擇branch作為分類節(jié)點(diǎn)進(jìn)行聚類分析,我們能夠分析出哪一個(gè)行銷分支機(jī)構(gòu)的營銷工作進(jìn)行的比較好,進(jìn)行的不好的那些分支機(jī)構(gòu)如何有針對(duì)性的改進(jìn)工作,提高營銷效率,進(jìn)而是整個(gè)組織獲得更大的利潤。聚合模型的執(zhí)行結(jié)果如圖3所示。
圖3 分析節(jié)點(diǎn)處理結(jié)果
本文把由單個(gè)C51,C&R樹和神經(jīng)網(wǎng)絡(luò)模型生成的預(yù)測(cè),分別被命名為$C-response, $R-response,and $N-response(用每個(gè)模型類型的前綴與目標(biāo)字段的名稱相結(jié)合來確定這些字段名稱)。整體模型則命名為$XF-response。在訓(xùn)練數(shù)據(jù)后進(jìn)行衡量的測(cè)量中,預(yù)測(cè)值與實(shí)際響應(yīng)相匹配的情況分別為92.86%,92.55%和92.18%。
由上圖可以看出,整體模型的整體精確性為92.78%,這4個(gè)模型之間的一致性也高達(dá)97.77%。在這種情況下雖然不是跟那最好的三個(gè)單個(gè)模型一樣精確,但是區(qū)別很小,都在92%以上,因此是有意義的??傮w而言,當(dāng)集成模型應(yīng)用到數(shù)據(jù)集以外的訓(xùn)練數(shù)據(jù)時(shí),通常將有可能表現(xiàn)的更好。
綜上所述,本文使用二元分類器節(jié)點(diǎn)比較了多種不同的模型,選擇生成結(jié)果中那些執(zhí)行較精確的模型,并將它們添加到流,與整體節(jié)點(diǎn)結(jié)合使用,進(jìn)行分析預(yù)測(cè)?;诩赡P?、C51、C&R樹和神經(jīng)網(wǎng)絡(luò)模型上進(jìn)行最好的鍛煉數(shù)據(jù),集成模型分析的結(jié)果幾乎和最好的單個(gè)模型一樣,并且如果把集成模型應(yīng)用到其他數(shù)據(jù)庫時(shí),可能會(huì)有更好的表現(xiàn)。如果目標(biāo)是使盡可能多的過程自動(dòng)化,無需深入挖掘任何一種模式的具體細(xì)節(jié)時(shí),這個(gè)方法就可以讓我們獲得一個(gè)可靠的模型。
針對(duì)數(shù)據(jù)挖掘的幾種主要算法,分析了各自的優(yōu)缺點(diǎn)及其所適用的領(lǐng)域。目前數(shù)據(jù)挖掘逐漸從高端的研究轉(zhuǎn)向常用的數(shù)據(jù)分析。在國外像金融業(yè)、零售業(yè)等這樣一些對(duì)數(shù)據(jù)分析需求比較大的領(lǐng)域已經(jīng)成功地采用了數(shù)據(jù)挖掘技術(shù)來輔助決策。盡管如此,數(shù)據(jù)挖掘技術(shù)仍然面臨著許多問題和挑戰(zhàn)。如超大規(guī)模數(shù)據(jù)集中的數(shù)據(jù)挖掘效率有待提高,開發(fā)適應(yīng)于多數(shù)據(jù)類型、有噪音的挖掘方法,網(wǎng)絡(luò)與分布式環(huán)境下的數(shù)據(jù)挖掘,動(dòng)態(tài)數(shù)據(jù)和知識(shí)的數(shù)據(jù)挖掘等??傊?,數(shù)據(jù)挖掘只是一個(gè)強(qiáng)大的工具,它不會(huì)在缺乏指導(dǎo)的情況下自動(dòng)地發(fā)現(xiàn)模型,而且得到的模型必須在現(xiàn)實(shí)生活中驗(yàn)證。數(shù)據(jù)分析者們必須知道他所選用的挖掘算法的原理是什么以及是如何工作的,并且要深刻了解期望解決問題的領(lǐng)域,理解數(shù)據(jù),了解其過程,只有這樣才能解釋最終所得到的結(jié)果,從而促使挖掘模型的不斷完善和提高,使得數(shù)據(jù)挖掘真正地滿足信息時(shí)代人們的要求,服務(wù)于社會(huì)。
[1] 邵峰晶.數(shù)據(jù)挖掘原理與算法[M].北京:科學(xué)出版社,2009.
[2] 陸安生.決策樹C5算法的分析與應(yīng)用[J].電腦知識(shí)與技術(shù),2005.
[3] Jiawei Han,Micheline Kamber,Data Mining: Concepts and Techniques, Second Edition[M] Beijing: China Machine Press. 2007.
[4] 陳良維.數(shù)據(jù)挖掘中聚類算法研究[J].微計(jì)算機(jī)信息,2006.
[5] 王立偉.數(shù)據(jù)挖掘研究現(xiàn)狀綜述[J].圖書與情報(bào),2008(5).
[6] 夏艷軍,周建軍,向昌盛.現(xiàn)代數(shù)據(jù)挖掘技術(shù)研究進(jìn)展[J].江西農(nóng)業(yè)學(xué)報(bào),2009.
[7] 陶翠霞.淺談數(shù)據(jù)挖掘及其發(fā)展?fàn)顩r[J].科技信息,2008(4).
[8] 談恒貴.王文杰.李游華.數(shù)據(jù)挖掘分類算法綜述[J].微型機(jī)與應(yīng)用,2005(2).