李田田
(南京信息工程大學(xué) 江蘇省南京市 210044)
集裝箱船舶裝卸涉及船方、碼頭、一關(guān)三檢、理貨、貨主等多家單位;作業(yè)過程中需要岸橋、場橋、拖車、叉車等多種設(shè)備;司機(jī)、理貨員、關(guān)手、調(diào)度員、業(yè)務(wù)員等多工種的配合,裝卸工藝流程較為復(fù)雜,客戶滿意度受到諸多因素影響,故有必要對集裝箱船舶裝卸客戶滿意度展開研究,能夠有效改善影響客戶滿意度的關(guān)鍵因素,從而改變消費者行為,建立和提高客戶忠誠度,提升企業(yè)的競爭力和盈利能力[1]。
通過分析簡化,我們選取靠泊時長、等待作業(yè)時長、離泊時間、作業(yè)時間、在泊時長、船艙板作業(yè)、裝載箱量和困難作業(yè)箱量作為我們所要研究的影響因素變量[2]。其中靠泊時長=實際靠泊時間-計劃靠泊時間;離泊時間=實際離泊時間-計劃離泊時間。本文分析使用的數(shù)據(jù)共有381 個樣本量。
主成分分析是一種設(shè)法將原變量重新組合成一組新的互相無關(guān)的綜合變量,同時從這些綜合變量中選取較少的幾個綜合變量,盡可能多地反映原變量的信息的統(tǒng)計方法[3]。主要目的是希望能夠提取出較少的幾項綜合性指標(biāo),它們互不相關(guān),并且能最大限度地反映出原來較多指標(biāo)所反映的信息,進(jìn)而用這較少的幾項綜合性指標(biāo)來刻畫個體。
其中每個主成分的貢獻(xiàn)率是指每個主成分所提取的信息量在全部信息量中所占的比例。前m 個主成分的貢獻(xiàn)率之和稱為前m 個主成分的累計貢獻(xiàn)率,在實際應(yīng)用中,只要累計貢獻(xiàn)率大于85%,就可以認(rèn)為前m 個主成分已綜合了原變量中的大部分信息。
聚類分析是研究一組多維樣本的分類問題。在分類之前,對類的個數(shù)和類的屬性并不清楚,只是希望通過模糊概念(例如樣本間的相似或相互關(guān)系的密切程度)對它們加以適當(dāng)?shù)臍w類。聚類是將數(shù)據(jù)分到不同的類或者簇,要滿足同一個簇中的對象有很大的相似性,而不用的簇間的對象有很大的相異性。
其中K-Means 聚類是一種應(yīng)用范圍非常廣的聚類方法,其思想是在給定聚類數(shù)k 時,通過最小化組內(nèi)誤差平方和來獲得每個樣本點的分類。首先,隨即確定k 個初始點作為質(zhì)心,然后將數(shù)據(jù)集中的每個點分配到一個簇中,具體來講,找到最接近每個點的質(zhì)心,并將其分配給該質(zhì)心所對應(yīng)的簇。之后,每個簇的質(zhì)心更新為該簇所有點的平均值[4]。
圖1:作業(yè)時間箱線圖
圖2:作業(yè)時間核密度圖
圖3:在泊時長箱線圖
圖4:在泊時長核密度圖
圖5:艙蓋板作業(yè)量核密度圖
圖6:裝卸箱量核密度圖
圖7:等待作業(yè)時長核密度圖
圖8:困難作業(yè)箱量核密度圖
分類是一種根據(jù)輸入數(shù)據(jù)集建立分類模型的數(shù)據(jù)挖掘算法,通過一種學(xué)習(xí)算法來確定分類模型,該模型可以很好地擬合輸入數(shù)據(jù)中類標(biāo)號和屬性集之間的聯(lián)系。學(xué)習(xí)算法得到的模型不僅要很好擬合輸入數(shù)據(jù),還要能夠正確地預(yù)測未知樣本的類標(biāo)號。決策樹是以樹結(jié)構(gòu)形式來表達(dá)的一種重要的預(yù)測分析模型。
表1:在泊時長分箱結(jié)果
表2:靠泊時長分箱結(jié)果
表3:混淆矩陣
決策樹的構(gòu)造過程不依賴領(lǐng)域知識,它使用屬性選擇度量來選擇將元組最好地劃分成不同的類的屬性。使用決策樹進(jìn)行決策的過程就是從根節(jié)點開始,測試待分類項中相應(yīng)的特征屬性來選擇輸出分支,從而確定各個特征屬性之間的結(jié)構(gòu)[5]。構(gòu)造決策樹的關(guān)鍵步驟是在某個節(jié)點處按照某一特征屬性的不同劃分構(gòu)造不同的分支,盡可能讓一個分裂子集中待分類項屬于同一類別。決策樹算法主要圍繞兩大核心問題展開:
(1)決策樹的生長問題,即利用訓(xùn)練樣本集,進(jìn)行決策樹的建立。
(2)決策樹的剪枝問題,在保證決策精度的前提下,在樹的大小和正確率之間尋找平衡點,使樹的葉子節(jié)點最少,葉子節(jié)點的深度最小。
3.1.1 靠泊時長(DDKB)
靠泊時長的數(shù)據(jù)分布大都集中在[0,25]區(qū)間以內(nèi),整體呈現(xiàn)非正態(tài)分布,根據(jù)數(shù)據(jù)的特點,對數(shù)據(jù)進(jìn)行分箱處理,盡量保證每個箱子分到的數(shù)據(jù)均勻。采用了左閉右開的方式進(jìn)行分箱,由于值為0 的數(shù)據(jù)個數(shù)偏多,所以將0 單獨作為一個箱子,分箱的結(jié)果如表1 所示。
圖9:聚類結(jié)果
圖10:散點圖1
圖11:雙變量核密度圖1
圖12:雙變量核密度圖2
經(jīng)過分箱以后,將每個區(qū)間進(jìn)行命名,一共分成5 個箱子,可以看成5 個類別,也就是說將在泊時長進(jìn)行變量轉(zhuǎn)化,從數(shù)值型數(shù)據(jù)轉(zhuǎn)化為分類變量,在后續(xù)處理中,分別將其記為0,1,2,3,4,方便建模。
3.1.2 作業(yè)時間(ZYSJ)
作業(yè)時間呈現(xiàn)右偏分布,因為數(shù)據(jù)有缺失,所以采用中位數(shù)的方法對缺失值進(jìn)行填充。對數(shù)據(jù)進(jìn)行填充后,并通過箱線圖(圖1)檢測異常值。
對異常值采取蓋帽法進(jìn)行處理,由箱線圖可知,大于2000 的值都是異常值,對將大于2000 的值都設(shè)為2000。將處理后的數(shù)據(jù)畫核密度圖(圖2),可以看出呈現(xiàn)正態(tài)分布。
圖13:散點圖2
圖14:決策樹
圖15:變量重要性排序
3.1.3 離泊時長(DDLB)
離泊時長全部數(shù)據(jù)大部分集中于[0,400]區(qū)間內(nèi)。因為離泊時長有缺失值,而且離泊時長服從嚴(yán)重的偏態(tài)分布,所以不宜使用全部數(shù)據(jù)的均值或中位數(shù)進(jìn)行填充,故截取數(shù)據(jù)范圍在[0,400]的范圍,觀察其分布情況,呈現(xiàn)右偏分布,則使用該區(qū)間的中位數(shù)進(jìn)行缺失值填充。根據(jù)離泊時長數(shù)據(jù)特點和變量特征,將采用蓋帽法,令大于1700 的數(shù)值等于563,再采用分箱的方式,分箱結(jié)果如表2 所示。
3.1.4 在泊時長(ZBSC)
作出在泊時長的箱線圖(圖3),發(fā)現(xiàn)值大于2200 以上的都是異常點,故采用蓋帽法,將大于2200 的值等于2000,并作出處理過后的在泊時長核密度圖(圖4),發(fā)現(xiàn)數(shù)據(jù)已呈現(xiàn)正態(tài)分布。
3.1.5 艙蓋板作業(yè)量(HATCHES)和裝卸箱量(XL)
經(jīng)繪制箱線圖檢驗艙蓋板作業(yè)量和裝卸箱量的異常值,發(fā)現(xiàn)艙蓋板作業(yè)量只有一個異常點,值為95,采用蓋帽法改為48。處理后的數(shù)據(jù)呈正態(tài)分布如圖5 所示。裝卸箱量小于10 和大于900 的數(shù)據(jù)是異常點,將蓋帽處理后,呈現(xiàn)正態(tài)分布如圖6 所示。
3.1.6 等待作業(yè)時長(DDZY)、困難作業(yè)箱量(DIFF)
等待作業(yè)時長呈右偏分布,故對數(shù)據(jù)進(jìn)行取對數(shù)處理,經(jīng)處理后的直方圖如圖7,可見呈對稱分布。
從圖8 看出困難作業(yè)箱量的分布近似為正態(tài)分布。
3.2.1 聚類分析
主成分分析是一種常用于減少大數(shù)據(jù)集維數(shù)的降維方法,通過將高維變量縮減到低維變量,并能通過低維變量代表原數(shù)據(jù)的大部分信息。減少數(shù)據(jù)集的變量數(shù)量,自然是以犧牲精度為代價的,降維的好處是以略低的精度換取簡便。因為較小的數(shù)據(jù)集更易于探索和可視化,并且使機(jī)器學(xué)習(xí)算法更容易和更快地分析數(shù)據(jù),而不需處理無關(guān)變量。針對本文胡數(shù)據(jù),通過提取兩個主成分,方差貢獻(xiàn)率達(dá)到95%,說明提取出的兩個主成分能夠反映原來變量的大部分信息。
將提取出的兩個主成分用于聚類分析的變量,以第一主成分作為橫坐標(biāo),以第二主成分作為縱坐標(biāo),得出分類結(jié)果如圖9。其中第一個類別有126 個樣本,第二個類別有106 個樣本,第三個類別有149 個樣本。并從聚類的結(jié)果來看,分成3 類效果較好,類與類之間界限清晰,存在較大差異。
3.2.2 探索性分析
通過聚類分析得到各個樣本的類別,將樣本類別作為研究的目標(biāo)變量,分別查看各個影響因素與類別之間的關(guān)系。
(1)不同類別下對比。
由圖10 可以看出在不同類別里面,樣本點的分布不同,在類別0 情況下,作業(yè)時長基本都是低于1100,在類別1 情況下,作業(yè)時長大部分高于1100,而在類別2 里作業(yè)時長處在1000 和1500之間??坎磿r長處在區(qū)間[10,50)的樣本被分到類別2 的數(shù)目較少,處在區(qū)間[1,10)的樣本被分到類別0 的數(shù)目較少。
(2)單個因素與類別。
雙變量核密度表示如果顏色越深,則頻數(shù)多大,故由圖11 和圖12可以看出類別0的情況下,等待作業(yè)時長主要集中在[2,3]之內(nèi),船艙板作業(yè)主要集中在[15,20]之內(nèi),裝載箱量主要集中在[300,400]之內(nèi),困難作業(yè)箱量主要集中在[0,10]和[30,40]之內(nèi)。同理也可以看出類別1 和類別2 的分布情況。
(3)在泊時長、作業(yè)時間和類別。
由散點圖圖13 可以看出在泊時長在[750,1000]區(qū)間和作業(yè)時間在750 附近的值被分在了類別0,值越大則越容易被分為類別1,處在中間范圍的被分為了類別2。
綜上所述,根據(jù)集裝箱船舶裝卸背景及數(shù)據(jù)特點,將類別按照客戶滿意度進(jìn)行劃分,一般來說客戶比較傾向于希望在泊時長短,作業(yè)時間少,所以類別0 表示客戶的滿意度是不滿意,類別1 表示客戶的滿意度是滿意,則類別2 表示客戶的滿意度是一般。
3.2.3 決策樹
通過按照樣本的60%的比例劃分出訓(xùn)練集,剩下的40%作為測試集,并根據(jù)訓(xùn)練集訓(xùn)練出的模型對測試集進(jìn)行預(yù)測,從而判斷模型的建立是否合理。得到混淆矩陣如表3 所示。從混淆矩陣結(jié)果看出,模型的建立是合理的,其中只有少數(shù)樣本預(yù)測的類別與實際類別不符合。
繪制決策樹如圖14 所示。在劃分?jǐn)?shù)據(jù)集之間之后信息發(fā)生的變化稱為信息增益,知道如何計算信息增益,我們就可以計算每個特征值劃分?jǐn)?shù)據(jù)集獲得的信息增益,獲得信息增益最高的特征就是最好的選擇。從決策樹可以看出在泊時長這個因素最為重要,以在泊時長為1338.5 為分界線進(jìn)行劃分,如果在泊時長小于1338.5,再根據(jù)作業(yè)時間進(jìn)行劃分,可見作業(yè)時間是繼在泊時長的第二個重要影響因素。如果在泊時長小于1338.5 且作業(yè)時間大于940.5,則考慮裝載箱量因素。以此類推,可根據(jù)細(xì)分具體情況,從而判斷在何種情況下,判斷客戶的滿意度是滿意的。對于客戶不滿意情況,可針對具體情況,進(jìn)行改進(jìn),對于滿意度一般的情況,也可以進(jìn)行某些方面的提高,從而更充分的讓客戶感受到滿意。
由對特征的重要性進(jìn)行排序,得到的結(jié)果如圖15 所示,可見在泊時長、作業(yè)時間和裝載箱量因素為主要影響因素??坎磿r長、離泊時長、船艙版作業(yè)、等待作業(yè)時長和困難作業(yè)箱量等因素對客戶滿意度的影響不大。
通過對集裝箱船舶裝卸相關(guān)指標(biāo)進(jìn)行變量轉(zhuǎn)換、缺失值填充,異常值檢測等措施以后,將其做主成分分析,通過提取了兩個主成分,累計貢獻(xiàn)率達(dá)到95%,能夠充分代表原始數(shù)據(jù)的大部分信息。利用提取出的主成分將整個樣本進(jìn)行聚類分析分成三類,其中包括客戶滿意,客戶滿意度一般和客戶不滿意三種。將客戶滿意度作為目標(biāo)變量、影響因素作為自變量,從而構(gòu)建決策樹。使用訓(xùn)練集得出的決策樹用于預(yù)測測試集,預(yù)測效果良好,并且得出在泊時長、作業(yè)時間和裝載箱量因素為主要影響因素。靠泊時長、離泊時長、船艙版作業(yè)、等待作業(yè)時長和困難作業(yè)箱量等因素沒有參與到?jīng)Q策樹建模中,故對客戶滿意度的影響不大。