關(guān)于多元時間序列中的公平性問題
?今天給大家介紹一篇2023.1發(fā)在arixv的多元時序預(yù)測文章,出發(fā)點(diǎn)比較有趣:如何提升多變量時間序列的公平性。文中采用的建模方法都是之前在時空預(yù)測、Domain Adaptation等中使用過的常規(guī)操作,但是對于多變量公平性這個點(diǎn)的提出比較新穎。
- 論文標(biāo)題:Learning Informative Representation for Fairness-aware Multivariate Time-series Forecasting: A Group-based Perspective
- 下載地址:https://arxiv.org/pdf/2301.11535.pdf
1.多元時間序列的公平性
公平性問題,在機(jī)器學(xué)習(xí)領(lǐng)域中是一個宏觀的概念。機(jī)器學(xué)習(xí)中公平性的一種理解是,一個模型對于不同的樣本的擬合效果的一致程度。如果一個模型在某些樣本上效果很好,另一些樣本上效果不好,那么這個模型的公平性就比較差。例如,一個常見的場景是推薦系統(tǒng)中,模型對于頭部樣本的預(yù)測效果優(yōu)于尾部樣本,這就體現(xiàn)了模型對于不同樣本的預(yù)測效果存在不公平性。
回到多元時間序列預(yù)測問題中,公平性指的是模型是否對各個變量的預(yù)測效果都比較好。如果模型對于不同變量的預(yù)測效果差異很大,那么這個多元時間序列預(yù)測模型是不公平的。例如下圖中的例子,第一行表格是各種模型在各個變量上預(yù)測效果MAE的方差,可以看到不同模型多存在一定程度的不公平性。下圖的序列是一個例子,一些序列的預(yù)測效果比較好,而另一些序列的預(yù)測效果較差。
2.不公平現(xiàn)象的成因和解法
為什么會造成不公平性呢?無論是在多元時間序列中,還是在其他機(jī)器學(xué)習(xí)領(lǐng)域,造成不同樣本預(yù)測效果差異較大的一大原因是,不同樣本的特點(diǎn)不同,模型在訓(xùn)練過程中可能被某些樣本的特點(diǎn)主導(dǎo),導(dǎo)致模型對主導(dǎo)訓(xùn)練的樣本預(yù)測效果好,而對于非主導(dǎo)樣本的預(yù)測效果差。
在多元時間序列中,不同的變量,其序列pattern可能存在很大的差異。例如上面圖的例子,大部分序列都是平穩(wěn)的,主導(dǎo)了模型的訓(xùn)練過程。而少數(shù)序列呈現(xiàn)出了和其他序列不同的波動性,導(dǎo)致模型在這部分序列上預(yù)測效果較差。
如何解決多元時間序列中的不公平現(xiàn)象呢?一種思路是,既然造成不公平現(xiàn)象的原因是不同序列的特點(diǎn)不同,如果能將各個序列之間的共性,以及各個序列之間的差異性分解開,獨(dú)立進(jìn)行建模,就能緩解上述問題。
這篇文章就建立在這個思路之上,整體架構(gòu)是利用聚類的方法將多變量序列分組,并得到每組的共性特征;進(jìn)一步使用對抗學(xué)習(xí)的方法,從原始表示中剝離掉各個組特有的信息,得到公共的信息。通過上述過程,實(shí)現(xiàn)來了公共信息和序列特有信息的剝離,再基于這兩個部分信息進(jìn)行最終預(yù)測。
3、實(shí)現(xiàn)細(xì)節(jié)
整體的模型結(jié)構(gòu)主要包括4個模塊:多變量序列關(guān)系學(xué)習(xí)、時空關(guān)系網(wǎng)絡(luò)、序列聚類、分解學(xué)習(xí)。
多變量序列關(guān)系學(xué)習(xí)
多元時間序列的一個重點(diǎn)是學(xué)習(xí)各個序列之間的關(guān)系。本文采用的是Spatial-Temporal的方法學(xué)習(xí)這個關(guān)系。由于多元時間序列不像很多時空預(yù)測任務(wù),各個變量之間的關(guān)系可以預(yù)先定義好,因此這里使用了鄰接矩陣的自動學(xué)習(xí)方法。具體的計算邏輯為,為每個變量生成一個隨機(jī)初始化的embedding,然后使用embedding的內(nèi)積,以及一些后處理,計算兩兩變量之間的關(guān)系,作為鄰接矩陣對應(yīng)位置上的元素,公式如下:
這種自動學(xué)習(xí)鄰接矩陣的方法,在時空預(yù)測中很常用,在Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks(KDD 2020)、REST: Reciprocal Framework for Spatiotemporal-coupled Prediction(WWW 2021)等文章中,都采用了這種方式。我在星球文章KDD2020經(jīng)典時空預(yù)測模型MTGNN代碼解析中詳細(xì)介紹過相關(guān)模型的原理實(shí)現(xiàn),感興趣的同學(xué)可以進(jìn)一步閱讀。
時空關(guān)系網(wǎng)絡(luò)
有了鄰接矩陣后,文中采用了圖時序預(yù)測模型,對多變量時間序列進(jìn)行時空編碼,得到每個變量序列的表示。具體的模型結(jié)構(gòu)很類似于DCRNN,在GRU基礎(chǔ)上,每個單元的計算引入了GCN模塊??梢岳斫鉃?,在正常GRU的每個單元的計算過程中,引入了鄰居節(jié)點(diǎn)的向量做一次GCN,得到更新后的表示。關(guān)于DCRNN的實(shí)現(xiàn)代碼原理,可以參考DCRNN模型源碼解析這篇文章。
序列聚類
在得到每個變量時間序列的表示后,下一步是將這些表示聚類,以此得到各個變量序列的分組,進(jìn)而提取每組變量特有的信息。文中引入下面的損失函數(shù)來指導(dǎo)聚類過程,其中H表示每個變量序列的表示,F(xiàn)表示每個變量的序列跟K個類別的從屬關(guān)系。
這個損失函數(shù)的更新過程需要采用EM算法,即固定序列表示H,優(yōu)化F,以及固定F,優(yōu)化H。文中采用的方法是,訓(xùn)練幾輪模型得到表示H后,使用SVD更新一次矩陣F。
分解學(xué)習(xí)
分解學(xué)習(xí)模塊的核心是將各個類別變量的公共表示和私有表示區(qū)分開,公共表示指的是各個類簇變量的序列共有的特點(diǎn),私有表示指的是每個類簇內(nèi)變量序列獨(dú)有的特點(diǎn)。為了實(shí)現(xiàn)這個目的,文中采用了分解學(xué)習(xí)和對抗學(xué)習(xí)的思路,將各個類簇的表示,從原始的序列表示中剝離開。類簇表示代表每個類的特性,剝離后的表示代表所有序列的共性,利用這個共性的表示進(jìn)行預(yù)測,可以實(shí)現(xiàn)對各個變量預(yù)測的公平性。
文中利用對抗學(xué)習(xí)的思路,直接計算公共表示和私有表示(也就是聚類得到的每個類簇的表示)的L2距離,以此作為loss反向優(yōu)化,讓公共部分表示和私有表示的差距盡可能拉大。此外,還會增加一個正交約束,讓公共表示和私有表示的內(nèi)積接近0。
4、實(shí)驗(yàn)結(jié)果
文中的實(shí)驗(yàn)主要從公平性和預(yù)測效果兩個方面進(jìn)行了對比,對比的模型包括基礎(chǔ)時序預(yù)測模型(LSTNet、Informer)、圖時序預(yù)測模型等。在公平性上,采用的是不同變量預(yù)測結(jié)果的方差,通過對比,本文的方法公平性相比其他模型要有比較明顯的提升(如下表)。
在預(yù)測效果上,本文提出的模型也基本能夠取得和SOTA相當(dāng)?shù)男Ч?/p>
5、總結(jié)
如何保證模型的公平性,是機(jī)器學(xué)習(xí)很多場景都面臨的問題。本文將這一維度的問題引入到了多元時間序列預(yù)測中,并利用時空預(yù)測、對抗學(xué)習(xí)的方法進(jìn)行了比較好的解決。