KDD2024 | 解決時空建模異質問題——基于時空表征的個性化參數時空網絡
今天給大家介紹一篇最近被KDD錄用的時空預測建模工作。這篇文章重點解決在時空預測建模中,如何解決不同樣本在時間和空間維度上的異質性,提出了一種基于時空表征的個性化參數建模方法。
1、背景
時空建模是一個常見問題,例如在交通預測中,預測每個位置每個時間步的流量等任務,需要同時考慮一個位置內時間維度的依賴關系,以及同一段時間不同位置建的空間依賴關系。關于時空建模,在【圓圓的算法筆記】知識星球中也詳細整理了相關前沿工作和代碼解析,感興趣的同學可以加入領取。
時空異質性是時空建模中的一個難題。這種異質性,在時間維度上指的是,同一個地點,不同時間的流量分布差異很大,比如早高峰和日常時間、工作日和周末;在空間維度上,指的是同一時間段,不同位置的流量序列pattern差異很大,如下圖所示。
現有的解決方法,主要依賴于在時間或空間人工定義一些有區分度的特征,例如POI數據等。這類方法對特征依賴比較強。本文則提出了一種基于表示學習的方法,在不依賴額外特征的情況下,實現時間空間異質性的個性化建模。
2、建模方法
為了解決時空異質性問題,本文建模的一個核心思路為:利用數據驅動的方式學習時間embedding和空間embedding,這些表征可以天然將相同時空上下文的樣本聚類成簇,再基于這個表征進行網絡參數的個性化,實現每類時空數據獨立建模。
整體的建模方法包括:時空表征學習、meta-parameter個性化參數、時空網絡3個部分,核心是meta-parameter個性化參數,整體模型結構如下圖所示。
在時空表征學習中,對于每條樣本,為其分配相應的時間embedding和空間embedding。時間embedding使用每個時間序列最后一個step對應的hour-of-day、day-of-week對應的embedding拼接到一起。空間embedding為每個位置設定一個可學習的隨機初始化embedding。整體embedding隨著最終優化目標訓練。文中提出,隨著訓練的進行,能夠實現將相似時間或空間pattern的拉近,在后面的實驗部分也有可視化驗證。如下圖,時間embedding、空間embedding都形成了比較強的類簇關系,相同類簇的表征聚集在了一起。
第二部分是本文提出的meta-parameter個性化參數網絡。文中將參數分成時間、空間、時空3個部分。每個部分的網絡,都會使用前面學到的時空embedding進行子參數檢索。例如,時間維度,設定k組參數,對于一個樣本,利用前面學到的時間embedding作為query,和這k組參數進行相乘,相當于從這k組參數中檢索一組最適配的參數??臻g維度和時空維度也類似,空間維度的query使用空間embedding,時空維度的query使用一個原始序列經過編碼器的表征。
通過meta-parameter的方法,實現了每種類型的時空樣本使用特定一種個性化參數的目的。同時,通過將時間參數、空間參數、時空參數這3組參數空間的分離,又能讓每組參數分別解決專門的異構性問題。例如時間維度的參數,專門將工作日或周末、高峰或日常等不同類型的時間節點,使用相應的參數進行擬合。
最后,在時空模型結構上,使用的是Graph Convolutional Recurrent Unit網絡,將上述meta-parameter引入到GCRU中,實現個性化的GCRU。圖中的節點的關系鄰接矩陣,使用節點embedding內積+ReLU的方式進行自動化學習。
3、實驗效果
文中在多個時空預測數據集上進行了驗證,本文提出的建模方法均取得了一定的效果提升。
文中也進行了整個建模過程的可視化分析。除了前文已經介紹過了時間embedding、空間embedding的聚類簇合理性外,也分析了meta-parameter的分布情況,不同類簇在不同時間段內隨著pattern差異的大小,參數的相關性業隨之變化。
本文轉載自 ??圓圓的算法筆記??,作者: Fareise
