今天要跟大家介紹一篇2023.1發在arixv的多元時序預測文章,出發點比較有趣:如何提升多變量時間序列的公平性。文中所採用的建模方法都是先前在時空預測、Domain Adaptation等中所使用過的常規操作,但是對於多變量公平性這個點的提出比較新穎。
公平性問題,在機器學習領域中是一個宏觀的概念。機器學習中公平性的一種理解是,一個模型對於不同的樣本的擬合效果的一致程度。如果一個模型在某些樣本上效果很好,有些樣本上效果不好,那麼這個模型的公平性就比較差。例如,一個常見的場景是推薦系統中,模型對於頭部樣本的預測效果優於尾部樣本,這反映了模型對於不同樣本的預測效果存在不公平性。
回到多元時間序列預測問題中,公平性指的是模型是否對各變數的預測效果都比較好。如果模型對於不同變項的預測效果差異很大,那麼這個多元時間序列預測模型是不公平的。例如下圖中的例子,第一行表格是各種模型在各變數上預測效果MAE的方差,可以看到不同模型多存在一定程度的不公平性。下圖的序列是一個例子,有些序列的預測效果比較好,而有些序列的預測效果較差。
為什麼會造成不公平?無論是在多元時間序列中,或是其他機器學習領域,造成不同樣本預測效果差異較大的一大原因是,不同樣本的特徵不同,模型在訓練過程中可能被某些樣本的特徵所主導,導致模型對主導訓練的樣本預測效果好,而對於非主導樣本的預測效果差。
在多元時間序列中,不同的變量,其序列pattern可能存在很大的差異。例如上面圖的例子,大部分序列都是平穩的,主導了模型的訓練過程。而少數序列呈現了和其他序列不同的波動性,導致模型在這部分序列上預測效果較差。
如何解決多元時間序列中的不公平現象呢?一個想法是,既然造成不公平現象的原因是不同序列的特徵不同,如果能將各個序列之間的共性,以及各個序列之間的差異性分解開,獨立進行建模,就能緩解上述問題。
這篇文章就建立在這個思路之上,整體架構是利用聚類的方法將多變量序列分組,並得到每組的共性特徵;進一步使用對抗學習的方法,從原始表示中剝離各組特有的信息,得到公共的信息。透過上述過程,實現來了公共資訊和序列特有資訊的剝離,再基於這兩個部分資訊進行最終預測。
整體的模型結構主要包含4個模組:多變量序列關係學習、時空關係網路、序列聚類、分解學習。
多元時間序列的一個重點是學習各個序列之間的關係。本文採用的是Spatial-Temporal的方法學習這個關係。由於多元時間序列不像很多時空預測任務,因此各個變數之間的關係可以預先定義好,因此這裡使用了鄰接矩陣的自動學習方法。具體的計算邏輯為,為每個變數產生一個隨機初始化的embedding,然後使用embedding的內積,以及一些後處理,計算兩兩變數之間的關係,作為鄰接矩陣對應位置上的元素,公式如下:
這種自動學習鄰接矩陣的方法,在時空預測中很常用,在Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks(KDD 2020)、REST : Reciprocal Framework for Spatiotemporal-coupled Prediction(WWW 2021)等文章中,都採用了這種方式。我在星球文章KDD2020經典時空預測模型MTGNN程式碼解析中詳細介紹相關模型的原理實現,有興趣的同學可以進一步閱讀。
有了鄰接矩陣後,文中採用了圖時序預測模型,對多變量時間序列進行時空編碼,得到每個變數序列的表示。具體的模型結構很類似DCRNN,在GRU基礎上,每個單元的計算引入了GCN模組。可以理解為,在正常GRU的每個單元的計算過程中,引入了鄰居節點的向量做一次GCN,得到更新後的表示。關於DCRNN的實作程式碼原理,可以參考DCRNN模型原始碼解析這篇文章。
在得到每個變數時間序列的表示後,下一步就是將這些表示聚類,以此得到各個變數序列的分組,進而提取每組變數特有的訊息。文中引入下面的損失函數來指導聚類過程,其中H表示每個變數序列的表示,F表示每個變數的序列跟K個類別的從屬關係。
這個損失函數的更新過程需要採用EM演算法,即固定序列表示H,最佳化F,以及固定F,最佳化H。文中所採用的方法是,訓練幾輪模型得到表示H後,使用SVD更新一次矩陣F。
分解學習模組的核心是將各個類別變數的公共表示和私有表示區分開,公共表示指的是各個類別簇變數的序列共有的特點,私有表示指的是每個類別簇內變數序列獨有的特徵。為了實現這個目的,文中採用了分解學習和對抗學習的思路,將各個類簇的表示,從原始的序列表示中剝離開。類簇表示代表每個類別的特性,剝離後的表示代表所有序列的共性,利用這個共性的表示來預測,可以實現對各個變數預測的公平性。
文中利用對抗學習的思路,直接計算公共表示和私有表示(也就是聚類得到的每個類簇的表示)的L2距離,以此作為loss反向優化,讓公共部分錶示和私有表示的差距盡可能拉大。此外,還會增加一個正交約束,讓公共表示和私有表示的內積接近0。
文中的實驗主要從公平性和預測效果兩個方面進行了對比,對比的模型包括基礎時序預測模型(LSTNet、Informer)、圖時序預測模型等。在公平性上,採用的是不同變數預測結果的方差,透過對比,本文的方法公平性相比其他模型要有比較明顯的提升(如下表)。
在預測效果上,本文所提出的模型也基本上能夠取得和SOTA相當的效果:
如何確保模型的公平性,是機器學習很多場景都面臨的問題。本文將此維度的問題引入了多元時間序列預測中,並利用時空預測、對抗學習的方法進行了比較好的解決。
#以上是關於多元時間序列中的公平性問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!