呂恩澤
摘要:時間序列是隨時間變化且相互關聯的數據序列,在經濟、金融、科學觀測和工程等各個領域都廣泛存在。如何有效地管理和利用歷史時間序列,發現這些數據背后隱含的規律和知識,是人們廣泛關注的問題。根據傳統時間序列分析提出假設,進行驗證的數據處理方法不同,時間序列數據挖掘適合發現型任務,能從大量歷史數據中挖掘潛在的、未知的、有價值的知識,已吸引了越來越多科研人員與大型公司的關注。本文對比了幾個時間序列模型方法,并研究發現其中的問題與解決方法,以供參考。
關鍵詞:金融;機構;時間序列
DOI:10.12433/zgkjtz.20233110
中國銀聯的業務部門有監控各家收單機構(各大銀行、拉卡拉、通聯支持、匯付支付、開店寶等)交易量的需求,例如,某家交易機構當天交易金額反常時產生報警給業務人員:分析定位問題、查找是否違規、手續費率變更等。從性質上來看,是一個典型的時間序列異常偵測應用場景。時間序列異常偵測有很多方法,例如,分析數據的周期、趨勢、頻率、幅度等。不過,直接分析數據的時序特質主觀因素會較強烈,可以采用巧妙的方式,直接預測機構交易量,再根據真實交易量是否落在預測值上下的一個范圍內,作出異常判定,把時間序列異常偵測的問題轉化成時間序列預測的問題,以此變成有訓練標簽的場景,通過對機構歷史交易數據(標簽)進行建模訓練,判斷未來交易金額。
一、時間序列模型的分類與介紹
時間序列模型種類有很多,要做的是選出對場景最準確預測的模型。經過初步篩選確定簡單統計學模型、Facebook的Prophet、有監督機器學習模型LightGBM、深度學習模型LSTM四個典型代表。
(一)統計學模型
大機構交易的數據特點是總體趨勢平穩,但具有很強的周期性浮動,可以直接定義這一統計學模型,當天預測金額為前五周同日交易金額的平均值,這個模型看似樸素,其實為模型的選擇樹立了一個很簡明的標桿(Benchmark),沒有建模經驗業務人員也可以用這種簡單的數學公式做交易金額推導。從實際效果來看,模型表現出色(MAPE值相對較低),大多數不能跑贏這個統計學公式的機器學習模型,因此在初篩階段被遺棄。
(二)Prophet
Facebook的Prophet是元宇宙公司開發的一款時間序列預測模型,會充分考慮歷史數據的分布,把數據的非線性趨勢和年周期、周周期,再加上節假日影響性,綜合評估并給予預測。該模型的最大特點會考慮特殊日子(節假日、大促、大型比賽等)對數據的影響,并允許自定義特殊日期。考慮到我國大促的力度和影響,把Prophet放在候選區里,觀察是否會有良好的表現。
(三)LightGBM
LightGBM是一個梯度Boosting框架,使用基于決策樹的學習算法,在目前時序預測領域中具有良好表現,據統計資料顯示,在2020年Kaggle舉辦的M5時序預測比賽中,前50名作品有超過80%都加入了LightGBM的身影。作為一款有監督機器學習模型,LightGBM允許輸入多個特征,可以把多個機構的數據混合訓練。這種多元多序列的工作模式,對深入發掘數據規律具有積極作用。另一款模型XGBoost雖然預測效果與LightGBM差不多,但LightGBM的訓練效率更高,成為機器學習模型的首選。
二、時間序列模型的實驗分析
為了便于各種類型的模型比較以及參數調優,統一準備三年多的數據(2017年7月到2020年10月)用于訓練和驗證,從最后三個月的數據隨機抽取測試集評價模型效果。單個模型采用機構名加線上或線下作為維度分別建模,然后匯總綜合評分,評價使用MAPE作為指標。需要指出的是,LightGBM模型的特點是利用上述特征,為了發揮本身的特性,做了額外的特征工程:對交易金額、筆數等時間特征做滑窗處理,再加上機構自身的特征,用以模型訓練。
經過大量測試發現,LightGBM對各家機構的預測偏差基本在5%以內,明顯好于統計標桿和其他模型。本文確定以LightGBM為預測交易資金的主模型,但現在的問題是如何調優模型,盡可能提高預判的準確率。當然,直接的方式是通過模型調參,雖然可以通過利用網格搜索技術進行超參調優,但模型在驗證數據精準提升不大,也存在過擬合的潛在問題,必須搜索每個機構模型單獨網格,時間和資源的大量消耗難以達到滿意效果。
通過大量的模型和數據研究之后得出改進方案,LightGBM的特質是可以把多家機構數據一起訓練,通過把機構放入同一個模型共同訓練,提煉機構間的共有規律,提高模型的準確率。于是隨機篩選出一批機構單獨建模記錄MAPE成績,再混合訓練進行對比,部分機構的效果比之前有所提高(MAPE更低),另一部分機構預測能力卻不如之前,這是因為共同訓練淡化了一些本來可以很好刻畫該機構交易量的特征。可以得出結論,每家機構都有自己的業務模式,要改進一版方案,找到具有相同業務模式的機構并把它們放在同一個LightGBM模型中訓練。通過對數據的干預分類,讓模型可以更好地學習業務模式上的規律,在這種情況下,每種機構的類型會產生一個模型。
三、機構重排的方法
通過觀察交易數據得出結論,銀行間的業務模式也并不相同,有的銀行業務模式甚至和三方機構更接近,要想完善模型,還要重排機構。
無標簽聚類算法是針對機構重排一種很有效的手段,各種算法在網上也有很詳細的解釋。基本上大多數聚類算法都是通過對象的特征值,計算對象與對象的距離,再根據距離的長短聚合。要使用一種新穎的基于結果導向的圖聚類算法,核心思想是把每個機構看成圖上的一個點,確定哪些點之間可以建邊,有了點和邊的關系,利用類似于Louvain的算法計算機構間的社區關系,把兩兩一組的機構用LightGBM進行共同建模,如果兩家機構的結果都比分別建模效果好,就可以定義這兩家機構的點之間存在一條邊。有了數據之后,利用圖算法把機構聚合成若干個社區共同訓練。
四、機構交易預測模型遇到的問題與解決辦法
機構交易預測模型已完成了一半,但仍存在兩個問題:第一,對于有長期趨勢的機構,模型預測能力較差,主要是因為基于增強樹模型的LightGBM沒有辦法預測未知數據范圍的交易值,對于新興機構或夕陽機構,預測的表述能力還不夠。第二,對于少數復雜業務模式,LightGBM難以抓住規律,分別表現為兩種情況,MAPE過高或大量依靠前一天的交易量預測,會影響模型預測的準確性,但業務上又不能過濾小眾機構,因此最終模型必須提供一定程度的兼容性。
為了解決這一問題,決定引進一個新的模型中和LightGBM的不足。最后的交易預測模型內部是一個雙模型,兩個模型分別作出判斷,只有當真實值和兩個預測值都不接近時,才會檢測異常。兩個模型相互輔佐,會大大減少模型本身帶來的誤差,讓業務人員從頻繁告警中解脫出來,關注一些真正重要的內容。
本文選擇深度學習模型LSTM作為第二個模型,作為RNN的改進版本,這種門控循環網絡能記住并發現長時間數據的規律,在復雜的業務場景下,深度學習對比起機器學習,能挖掘數據深層次的規律并提供更好的擬合效果。LSTM的回歸特性能夠預測機構的趨勢,在金融支付場景下,是對LightGBM很好的補充。
不幸的是,直接使用TensorFlow的LSTM包預測效果在數據集下效果并不理想,所以在LSTM層上前置一層卷積神經網絡層(CNN),用來提取野內周期數據的局部特征。可以看到,前置卷積神經網絡的LSTM在某些小眾機構預測表達能力,比起LightGBM提高了3~5倍。
當然,LSTM也有不足,單個模型訓練速度緩慢,機構之間也不能共同訓練,必須單機構單模型。基于銀聯機構的數量和時間成本考慮,雙模型架構具有兩個不同的模型更新周期:LightGBM按周更新模型,而LSTM的更新周期為月。
此外,需要確定異常告警閾值,場景中的閾值定義為15%,這個基線可以確保大多數的機構精準率和召回率在98%以上,滿足業務上的異常偵測需求,又不至于造成告警風暴,讓人工智能把業務人員從繁重的數據比對和統計工作中解脫出來。
五、結語
金融支付領域機構交易時間序列由于數據量大、維數高、規律周期跨度長,直接檢測其中的異常模式較難,所以利用LSTM和LightGBM一個機器學習模型和一個深度學習模型混合檢測,既可以高效地檢測數據中的異常模式,還能反映數據在不同時間段內的變化趨勢,滿足日常生活中業務上的需求。同時,模型還附帶給出了預測交易量,對戰略決策規劃具有參考作用。
參考文獻:
[1]周大鐲,劉月芬,馬文秀.時間序列異常檢測[J].計算機工程與應用,2008,44(35):145-147.
[2]蘇衛星,朱云龍,劉芳,等.時間序列異常點及突變點的檢測算法[J].計算機研究與發展,2014,51(04):781-788.
[3]肖輝.時間序列的相似性查詢與異常檢測[D]上海:復旦大學,2005.