吳 臻
(上海木材工業(yè)研究所有限公司 上海 200051)
隨著檢測技術(shù)的精細化、智能化,檢測行業(yè)發(fā)展迅速,競爭環(huán)境日趨惡劣,檢測服務不僅需要技術(shù)的提升,服務質(zhì)量也需要達到更高的標準,這樣才能使客戶的消費更具有彈性和粘性。據(jù)粗略統(tǒng)計,每年一個檢測站中產(chǎn)生的檢測相關(guān)數(shù)據(jù)多達3萬條,僅僅委托信息產(chǎn)生的數(shù)據(jù)就有1萬多條,針對這些數(shù)據(jù)進行分析與挖掘,可以讓數(shù)據(jù)變得鮮活。利用數(shù)據(jù)挖掘技術(shù),在這些海量數(shù)據(jù)后面發(fā)現(xiàn)有價值的線索和規(guī)律,精確滿足客戶需求,實現(xiàn)精細化營銷。
隨著社會從信息化進入到數(shù)字化,大數(shù)據(jù)技術(shù)得到較快發(fā)展,而這又促使機器學習高速發(fā)展。在眾多機器學習算法中,聚類分析方法具有實用性、簡單化和高效性的特點,這些優(yōu)點使聚類分析方法廣泛應用于許多領域[1]。
數(shù)據(jù)挖掘是一門將人工智能、機器學習、模式識別、數(shù)據(jù)庫、可視化技術(shù)等技術(shù)進行交叉綜合的學科。本質(zhì)上,數(shù)據(jù)挖掘是通過分析每個數(shù)據(jù),并使用技術(shù)在大量數(shù)據(jù)中查找其規(guī)律模式的過程。換言之,數(shù)據(jù)挖掘是從未知的數(shù)據(jù)庫中揭露隱含的、之前未知的并有潛在價值的數(shù)據(jù)的過程。數(shù)據(jù)挖掘的過程一般難度系數(shù)大,且是一個多層次的過程,它包含了數(shù)據(jù)準備、數(shù)據(jù)挖掘、結(jié)果表達和解釋3個主要階段,見圖1[2]。
在數(shù)據(jù)挖掘技術(shù)中有一種非常常用且重要的技術(shù),叫作聚類分析技術(shù),在機器學習中,它屬于無監(jiān)督學習方法。在對數(shù)據(jù)不作任何假設的條件下,聚類分析使用數(shù)學方法研究數(shù)據(jù)集對象,并將所給對象進行分類,然后分析各類之間的親疏程度。聚類分析的目標是將數(shù)據(jù)分類到不同的類或簇,相同類別內(nèi)的數(shù)據(jù)有很大的相似性,而不同類別之間的差異則較大[3]。從本質(zhì)上可以將這種技術(shù)定義為嘗試將對象按相關(guān)特征進行分組,使同一組的對象處于同一聚類中的過程。按照數(shù)據(jù)是否劃分層次,聚類分析算法可以分為兩大類:即層次聚類算法和劃分聚類算法。層次聚類算法是通過某種相似性規(guī)律將各節(jié)點進行排序,由此形成一個具有高層次結(jié)構(gòu)的聚類樹,按照各節(jié)點排序方式將聚類樹分成兩種類型:一種是以自下向上的方式構(gòu)建樹結(jié)構(gòu),叫做凝聚型層次聚類;另一種是以自上向下的方式構(gòu)建樹結(jié)構(gòu),叫做分裂型層次聚類。劃分聚類算法則是根據(jù)預先指定聚類數(shù)目和聚類中心,將數(shù)據(jù)集分成若干個沒有交集的簇,在這一過程中會優(yōu)化一些損失函數(shù)[4]。需要注意的是,聚類分析只能分析連續(xù)性的數(shù)據(jù)值,而不能分析離散化的數(shù)據(jù)。
K-Means算法是聚類分析算法中最為普遍使用的算法,它具有聚類效果良好、原理簡單易懂等優(yōu)點,在1967年,Mac Queen就首次使用K-Means算法對數(shù)據(jù)進行了聚類分析。K-Means算法是以數(shù)據(jù)對象間的距離即歐式距離作為衡量數(shù)據(jù)對象間相似度的指標,而數(shù)據(jù)的相似度與數(shù)據(jù)間的距離呈反比關(guān)系,這意味著數(shù)據(jù)間相似度越高,則數(shù)據(jù)之間的距離越小,通過按照數(shù)據(jù)間距離將數(shù)據(jù)對象進行分類,可以得到不同的聚類分布。K-Means算法的前提是需要預先給出初始聚類簇數(shù)k值,通過k值可以得到不同的聚類中心,然后再根據(jù)數(shù)據(jù)對象與聚類中心之間的相似度,不斷調(diào)整聚類中心的位置,在這過程中類簇的誤差平方和(Sum of Squared Error,SSE)也在不斷降低,當SSE不再變化或目標函數(shù)收斂時,此時聚類分析結(jié)束,并得到最終結(jié)果。
K-Means算法的準則函數(shù)定義為:
其中SSE是數(shù)據(jù)庫所有對象的平方誤差和,x是空間中的點,表示給定的數(shù)據(jù)對象,是簇Ci的平均值。
在進行聚類分析時,一般使用懷卡托智能分析環(huán)境(Waikato Environment for Knowledge Analysis,縮寫為“WEKA”),這是一種用Java語言編寫的用于數(shù)據(jù)挖掘機器學習軟件,集合了大量能承擔數(shù)據(jù)挖掘任務的機器學習算法[3],軟件中包含如分類、聚類、回歸、關(guān)聯(lián)等處理標準數(shù)據(jù)挖掘問題的大量算法,并可通過軟件進行可視化處理。WEKA的一大特點是其為開放源代碼,無需編寫任何程序代碼,只要新編寫的算法符合其接口規(guī)范,就可以嵌入其中,而使其原有算法可以得到擴充。更為便利的是,WEKA不僅提供了大量學習算法進行數(shù)據(jù)集分析,它還能提供一系列用于轉(zhuǎn)換數(shù)據(jù)集的工具,例如用于排序和采樣的算法。因此,在對客戶的消費行為進行聚類分析時,選用WEKA工具能夠得到很有效的結(jié)果。
檢測委托平臺中導出的2021年檢測客戶消費信息1500份,這些委托信息由委托時間、消費金額、檢測周期、委托項目等構(gòu)成?,F(xiàn)將客戶消費項分為金額(money)、時間(time)、月份(month)及頻次(frequecy)4部分,本文將圍繞這4個維度進行聚類分析,分析客戶的消費行為,從而對不同的客戶類型進行分類評價,針對不同類型的客戶指定不同的服務方針和檢測制度,從而提升檢測服務質(zhì)量。
在傳統(tǒng)K-Means算法中,一般要求初始聚類簇數(shù)k值預先指定的,否則無法進行聚類分析,但在實際操作過程中,由于需要計算的數(shù)據(jù)量過大或操作人員缺乏經(jīng)驗,無法準確確定k值,k值的確定也是K-Means算法的難點和缺陷。如果k值選取得過小,則會導致同一簇內(nèi)數(shù)據(jù)對象差異性很大,不同簇的聚類之間互相交集過多;如果k值選取得過大,則會導致不同簇間差異過小,可能會分類出過多特征及其相似的簇,失去了聚類的意義。另一方面,k值選取不當也會使最終的聚類結(jié)果無法實現(xiàn)所有數(shù)據(jù)的最優(yōu)化。因此,在實際操作中一般運用肘部法確定初始聚類簇數(shù)k值,其原理是基于初始聚類簇數(shù)k值與誤差平方和SSE的關(guān)系,取不同k值,并得到對應的SSE的變化趨勢,見圖2,選擇肘點,即誤差平方和SSE的變化程度最大時所對應的k值作為最優(yōu)簇數(shù)[5]。
在進行客戶消費行為分析時,通過運用肘部法,將k值從1設置到8,然后計算出其對應的誤差平方和SSE。根據(jù)圖2所示,當k為4時,誤差平方和SSE的變化程度最大,此時為肘點,由此得到最優(yōu)簇數(shù)為4。
在WEKA平臺進行聚類分析,首先將數(shù)據(jù)文件由CSV格式轉(zhuǎn)換成為WEKA能識別的ARFF文件。WEKA 平臺分為4種界面:Explorer(探索者)、Exper-imenter(實驗者)、Knowledge Flow(知識流)、Simple CLI(命令行)。本文使用Explorer用戶界面對數(shù)據(jù)集進行聚類分析實驗。其操作步驟為:首先,進入Explorer界面,打開ARFF文件;然后,通過選擇Cluster選項卡,在下拉菜單中選擇打開Simple K-Means界面;接著,按照表1的參數(shù)值對Simple K-Means的參數(shù)進行設置;最后,點擊聚類分析Cluster中的Start按鈕,即可對數(shù)據(jù)進行K-Means聚類分析,WEKA平臺輸出聚類分析結(jié)果,并可進行可視化呈現(xiàn)[6]。
表1 Simple K-Means參數(shù)設置
通過WEKA平臺對客戶消費數(shù)據(jù)集進行K-Means聚類分析,得到如下結(jié)果。
右擊左下方“Result list”列出的結(jié)果,在下拉菜單中選擇“Visualize cluster assignments”,彈出的窗口呈現(xiàn)了各數(shù)據(jù)的散點圖。散點圖中X軸代表實例號(Instance number)、Y軸代表金額(money),而不同的顏色代表不同的簇(Cluster)。通過散點圖不同簇實例的散點分布可以比較直觀地看出各實例的聚類分布情況,見圖4。
由圖3及圖4的分析結(jié)果可知,在4個Cluster簇中,簇數(shù)為0的客戶有215人,占14%,簇數(shù)為1的客戶有629人,占42%,簇數(shù)為3的客戶有256人,占17%,簇數(shù)為4的客戶有391人,占26%。通過分析可以發(fā)現(xiàn)客戶的不同消費習慣和消費水平,簇數(shù)為0的客戶消費金額最多,達到近4 000元的金額,超過其他簇金額的2倍,委托試驗周期最長,可達21天,是其他簇客戶委托時間的3~4倍。但這類客戶委托頻率不高,這些客戶可以定義為高消費客戶,分析這類客戶需要進行產(chǎn)品全項目檢測,并且委托了多個產(chǎn)品進行檢測,一般包含委托周期為21天的甲醛氣候箱法檢測項目。這類客戶一般以工程驗收為主,針對這些客戶提出的相關(guān)產(chǎn)品檢測,可以簽訂合同給予價格優(yōu)惠增加客戶委托頻率,特別是針對委托金額較高且時間較長的甲醛氣候箱法檢測項目,提高客戶粘度,也可擴展檢測能力,盡量接受更多類型檢測項目,也能提高其服務體驗,這類客戶一般6月—7月前來委托,夏季為此類客戶前來消費的高峰期。
另外,工程驗收類型的客戶對檢測時間的要求比較嚴格,需要檢測機構(gòu)格外重視客戶這方面的用戶體驗;簇數(shù)為2的客戶消費金額較少,委托金額平均值為1 500元左右,而這類客戶一般消費1 000元,低于平均值,周期也短,一般為5天,但委托頻率最高,一年可達到50次,是高消費客戶委托頻率的8倍,說明其對實驗室檢測能力充滿信任,客戶來源比較穩(wěn)定,可以定義為高頻客戶,這類客戶一般7月—8月前來委托,委托時間太集中且與高消費客戶的委托相重合,會給實驗室實驗進度帶來壓力,可以與其進行溝通協(xié)商,約定每月固定委托數(shù)量,將委托數(shù)量均衡分布,既滿足客戶整體委托需求又可以保證實驗室日常檢測能力;簇數(shù)為1和3的客戶消費金額尚可,一般在1 200~1 300元左右,略低于平均值,委托頻率一般,一年可以來消費7~8次,委托時間也較短,一般為5~6天,可以定義為普通客戶,但簇數(shù)為1和3的客戶數(shù)量占整體客戶數(shù)量的70%,大部分客戶都屬于這一類,其中簇數(shù)為1的客戶一般9月—10月來委托,簇數(shù)為3的客戶一般4月—5月來委托,分別分布在下半年與上半年,且與高消費客戶、高頻客戶的委托高峰避開,這類客戶需要正常維護好客戶關(guān)系,保持固定頻率的委托業(yè)務,同時通過不斷與客戶進行業(yè)務溝通,針對不同客戶的委托特點,可以將常規(guī)客戶發(fā)展為高消費客戶或高頻客戶。另一方面,由于7月—8月為高消費客戶與高頻客戶前來委托的高峰期,檢測任務比較集中且繁重,且正值夏日,實驗室檢測壓力較大,有可能需要加班,可以適當給予實驗室加班或高溫補貼,提高工作積極性,也有利于提高檢測服務質(zhì)量。同時,綜合以上情況,每年的11月至次年的3月,客戶委托量較少,分析原因為由于正值過年前后,相關(guān)企業(yè)受生產(chǎn)產(chǎn)能影響,需要進行的檢測量也相應減少,檢測機構(gòu)可以在這段時間進行體系文件改進或檢測能力的提升,或者開發(fā)新的業(yè)務領域,增加整體委托量。
通過將客戶的消費進行聚類分析,能夠比較方便地反映客戶消費存在的差異,通過不同客戶委托金額、時間、頻率、月份的不同,促進檢測機構(gòu)對客戶進行分類評價,并進一步指導檢測部門在進行檢測服務過程中改進與客戶溝通方法,有針對性地改進客戶服務方法與實驗室運營模式,從而提升檢測服務質(zhì)量。
(1)高消費客戶可以與其簽訂長期試驗合同,給予價格優(yōu)惠,也可擴展檢測能力,提高這類客戶的委托頻率,增加其消費粘性,同時工程驗收類型的客戶對檢測時間要求嚴格,需重視這方面的用戶體驗。
(2)高頻客戶可以與其溝通協(xié)商,約定每月固定委托數(shù)量,將委托數(shù)量均勻分布,減輕實驗室委托高峰期的壓力。
(3)普通客戶數(shù)量占整體客戶數(shù)量的70%左右,占了絕大部分,且委托時間正好與以上兩類客戶不沖突,需要經(jīng)常進行溝通維護好客戶關(guān)系,并可根據(jù)不同客戶委托特點,將普通客戶發(fā)展為高消費客戶或高頻客戶。
(4)7月—8月為客戶委托的高峰期,實驗室有可能需要加班,且天氣炎熱,可適當給予實驗室加班或高溫補助,提高實驗室人員工作積極性。
(5)每年11月至次年3月為委托淡季,實驗室可以在這段時間進行體系文件改進或檢測能力提升,也可開發(fā)新的業(yè)務領域。