满帮如何将机器学习应用于车货匹配和公路干线价格预测?
http://www.infoq.com/cn/articles/ml-dl-highway-price
物流的戰(zhàn)火,從來都是“非傳統(tǒng)”的競爭者從“非傳統(tǒng)”的角度切入的。
1956年,馬爾科姆·麥克萊發(fā)明了集裝箱。世界上第一支集裝箱船隊從美國揚帆起航,將當時的貨運成本從5.83美元/噸降低到0.158美元/噸。保守的運輸公司、火車運輸公司以及裝卸工人等各派實力極力反對。但是市場的手,無情地摧毀了所有的試圖抵抗時代潮流的巨頭。
1997年,羅賓遜把在海運服務領域的“無船承運人”思想,移植到公路貨運服務領域,向“無車承運人”轉型。這一次大膽轉型,羅賓遜拋棄了自有運輸車輛,建立了整合社會運輸商的信息系統(tǒng)。三年內躍居美國第一公路運輸企業(yè)。?
明天的這把火,很可能燒在人工智能。燒掉傳統(tǒng)物流同行的武器仍然不變:成本。我們的戰(zhàn)場就是中國的公路干線物流。
中國物流的特點是大而復雜。2016年運輸費用6.0萬億(絕大部分是公路),物流總成費用11萬億,占GDP 15.3%。平均運輸距離429公里,累計運輸量336億噸。在這個大市場中,存在地區(qū)性差異和季節(jié)性差異,參與其中的玩家眾多:個體司機,車隊老板,物流公司,黃牛,3PL,工廠,連鎖集團等等。而且,中國是個全工業(yè)鏈國家,運輸品類最為齊全。運輸附加值從最高的半導體、精密機械到最大宗的煤炭、礦石、農產品,呈現(xiàn)強烈的地域性差異。(本文圖中的數據均來自滿幫)
除了存在地區(qū)性差異,還存在巨大的季節(jié)性差異,比如煤炭、蔬菜天然就存在季節(jié)性差異,而節(jié)日,南北氣候差異更是直接影響了大宗運輸。比如9月開始突增的西安到西藏地區(qū)的煤炭運輸。即便從全國看來,不同季節(jié)的供需關系也是動態(tài)的。
那么作為全國最大的公路物流平臺,如何在國內龐大的物流市場,應對不同空間和時間的需求呢?我們的中心抓手就是:市場供需。方向有兩個:車貨匹配,智能調度。
公路車貨匹配的場景和特色
車貨匹配在廣義上,也是撮合交易的一種,如同電商、打車。在平臺產品上的展現(xiàn)形態(tài),也以推薦、排序、訂單匹配為主。但車貨匹配有極其獨特的特點,比如貨源是無庫存的唯一品和非標準品。唯一指的是每宗貨源幾乎各不相同,運輸方案、時間各有變化,而且一次性成交就立刻下線,完全不同于商城的熱點商品推薦原則。非標是指,貨源對車輛是有要求的,而且在不同時間、線路、種類上計價方式也不同,是非標準品。這一點也和打車出行場景的車人匹配產生重大差異。還有一點和打車場景不同的是,車人匹配的場景是局部區(qū)域在較短時間窗口內滿足供需,車貨匹配則是長時間大區(qū)域內的匹配——畢竟貨運計劃可以長達一個月,車輛的行駛里程遠大于打車場景。
完成匹配,先要解決大數據的采集和計算框架問題
車貨匹配平臺有很多數據進入的通道,比如天氣、GPS/北斗位置信息、用戶app行為日志、交易和支付、車輛行駛數據等等。這些數據要經過一個略顯傳統(tǒng)的大數據框架來處理。為了滿足實時性,還需要流式計算是Spark streaming組件和相關的t+0服務。由于滿幫的融合,整套數據方案還要同時解決開放性問題,能夠在數倉和實時策略做到互相授權、互相調用。因此,我們還要建設一個強大的中臺數據服務端。
業(yè)內有個著名的共識,按重要性排序,場景>數據>算法。在滿幫集團的公路干線匹配平臺上,我們建設了自己的數據架構,解決了離線和在線的數據計算和存儲問題,并且用靈活的機制保證策略的“熱插拔”——能夠隨時將測試完成的策略快速配置在生產線上,并安排適合的灰度、AB和評估工具。
車貨匹配和智能調度實現(xiàn)方法詳解
具體到車貨匹配,這個算法場景本質是一個推薦場景,也依然可以套在CTR、CVR的模型上,所不同的是,我們推薦的商品是“唯一”屬性的,還要兼顧地區(qū)差異和“公平性”。公平性是這樣一種指征:在一個時間窗口內,被撥打電話或IM進行聯(lián)系的貨源,除以總貨源。叫做反饋率。這是個重要指征,因為這個值和地區(qū)(區(qū)縣一級)的供需關系(撥打電話司機,發(fā)貨貨主)呈現(xiàn)強烈正相關。反饋率一旦達到一個閾值,就會在這個地區(qū)形成一種新的平衡:用戶自然流失等于或小于平臺自然流入,地面團隊可以把更多精力放在服務用戶身上,而非拉新促活。那么對于業(yè)務指標來說,完成反饋率提升甚至比提供更有效的用戶匹配更重要——所以公平性原則的權重很大。
重點是實時部分的接入機制。傳統(tǒng)的小黑板方式成交,基本需要半天甚至一天的時間來實現(xiàn)供需雙方的撮合。大規(guī)模使用線上平臺,2016年24小時反饋則達到了60%。到了2017年,58%的貨源基本在1小時內完成線上撮合,2018年,20分鐘內撮合行為發(fā)生率40%,人貨匹配策略徹底成了一個線上實時策略。
在這個體系內,基本上貨源在上架瞬間,我們能準確找到它的潛在承運方,預測出會有多受歡迎(在不同的冷熱分桶里會有多少個電話),策略是讓車-貨匹配,和讓過于受歡迎、有競爭力的貨源能夠犧牲部分曝光,分配給冷門的貨源,以實現(xiàn)公平性,達到反饋提升的效果。
具體到技術細節(jié)來說,我們使用Xgboost來預測車-貨的基礎相關性,實際是一個CTR和CVR混布模型,我們在其中部署了在線實時系統(tǒng),自研了一套基于FTRL算法的在線學習算法,將用戶實時的行為數據結果和Xgboost的離線結果共同訓練而得,點擊預測的準確率達到90%+。首頁推薦CTR提升了5倍。貨源訂單轉化率從11%提升到16%。全國24小時反饋率則從60%提升到了64%-68%。特別在低反饋地區(qū)50城實驗,很多地區(qū)獲得的提升更高達15%,30分鐘內反饋率提升15%,12000條路線上的司機空駛率降低30%
第二個場景是智能調度。這里面有區(qū)域供需預測、價格、以及ETA等場景。其中最重要的是價格預測。事實上供需預測也是價格的前置條件,而價格也是引導司機進行市場化調度的重要手段。不同于滴滴和uber的將區(qū)域分割成六邊形,貨運領域的區(qū)域,無論時間還是空間,都更加寬闊,事實上我們在操作時是以區(qū)縣、小時來作為單位的。特別是,貨物都是非標品!這對價格的預測提出了更加困難的考驗。
原則上我們更傾向于使用一些可解釋模型,結合深度學習來進行應用。單純的RNN或者LSTM模型在處理數據時,常常無法面對突發(fā)條件,比如個別地區(qū)道路封閉、雨雪天氣等,往往會出現(xiàn)無法快速調整的情況。而人工干預和深度神經網絡模型的結合,也常常造成模型退化。所以我們采用了一個較復雜的特征工程模型,同時極可能分離模型與規(guī)則部分。
我們的價格預測做法如下:
將價格因素分為兩類:可變價格和不可變成本。將過路費和汽柴油費用和以車輛平均壽命的計提折舊作為線性成本。如果把線性成本認為是獨立可疊加的,再配合上后面將要介紹的非線性成本,則價格公式有:
? (1)
?
因為線性成本的獨立可疊加性,可通過線性回歸進行價格預測。鑒于我們掌握有充分的多年的全國公路干線運輸信息,因此可以輕易調查到過路費、汽柴油費用和車輛平均壽命。
- 過路費 = (出發(fā)地-目的地高速公路里程 * 車型) * fix
- 如果是庫內沒有的出發(fā)地和目的地,則按照附近核心節(jié)點城市的里程+出發(fā)地到節(jié)點城市的里程計算。
- 汽柴油價格與之類似,但是要考慮到貨物重量和車況。
- 非線性成本有:供需關系,天氣,節(jié)假日,里程,系統(tǒng)熱噪音等,經過離散化和歸一化處理。
供需關系指的是運價與成交率的關系。根據不同地區(qū)和時間,會有多個局部波峰。為了達成最高的成交率,根據供需環(huán)境調整價格預測范圍,我們采用了Walras-Samuelson過程為假設,來預測平衡價格。記做:
因此,加入供需關系后有:
? (2)
?
剩下的四個因素是:周期因素(每周,節(jié)假日,季節(jié)),系統(tǒng)熱噪音,裝卸費用,司機勞務費用。
?????? 各自的解決方法是:
- 周期因素分離:主成分分析 + 傅里葉變換
- 系統(tǒng)噪音:小波分析
- 裝卸費用/司機勞務費用:基于時間序列的循環(huán)神經網絡回歸。
則有基于干線物流大數據的運價計算公式:
?(3)
?
X(1)代表裝卸費用的幾個特征:裝卸重量,當地的人均收入,當地出發(fā)地司機的平均運營里程,當地發(fā)貨量,發(fā)貨地址坐標等。
X(2)代表司機勞務費用的幾個特征:地區(qū)在時間窗口的采用平均勞務費,當地出發(fā)、進入的車貨供需量,貨主信用等級,貨主發(fā)貨量等。
X(3)代表呈現(xiàn)周期性的特征:比如周二,周三,月初,月末,節(jié)日等,拆分成1/0的二值特征,以及價格相關的特征向量。
X(4)代表噪音較大的向量特征:地區(qū)發(fā)貨量,司機歷史成單,貨主發(fā)貨經緯度等。
X(5)代表距離,油價等線性特征。
該方法的特征抽取和計算方法架構為:
這個模型的壞處非常明顯:需要做大量人工特征工程,而且很多數據流未經過主算法模型。對調整模型有較大的困難。
但是多方妥協(xié)的好處在于,可以直接干預模型中的線性成本和周期模型。由于價格是個混沌模型,我們實際預測出來的只是價值,需要通過t+0的前線數據采集和地面不斷進行糾正和后驗調整。而且,平臺本身也在市場中不斷和傳統(tǒng)勢力進行博弈,有時候,為了運營活動要進行妥協(xié)。這一切都造就了當前的模型形態(tài)——一切為了實戰(zhàn)。
日前,我們最新的數據預測,在大部分地區(qū),預測價格在經濟人報價或見證報價上下的10%內算作準確的話,當前的模型,普貨準確率83.30%,重貨86.37%。以此為基礎,我們在上海、南京等區(qū)域實現(xiàn)了熱力供需/價格體系,能夠直接對貨主和司機施加影響,對我們自營車隊,加盟商都提供了可以依賴的成本產出指導。至于價格,才能撬動供需關系,才能實現(xiàn)非自營/加盟車隊的調度。以上海地區(qū)為例,我們調整下的市場行為,價格波動更小,而反饋率超過了85%,高活貨主加盟會員率遠超其他地區(qū),幾乎達到100%。上海等地區(qū)出發(fā)的路線成為可盈利的標桿路線。
小結
除了在車貨匹配和報價領域,我們在風控、人臉識別、調度等各種場景下都做了許多大膽嘗試。未來隨著滿幫平臺在物流領域的不斷深入,通過機器學習和深度神經網絡技術來提升效率,降低成本,是非常有前景的話題。特別是自動駕駛技術的進場,我們希望能通過更有力的調度手段,來實現(xiàn)更美好的行業(yè)前景。
轉載于:https://www.cnblogs.com/davidwang456/articles/9316317.html
總結
以上是生活随笔為你收集整理的满帮如何将机器学习应用于车货匹配和公路干线价格预测?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis 基数统计:HyperLogL
- 下一篇: Redis数据库的应用场景介绍