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