梁紫堃
(華南理工大學電子商務系,廣州 510006)
我國公路貨運市場準入門檻低,經營企業普遍存在規模小、分布散亂等問題,導致車、貨物信息混亂,嚴重約束物流業發展。據交通部發布數據,2020年6月至7月全國高速公路貨車空載率平均達24%。信息混亂導致車主無法在海量貨物信息當中獲取有用的貨物信息,導致貨車空載率提高,社會物流成本上升。隨著大數據時代的來臨,我國出現了很多車貨匹配物流平臺,如:運滿滿、貨拉拉等。在大數據技術的支持下,車貨匹配物流平臺為車主、貨主雙方提供了一個渠道進行信息交流,進行車貨匹配,解決貨運市場車、貨信息難以獲取的問題,實現有效的資源整合。以貨拉拉官網公布的數據為例,其月活機會員達66萬,月活用戶員達840萬。因此,對于擁有大量車主和貨主的平臺來說,如何進行更有效的車貨匹配,對車貨匹配物流平臺具有現實意義。
在此背景下,如何把海量的車、貨精準對應起來,成為車貨匹配平臺需要解決的問題。現有的研究主要分為兩類:一類基于語言描述,一類基于車輛位置。首先,基于語言描述的車貨匹配主要是根據車主和貨主對車、貨信息的語言描述進行雙邊匹配,力求雙方滿意度最大化。朱江洪等從車貨雙方語言評價的角度出發,提出基于加權不確定性語言平均算子對車貨雙方的語言評價轉化為評價矩陣,并結合雙邊匹配理論對車貨匹配問題求解。李慧基于模糊綜合評價法,建立車貨雙方的信譽評價體系,并提出車貨雙方的兩層篩選匹配模型。盛瑩等基于買賣雙方滿意度提出了基于改進的模糊信息處理的交易匹配度計算方法。其次,基于車輛位置的車貨匹配則是結合車輛位置考慮車輛匹配,匹配目標以路線費用最小為主。牟向偉等考慮車與貨之間的距離,提出了有約束懲罰的適應度衰減方法的量子進化算法進行車貨匹配。陸慧娟等從多用戶角度出發,提出車輛混合禁忌搜索算法對車貨匹配問題進行求解。Hu等基于運力和服務優先,提出多目標實時調度模型以最小化成本的車貨匹配模型。
上述工作的重點主要集中在根據當次車和貨的信息進行匹配,但按照日常生活經驗,在相同的外部環境之下,同一個司機對貨物的每次選擇都存在一定聯系。然而就當次車和貨物信息進行匹配,則難以考慮司機和貨主的歷史習慣。此外,在實際應用中,每個司機通常只對平臺推送的小部分貨物進行反饋。車貨匹配模型需要根據不平衡數據預測司機偏好,從而為司機匹配符合其偏好的貨物信息。
基于以上背景,本文使用運滿滿發布的數據集,進行RUS重抽樣處理,通過Stacking算法將Logistic Regression、樸素貝葉斯以及Light-GBM模型等集成得到RLBL-Stacking模型,從而得到更優的檢測結果。
隨 機 欠 抽 樣(Random Under Sampling,RUS)通過隨機刪除多數類樣本以及保留少數類樣本的方式,產生原始數據集的子集,達到均勻訓練數據集中正負樣本分布的效果。考慮到在實際應用中,車貨匹配平臺會給司機推送大量貨物信息,但司機僅會對小部分貨物信息感興趣,而對于車貨匹配來說預測這小部分的分類精度更加重要,因此本文先將訓練集進行隨機欠抽樣處理,再進行訓練。
Stacking算法主要是將多個不同的學習器選擇性地線性組合在一起,從而綜合多個學習器的預測結果,使模型更準確。一般的Stacking算法主要訓練步驟為:首先用多個學習器對數據集進行訓練;接著將訓練得到的預測結果作為下一個學習器的輸入,再次進行訓練;最后得到預測結果。為避免過擬合的情況出現,本文將數據集與第一級學習器的預測結果共同作為第二級學習器的輸入,最終得到的RLBLStacking模型如圖1所示。
如圖1所示,RLBL-Stacking模型首先將不平衡的原始數據作隨機欠抽樣處理,將邏輯斯蒂回歸和樸素貝葉斯這兩個基礎模型作為第一級學習器,而LightGBM作為第二級學習器,把欠抽樣處理過的數據和第一級學習器預測結果共同作為第二級學習器的輸入,使得模型具有更高的預測精度。

圖1 RLBL-Stacking算法示意圖
邏輯斯蒂回歸(Logistic Regression)是機器學習中常見的分類方法,不僅適用于二分類,也適用于多分類。判斷事件發生與否表示為y,其取值為0表示事件不發生;取值為1則表示事件發生,為該事件y發生的概率,見式(1):

其中,=(,,…,θ)表示參數向量,是自變量,即司機、貨主以及貨物的特征向量,另外是特征向量的個數。
樸素貝葉斯(Naive Bayes)是一種以貝葉斯定理為基礎的概率分類算法。算法假定存在x={,,…,a}為一個待分類項,其中a表示第個特征屬性且滿足條件獨立分布,存在類別集合={,,…,y}。根據貝葉斯公式,待分類項為類別y的概率,如式(2)所示:

要對待分類項進行分類等同于求待分類項為類別y的最大概率,即求式(3)最大化。另外,式(2)中的分母對于所有類別來說都是常數,因此只要將分子最大化即可。又因為樸素貝葉斯假設各特征屬性都是條件獨立的,所以有式(3):

LightGBM(Light Gradient Boosting Matching)是對GBDT的改進算法,具有快速、低內耗、高準確性的優點,在工業界得到廣泛應用。LightGBM主要采用單邊梯度算法和直方圖算法,實現最快速度和最小內存開支的要求下尋找最佳分裂點的目標,其核心是采用Leaf-wise算法作為樹的增長策略,從當前葉子節點中找到增益值最大的一個葉子節點進行分裂,同時直方圖算法大大改進了GBDT算法在構建決策樹上的尋找最優分割點所帶來的計算消耗,以及起到正則化的效果,有效防止過擬合。


數據來源于運滿滿2018年主辦的YMMTECH算法大賽提供的車貨匹配數據集,共有1751673條,其中數據集由294個字段組成,其中前293個字段按照車貨匹配主體分類可分為司機、貨主和貨物的特征;最后一個字段是司機的行為記錄,作為預測目標的字段,該行為記錄是指當天司機對貨物的反應行為,不同的行為反映了司機對貨物信息不同的偏好。運滿滿把司機的行為定義為司機對貨物的評分:0分代表司機僅對平臺推送的信息作瀏覽;1分代表司機對感興趣貨物進行點擊,查看貨物詳細信息;2分代表司機查看貨物信息后打電話進行接單。
數據集共有1751673條數據,其中評分為“0”的貨物信息占比94.2%,評分為“1”的占比4.9%,評分為“2”的占比0.9%,如表1所示,數據分類不平衡。這是因為在現實中,系統每天都會給司機推薦大量的貨物信息,然而司機并不會對推薦的全部貨物信息感興趣,司機一般只會瀏覽貨物信息,并從中選擇自己感興趣的貨物信息點擊了解詳情甚至電話聯系。

表1 數據集司機評分數量及比例
首先,從表1可見,在總樣本數據中司機評分為“0”、“1”和“2”的分類數據不均勻,其比例為94∶5∶1,容易造成結果偏差。因此本文對司機行為三分類轉化為二分類進行預測,即把司機評分為“1”和“2”的數據合并為評分為“1”。這是因為評分為“2”司機打電話詳細咨詢發生在評分為“1”點擊查看貨物信息的基礎上,都是表達對推送的貨物信息感興趣,通過合并評分“1”和“2”,來提高評分預測的準確性。
其次,該數據集共有482556個樣本沒有對應的貨主特征信息,這是因為運滿滿僅截取了部分貨主信息,造成部分樣本數據缺失對應的貨主特征信息,會對模型結果產生較大的誤差,本文將其剔除掉,使得數據集有1269117個樣本。至于其他缺失少量特征的樣本數據,則采用均值填充方式來處理缺失值。
針對數值型特征,用式(5)對其進行歸一化處理,減少因數據的量級不同對模型結果造成的影響,其中代表歸一化之后的數據,計算過程如式(5)所示,表示原數據,、分別表示原數據的最小、最大值。

同時為了更好地利用分類特征,需要對其進行重新編碼。針對司機、貨主性別等分類特征進行獨熱編碼處理。此外根據業務要求,需要對司機常跑路線與貨物運輸路線、司機車長與貨物所需車長、司機車型與貨物所需車型等相關聯特征數據進行匹配,得到新的特征并添加到訓練特征集中,并采用XGBoost篩選得到特征重要性排序,保留重要性前100的特征,作為訓練特征集。
此外在上述基礎上,本文從數據集隨機抽取70%的樣本數據用作訓練,剩余30%的樣本數據用作測試。最終合并后的總樣本、測試集、訓練集評分為“0”、“1”的貨物信息比例如表2所示。

表2 總樣本、訓練樣本、測試樣本中司機評分為“0”、“1”的比例
本文采用關于預測貨物信息評分“1”的查準率(precision)、查全率(recall)以及值進行結果度量。我們用表示正類樣本數,即實際評分為“1”的樣本數;表示反類樣本數,即實際評分為“0”的樣本數,則表示正確預測評分為“1”的樣本數,表示正確預測評分為“0”的樣本數;表示實際評分為“0”,卻被預測為“1”的樣本數;表示實際評分為“1”,卻被預測為“0”的樣本數。它們之間的關系為:=+;=+。
查準率代表在預測評分為“1”的樣本中實際評分為“1”的概率,具體如式(6)所示:

查全率代表在實際評分為“1”的樣本中被預測評分為“1”樣本的概率,具體如式(7)所示:

綜合性評價指標的計算公式見式(8):

本文采用邏輯斯蒂回歸、樸素貝葉斯、隨機森林、LightGBM等常見的分類方法與結合重抽樣的LBL-Stacking模型作對比。其中邏輯斯蒂回歸是常見的非線性模型,樸素貝葉斯是常見的線性模型;GBDT是通過bagging集成決策樹的集成學習模型,LightGBM則是GBDT的改進算法,后兩類模型都是典型的集成非線性模型。
表3的結果表明,從查全率來看RLBLStacking表現最優;但從查準率角度來看,隨機森林模型表現最優,其次是LightGBM,而RLBL-Stacking則表現一般。造成這一情況的可能原因是單一的非線性模型出現過擬合。以隨機森林為例,該模型共預測正確81個評分“1”,而將其余的23780個實際評分為“1”的誤判為“0”,導致查準率高達100%,而查全率為0.34%。RLBL-Stacking通過犧牲一定的查準率來提升查全率,這是因為RUS通過減少多數類的數量來減少多數類造成的噪聲。因為車貨匹配的目的是為了提高平臺司機總的接單量,因此在車貨匹配中需要通過提高模型的查全率,盡可能挖掘司機偏好,為司機推薦更多潛在的訂單,有利于提高訂單成交量。通過結合了查全率和查重率的綜合評價可以看出,相較于其他模型,RLBL-Stacking表現更佳。因此對于不平衡數據的車貨匹配,RLBL-Stacking仍具有較好的估計性能。

表3 模型對評分為“1”的預測結果
車貨匹配算法作為車貨匹配平臺的主要功能算法支撐,目前正引起越來越多研究者的注意。本文考慮到車貨匹配平臺需要有效針對不平衡數據,提出結合重抽樣RUS,然后整合邏輯斯蒂回歸、樸素貝葉斯模型以及LightGBM得到RLBL-Stacking集成模型,并將之和其他單一分類算法進行比較。實驗結果表明RLBLStacking集成模型具有一定優勢,能夠在不平衡數據集中取得較優的預測結果。本文僅對車貨匹配數據的部分特征進行處理,并未結合天氣以及司機打卡位置等數據進行考慮,因此后續研究需更進一步地考慮車貨匹配數據之間的隱藏關聯。