AAAI 2021論文:利用深度元學習對城市銷量進行預測

京東科技開發者發表於2021-08-11

對於線上和線下的零售行業,銷量預測都是一項至關重要的任務,它可以幫助企業更好的預備庫存以及在各個倉庫之間分配商品。特別是在大型購物節期間,強勁的促銷活動將極大地促進消費。然而,可供參考的歷史資料卻非常稀缺。如何同時對城市的不同區域和不同時間段的銷量進行預測,是一個非常具有挑戰的問題。

在2020年12月收錄的AAAI 2021(CCF-A類)上,京東城市被收錄了一篇名為《Robust Spatio-Temporal Purchase Prediction via Deep Meta Learning》的論文。該論文研究瞭如何透過深度元學習,結合城市中的各項資訊以及歷史的銷量資料,對未來,特別是大型購物節期間,城市中各個區域不同時間段的銷量進行預測。

一、背景

購物中心和商店的空間分佈、人口的分佈屬性以及不同的日期型別(例如,工作日,週末或購物節)等因素,將會導致不同的購物方式,如圖1所示。

由於來自某個特定區域以及特定時間範圍內的資料過於稀缺,我們無法僅使用某個範圍的資料去訓練一個高精度的預測模型。同時,城市中不同區域的人口密度和分佈特徵高度異質,並且隨著時間的推移區域特徵也會發生變化,對這樣複雜的時空購買模式進行建模是一個非常困難的任務。

為了準確地捕獲區域的空間特性,它需要考慮一組綜合的空間特徵,例如興趣點(POI)分佈,區域的人口統計特徵等。如何透過跨時空建模學習提升單個區域在特定時間段的預測精度是我們的主要任務。

圖1 空間分佈

圖1 空間分佈


作者將該預測任務分為主要三個部分:

1)利用時空元學習推理,對不同的時空區域生成對應的時空表示;

2)學習不同時空區域間的共享資訊,同時結合區域特定的時空表示,得到更加可靠的預測銷量;

3)透過時空交替訓練使得模型在空間以及時間層面都能夠得到更加完善的學習。

圖2 攤銷網路

二、時空表示生成

我們開發了一個攤銷網路(如圖2 Amortization Network 所示),以對目標區域和日期型別的時空表示的近似後驗分佈進行建模,該模型需要同時考慮銷量特徵和相關空間特徵的影響。

從圖3(a)中我們可以看到,以北京為例,不同城區的銷量分佈有著明顯的區別。

要完全捕獲不同區域預測任務的購買資料的時間特性,還需要考慮歷史銷量資料之間的線性和非線性時間相關性,例如採購訂單和購物車記錄中所隱藏的週期模式。

圖3(b)中我們能夠看到明顯的以周為週期的銷量模式變化。為了對這種複雜而動態的時間序列模式進行建模,我們使用了線性變換模組來獲得銷量的大致基數,並使用一個特殊的跳躍LSTM層來捕獲銷量變化的非線性時間模式。接著,透過特徵融合模組將提取的時間特徵與靜態特徵相結合,以進一步支援構建更具有代表性的銷量時空表示。

圖3 銷量模式變化

三、時空銷量預測

透過上一步,我們已經得到了特定時空區域的銷量表示。接下來我們將介紹一種利用共享統計結構的生成模型,來學習不同時空預測任務間所共享資訊。對於任務特定的預測,它大大提高了學習效率和預測準確性。該生成模型的結構可以參考上節所屬的攤銷網路結構的解碼器(圖2 Generative Model 所示)。

它使用兩個不同的輸入來生成最終的銷量。第一個輸入側重於透過對最近一段時間的輸入銷量,利用特徵提取和融合技術來挖掘當前的購買表示,該特徵描述了近期的銷量模式的變化。第二個輸入是從攤銷網路中取樣的特定於某個時空預測任務的時空特徵表示。它捕獲了目標任務的宏觀時空模式。最後,生成模型使用完全連線的網路將兩個輸入合併,對目標時刻的銷量訂單進行預測。

四、時空交替訓練

不同的時空任務僅與來自特定區域和時間範圍的有限資料相關聯,無法完全描述特定區域的購買行為。受多檢視學習的啟發,我們構建了兩種檢視(空間檢視和時間檢視)來描述資料的不同觀點。兩個檢視相互補充,以增強學習到的資訊並獲得更準確的時空資料表示。空間觀點傾向於學習不同地區的購買模式,而時間觀點傾向於挖掘不同時間段型別的時間變化模式。

訓練期間在不同檢視之間進行切換可以在不同區域或日期型別之間學習到不同的時空資訊。同時,在交替訓練期間還能夠整合不同時空任務共享的生成模型,並提高了預測準確性。完整的訓練過程如演算法1所示。

演算法1

五、實驗

我們使用來自京東的海量高質量線上銷量資料集來評估我們的模型。JD資料集包含時間跨度從2015年至2019年的採購訂單,購物車資料(作為動態時間序列特徵)和包括北京18個行政區塊的區域特徵(例如POI和人口統計資料資料)作為靜態特徵。

為了驗證模型的有效性以及魯棒性,作者對不同時間區間(周內,週末,購物節等)的銷量進行預測評估。同時還對模型中的不同元件進行消融分析,對不同元件的有效性進行評估,結果如表1所示。


表1 不同元件的有效性
表1中我們可以看到,對於平日較為平緩和購物節的爆發性預測設定中,STMP均優於所有基線方法。在MSE方面,STMP均比最佳基準提高了至少30%。在爆發性銷量預測場景中,STMP仍比基準降低約30%至60%。這些結果表明,當實際購買模式與平時截然不同時,我們的方法是有效且可靠的。


為了進一步研究STMP各個模型組成部分的影響,我們還在表1中比較了STMP及其變體的效能。可以觀察到,STMP-VI在總體和週末情景中表現良好,這些情景具有相對穩定的購買模式,但在購物節上的表現要比STMP差。這是因為STMP-VI使用點估計而不是特定於任務的時空表示的分佈描述,當資料有限或模式高度不確定時,這會出現問題。

此外,與STMP或其他變體相比,STMP-SKIP的準確性較差,但仍優於其他基準。這證明需要考慮購買時間序列中的多個週期性模式。這也反映在圖4(b)中,我們可以在購買時間序列資料中看到清晰的週期性模式。這些證明對資料中的多個週期性屬性進行建模在提高模型效能方面起著重要作用。


圖4
為了探究模型在不同區域以及時間段的效果,作者挑選了四個具有代表性的區域(覆蓋不同銷量範圍,詳細地理位置請參見圖4(a))將STMP與基線方法在整個2019年的銷量資料上做視覺化,如圖4所示。在大多數地區,基線無法很好地預測購物節期間購買時間序列的突發性,例如中旬促銷和11.11的購買高峰。他們傾向於給出保守的結果,並且只專注於提高整體準確性。但是,STMP利用不同區域和日期型別的時空表示來支援多工少拍學習,以促進對特定區域和日期型別的更好預測。可以觀察到,只有STMP能夠準確地預測爆發式的銷量(所有圖6中的峰值)。



圖5
同時作者對於購物節歷史資料的可參考情況進行了進一步的探究,在購物節銷量資料非常稀缺的情況下,每增加一次購物節可見資料,精度會有一定的提升。然而即使在購物節可參考資料只有一次(持續大約一週)的情況下,STMP也具有較高的準確率,這表明了模型的魯棒性。



表2
最後,作者對時空交替訓練方式在三個大型購物節上也做了比較。在時間訓練中,合併操作將來自同一天型別的例項成批整合,而不考慮空間知識。同時,在空間訓練中,模型將來自同一區域的一批例項整合在一起,而無需考慮時間資訊。


從表2中我們可以看到,即使不完整的T訓練和S訓練也比表1列出的基線提供更高的準確性。但是,與完整的時空交替訓練相比,缺乏時空上的聯合元知識仍然會導致較低的準確性。這表明不同的訓練模式會跨地區和時間型別學習不同的轉換。從時空方面的補充訓練可以有效地提高預測的準確性。

Powered by Froala Editor

相關文章