“若敕政則躬,杜漸防萌,則兇妖消滅,害除福湊矣?!?/span> ——《后漢書·丁鴻傳》
東漢重臣丁鴻在給和帝的上書中勸勉皇帝須在事情的萌芽階段就開始預(yù)防,這樣才可以消除隱患,使得國家長治久安。也正是因?yàn)槎▲櫟闹毖詣裰G,和帝才果斷出手平亂,避免事情進(jìn)一步向消極的方向發(fā)展。
治國如此,治理企業(yè)也同樣如此,在標(biāo)準(zhǔn)化程度亟待提升的物流行業(yè),萬億級(jí)的市場(chǎng)最終由兩千余萬的卡車司機(jī)和一千余萬的卡車如螞蟻搬家一般完成,每一條運(yùn)輸?shù)臄?shù)據(jù)記錄就好比全身經(jīng)脈中那細(xì)小到肉眼看不見的毛細(xì)血管,細(xì)微至極但卻重要至極。
在互聯(lián)網(wǎng)+物聯(lián)網(wǎng)浪潮的推動(dòng)下,物流行業(yè)的數(shù)據(jù)積累呈指數(shù)級(jí)的爆發(fā),面對(duì)如此海量的數(shù)據(jù),規(guī)模以上企業(yè)往往不知所措,首當(dāng)其沖的問題就是數(shù)據(jù)是否真實(shí)可信?換句話說就是數(shù)據(jù)是否有異常值?以及如何在浩如煙海的數(shù)據(jù)中快速準(zhǔn)確的發(fā)現(xiàn)異常值并及時(shí)處理?
現(xiàn)在假設(shè)有一份某公司項(xiàng)下某項(xiàng)目某三個(gè)月的運(yùn)單記錄如下,數(shù)據(jù)分析的目的是在這三個(gè)月中,所有運(yùn)費(fèi)金額是否有異常值?為了方便理解可以將數(shù)據(jù)字段做深度裁剪,只保留“運(yùn)單單號(hào)”“貨物名稱”“起始點(diǎn)”“目的地”“運(yùn)輸距離”“貨物數(shù)量”“運(yùn)費(fèi)金額”“運(yùn)輸時(shí)間”等字段,字段截圖如下圖:
如果數(shù)據(jù)只有23條記錄,那么異常值的獲取完全可以依靠經(jīng)驗(yàn)識(shí)別,但是這份數(shù)據(jù)其實(shí)一共有3505行記錄,這就超出了經(jīng)驗(yàn)識(shí)別的框架,必須通過數(shù)據(jù)分析的方式來辨別其真假。
而從數(shù)據(jù)分析的角度來看這份數(shù)據(jù),至少有三種方式快速高效的識(shí)別異常值。
? 箱線圖
箱線圖是對(duì)數(shù)據(jù)進(jìn)行描述性分析的時(shí)候最經(jīng)常使用的算法,最適宜提供有關(guān)數(shù)據(jù)的位置與分散的參考,尤其在不同的總體數(shù)據(jù)時(shí)更可表現(xiàn)其差異。對(duì)于原始數(shù)據(jù)集中的運(yùn)費(fèi)金額做箱線圖的最終結(jié)果如下:
以出發(fā)點(diǎn)為類別軸分別做A出發(fā)點(diǎn)和B出發(fā)點(diǎn)的箱線圖,圖中的灰色箱子可以簡(jiǎn)單的看做是正常值的集合(如果將所有的數(shù)值從大到小依次排序,那么灰色箱子中的數(shù)據(jù)就是中間50%的數(shù)據(jù)),從灰色箱子到上下界線的垂直線可以簡(jiǎn)單的看做是另外幾乎50%的數(shù)據(jù),為什么說是幾乎?因?yàn)檫€有異常值。
超過上下界線的數(shù)值都可能被認(rèn)為是異常值,在本例中,上下界線的參數(shù)設(shè)置為1.5倍的正常數(shù)據(jù)集(灰色箱子)的跨度??梢钥闯?,根據(jù)箱線圖的算法,以B地點(diǎn)為出發(fā)點(diǎn)為例,原始數(shù)據(jù)集中第785,1405,2543,1028,2018,1299,1009,1504,2524,612,737,2126條運(yùn)輸記錄在運(yùn)費(fèi)金額上可能存在異常。
箱線圖在識(shí)別數(shù)據(jù)異常上的最大優(yōu)勢(shì)不僅僅在于速度快,更在于對(duì)于異常值的定義是根據(jù)原始數(shù)據(jù)集的整體趨勢(shì)變化的,彈性且靈活,而不是一個(gè)簡(jiǎn)單的大于多少或者小于多少的硬性指標(biāo),這對(duì)于運(yùn)價(jià)隨天氣,政策,供求,品類,急緩等多方因素隨時(shí)變化的物流行業(yè)來說尤為重要。
? 回歸
回歸是數(shù)據(jù)分析的靈魂,當(dāng)然回歸也可以檢測(cè)到數(shù)據(jù)的異常值。
用回歸的算法檢測(cè)異常值與箱線圖相比最大的不同在于,箱線圖是根據(jù)單變量的數(shù)據(jù)變化發(fā)現(xiàn)異常值,但是箱線圖的的不足之處也恰恰在于切斷了關(guān)聯(lián)性,在物流行業(yè)中,數(shù)據(jù)從來不會(huì)是單獨(dú)存在,每一條運(yùn)輸記錄都是大量的字段數(shù)據(jù)共同組成,刻意的切斷數(shù)據(jù)的關(guān)聯(lián)性分析得到的結(jié)果往往也是不全面的。這時(shí),回歸算法就更為符合關(guān)聯(lián)性的要求。
用回歸的算法識(shí)別異常值的方式有很多,在本例中只使用較為易于理解的一種,得到的最終結(jié)果如下:
在以“運(yùn)費(fèi)金額”為因變量,“貨物數(shù)量”和“運(yùn)輸時(shí)間”為自變量的線性回歸中,由模型推導(dǎo)出的預(yù)測(cè)值與實(shí)際值之間的差值(殘差)應(yīng)該符合正態(tài)分布,利用這一點(diǎn)對(duì)標(biāo)準(zhǔn)化的殘差和標(biāo)準(zhǔn)化的的預(yù)測(cè)值做散點(diǎn)圖。
從最終結(jié)果圖來看,原始數(shù)據(jù)集的殘差與預(yù)測(cè)值之間大體上是符合正態(tài)分布的,這時(shí)通過3倍標(biāo)準(zhǔn)差的輔助線(圖中虛線)就可以發(fā)現(xiàn)輔助線外的異常值(5%可能性存在的值),從圖中可以看到可能的異常值是第3234,3217,3293,3349,3304,3285,3226,3219條運(yùn)輸記錄。
回歸算法將運(yùn)費(fèi)金額不再視為一個(gè)單獨(dú)的變量看待,而是將其視為主變量(為了便于理解的說法),將貨物數(shù)量和運(yùn)輸時(shí)間視為輔變量,通過主變量與輔變量之間的邏輯關(guān)系來論證數(shù)據(jù)是否可能異常。
? 聚類
在回歸算法中,作為因變量的“運(yùn)費(fèi)金額”是要研究的對(duì)象,是一個(gè)很重要很“昂貴”的指標(biāo),作為自變量的“貨物數(shù)量”和“運(yùn)輸時(shí)間”是為了研究運(yùn)費(fèi)金額而使用的對(duì)象,是相對(duì)不重要和“較為廉價(jià)”的指標(biāo)。所以回歸算法其實(shí)就是用一系列“較為廉價(jià)”的指標(biāo)去驗(yàn)證一個(gè)“昂貴”的指標(biāo),這其中天然存在著“不平等性”。
聚類算法將所有的字段視為同等重要,從而避免了這種“不平等性”,在數(shù)據(jù)量較小且不講求數(shù)據(jù)精度的初步篩選中通過使用K均值聚類算法,在本例中,得到的最終結(jié)果如下圖:
聚類的基本原理可以簡(jiǎn)單的理解成物以類聚,在一條條的運(yùn)輸記錄中,每條記錄中都包含有大量的平等的數(shù)據(jù)字段,通過聚類的算法,具有相似特性字段值的記錄就會(huì)被聚成一類。在這樣的邏輯上,可能包含異常值的“與眾不同”的運(yùn)輸記錄就會(huì)凸顯出來,成為單獨(dú)的某一類或者某幾類。
從本例的最終結(jié)果圖可以看到,第一類和第二類都有著極為豐富的數(shù)據(jù)集合,具有相似字段特性的運(yùn)輸記錄集合在一起成為一類,而第三類卻特別顯眼,通過后續(xù)的數(shù)據(jù)處理可以發(fā)現(xiàn)第三類只包含兩行數(shù)據(jù),分別是第3234行數(shù)據(jù)和第3217行數(shù)據(jù),那么這兩行就是可能的異常數(shù)據(jù)。
大數(shù)據(jù)輔助各個(gè)行業(yè)發(fā)展的今天,我們更多的都在說如何取得數(shù)據(jù),以及如何進(jìn)行數(shù)據(jù)分析。但是,有人的地方就是江湖,江湖險(xiǎn)惡,總會(huì)有真假。所以我們?cè)诜治鰯?shù)據(jù)之前,務(wù)必要搞清楚,哪些是有價(jià)值的數(shù)據(jù),哪些是“異常值”。
但是,從另外一個(gè)角度來說,風(fēng)險(xiǎn)往往與機(jī)遇往往是共存的,在發(fā)現(xiàn)異常值的背后也不全然是風(fēng)險(xiǎn),也同樣有可能蘊(yùn)藏著產(chǎn)品與管理的創(chuàng)新與開拓,前提是,必須先發(fā)現(xiàn)它。