基於圖卷積神經網絡GCN的時間序列預測

2020-12-04 deephub

時間序列預測任務可以按照不同的方法執行。最經典的是基於統計和自回歸的方法。更準確的是基於增強和集成的算法,我們必須使用滾動周期生成大量有用的手工特性。另一方面,我們可以使用在開發過程中提供更多自由的神經網絡模型,提供對順序建模的可定製的特性。

循環和卷積結構在時間序列預測中取得了巨大的成功。該領域中有趣的方法是通過採用最初在NLP中本地的Transformers和Attention架構。圖結構的使用似乎不常見,在圖結構中,我們有一個由不同節點組成的網絡,這些節點之間通過某種連結相互關聯。我們嘗試做的是使用時間序列的圖形表示來產生未來的預測。

在這篇文章中,我們完成了一個銷售預測任務,我們利用圖卷積神經網絡探索數據的嵌套結構,有不同商店中不同商品的不同銷售系列組成。

數據

數據集是從Kaggle上過去的競賽中收集的。 Store Item Demand Forecasting Challenge預測挑戰提供了4年的銷售數據,以每天的格式在不同的商店出售的不同的項目。我們有10家店,50種產品,共500個系列。每個商店都出售每種產品。我們的範圍是每天為所有項目提供準確的未來預測。

我們可以使用的數據很少:只有銷售額和商品和商店的數字編碼。這仍然足以讓我們強調一個基本的等級結構。我們所需要做的就是將這個系列按照商品級別進行分組,這樣我們就得到了50個組(商品),每個組由10個系列(每個商店中出售的商品)組成;上圖中描述了一個組的例子。

在經典的圖網絡中,所有相關信息都存儲在一個稱為鄰矩陣的對象中。這是數據中所有連接的數值表示。我們的上下文中的相鄰矩陣可以通過所有商店中給定商品的銷售序列計算得到的相關矩陣來檢索。

在我們的方法中,因為要像處理遞歸體系結構那樣將數據分片處理,所以需要對序列進行重新劃分,這也是我們模型的一部分。

模型

我們的模型作為輸入,接收來自所有商店的銷售序列和來自相同序列的相鄰矩陣。序列通過LSTM層,而相關矩陣則由圖形轉換層處理。它們是在Spektral中實現的,Spektral是一個基於Tensorflow的圖形深度學習庫。它有各種可用的圖形層。我們使用最基本的一種,圖形進化。它在可學習權重、外部節點特徵(與相鄰矩陣一起提供)和我們的相關矩陣之間執行一系列卷積操作。不太可能,目前Spektral不支持Window,所以我必須手動提取感興趣的類並創建Python可執行文件。

我們的模型接收來自所有商店的銷售序列和來自相同序列的相鄰矩陣作為輸入。序列通過LSTM層傳遞,相關矩陣由GraphConvolution層處理。它們是在Spektral中實現的,Spektral是一個很酷的庫,用於基於Tensorflow的圖形深度學習。它有各種可用的圖形層。我們使用最基本的一個,圖卷積GCN。它在可學習的權值、外部節點特徵(與鄰近矩陣一起提供)和我們的相關矩陣之間進行一系列卷積運算。目前Spektral不支持Window。

def get_model(): opt = Adam(lr=0.001) inp_seq = Input((sequence_length, 10)) inp_lap = Input((10, 10)) inp_feat = Input((10, X_train_feat.shape[-1])) x = GraphConv(32, activation='relu')([inp_feat, inp_lap]) x = GraphConv(16, activation='relu')([x, inp_lap]) x = Flatten()(x) xx = LSTM(128, activation='relu',return_sequences=True)(inp_seq) xx = LSTM(32, activation='relu')(xx) x = Concatenate()([x,xx]) x = BatchNormalization()(x) x = Dropout(0.5)(x) x = Dense(128, activation='relu')(x) x = Dense(32, activation='relu')(x) x = Dropout(0.3)(x) out = Dense(1)(x) model = Model([inp_seq, inp_lap, inp_feat], out) model.compile(optimizer=opt, loss='mse', metrics=[tf.keras.metrics.RootMeanSquaredError()]) return model

如前所述,在開發遞歸網絡時,數據總是像往常一樣被處理。序列一個在固定的時間內的商店的產品的銷售集合。

在我們的例子中,下一步的步驟是在相同的序列上計算商店間銷售的相關矩陣,它表示我們的相鄰矩陣。同時還有一些人工特徵(如均值、標準差、偏度、峰度、回歸係數),由我們對每個序列進行計算,代表我們在網絡中的節點特徵。

對於給定的樣本協方差或相關矩陣,我們可以使用拉普拉斯(Laplacian)歸一化來估計鄰接矩陣,該歸一化可以基於譜卷積的一階近似來提供高效的逐傳播規則(前向和後向傳播)。

訓練集是用前兩年的數據計算的,而剩下的兩年分別用於驗證和測試。我為每個商店訓練了一個模型,所以我們總共有10個不同的神經網絡。

在訓練過程的最後,通過相關模型對預測結果進行檢索。誤差以測試數據上的RMSE計算,下面是報表展示。

以同樣的方式,很容易提取所需預測數據

總結

在這篇文章中,我採用了圖形神經網絡在不常見的情況下,如時間序列預測。在我們的深度學習模型中,圖依賴與遞歸部分相結合,試圖提供更準確的預測。這種方法似乎很適合我們的問題,因為我們可以強調數據中的基本層次結構,並用相關矩陣對其進行編碼

作者:Marco Cerliani

相關焦點

  • 基於卷積神經網絡的目標檢測算法簡介
    輸出層:輸出層的形式面向具體任務,如果將卷積神經網絡作為分類器使用,輸出層採用softmax回歸,產生一個圖形類別的預測向量y=(y1,…,ym)T,其中,M表示類別的個數。6.卷積神經網絡的常見網絡類型有哪些?
  • 時間序列的LSTM模型預測——基於Keras
    一、問題背景    現實生活中,在一系列時間點上觀測數據是司空見慣的活動,在農業、商業、氣象軍事和醫療等研究領域都包含大量的時間序列數據。時間序列的預測指的是基於序列的歷史數據,以及可能對結果產生影響的其他相關序列,對序列未來的可能取值做出預測。
  • Nature Communications:人工智慧地震信息挖掘——基於高效分類多尺度濾波卷積神經網絡的自動化設計
    耿智等-NC:人工智慧地震信息挖掘——基於高效分類多尺度濾波卷積神經網絡的自動化設計人工神經網絡可以正確學習此類圖像中的所有形態模式,其中許多是基於現行的卷積神經網絡(CNN),而CNN是專門針對計算機視覺中與圖像相關的任務而設計的。與視覺圖像相比,地震反射信號具有本質上的不同:稀疏信號極性變化及有限帶寬。此外,地質特徵的地震響應在波傳播路徑、頻率、幅度和極性方向方面也有所不同。因此基於數據驅動的ANN地震解釋研究是典型的高維稀疏信號的複雜映射問題。
  • 使用Keras構建具有自定義結構和層次圖卷積神經網絡
    來源:DeepHub IMBA本文約3600字,建議閱讀5分鐘本文為你介紹了如何構建具有自定義結構和層次的神經網絡:Keras中的圖卷積神經網絡(GCNN)。在這個循序漸進的教程中,我們將構建一個包含並行層的神經網絡,其中包括一個圖卷積層。那麼什麼是圖上的卷積呢?圖卷積神經網絡在傳統的神經網絡層中,我們在層輸入矩陣X和可訓練權值矩陣w之間進行矩陣乘法,然後應用激活函數f。因此,下一層的輸入(當前層的輸出)可以表示為f(XW)。
  • 基於PVANet卷積神經網絡模型的交通標誌識別算法
    結果表明, 所構建的卷積神經網絡具有優秀的小目標物體檢測能力, 相應的交通標誌檢測算法可以實現較高的準確率。 計算機目標檢測是指計算機根據視頻、圖像信息對目標物體的類別與位置的檢測, 是計算機視覺研究領域的基本內容。隨著硬體和軟體技術的發展, 尤其是基於卷積神經網絡目標檢測算法的普及應用, 計算機目標檢測的準確率及速度都有了很大提高[1]。
  • 卷積神經網絡的卷積到底是什麼
    卷積神經網絡是一種特殊的神經網絡結構,是自動駕駛汽車、人臉識別系統等計算機視覺應用的基礎,其中基本的矩陣乘法運算被卷積運算取代。例如,時間序列數據和圖像數據可以看作是一個二維像素網格。
  • 利用二維卷積神經網絡進行乳腺癌分類
    利用二維卷積神經網絡進行乳腺癌分類Submitted on 7 Jul 2020 (v1), last revised 29 Jul 2020然而,目前最先進的分類模型——卷積神經網絡(CNN),卻不能用於以一維格式表示的臨床數據。CNN被設計用於處理一組二維矩陣,這些矩陣的元素與相鄰元素有一定的相關性,比如圖像數據。反之,除了時間序列數據以外,用一組一維向量表示的數據示例不能用於CNN,而可以用於其他分類模型,如人工神經網絡或隨機森林。
  • 基於GWO-BP-CNN-ec的風電功率短期預測模型*
    通過仿真分析得出,基於GWO-BP-CNN-ec的組合模型預測效果優於單一CNN,GWO-CNN及GWO-BP-CNN,然後對比了基於BP、Elman、小波神經網絡的淺層網絡預測模型與基於CNN的深層網絡組合預測模型的預測效果,驗證出了深層CNN網絡在預測方面的精度優勢,在高風速段時尤為明顯。證明深層卷積神經網絡組合模型對風電短期功率預測精度的提升有顯著作用。
  • 關於GCN,我有三種寫法
    作者 | 阿澤本篇文章主要基於 DGL 框架用三種不同的方式來實現圖卷積神經網絡。DGL簡介DGL(Deep Graph Library)框架是由紐約大學和 AWS 工程師共同開發的開源框架,旨在為大家提供一個在圖上進行深度學習的工具,幫助大家更高效的實現算法。
  • 將注意力機制引入RNN,解決5大應用領域的序列預測問題
    長序列的問題在編碼器-解碼器循環神經網絡中,一系列長短期記憶網絡(LSTM)學習將輸入序列編碼為固定長度的內部表徵,另一部分長短期記憶網絡讀取內部表徵並將它解碼到輸出序列中。這種結構在困難的序列預測問題(例如文本翻譯)中展示出了當前最先進的水平,並迅速成為了主導方法。
  • 通俗易懂:圖卷積神經網絡入門詳解
    再回憶一下RNN系列,它的對象是自然語言這樣的序列信息,是一個一維的結構,RNN就是專門針對這些序列的結構而設計的,通過各種門的操作,使得序列前後的信息互相影響,從而很好地捕捉序列的特徵。上面講的圖片或者語言,都屬於歐式空間的數據,因此才有維度的概念,歐式空間的數據的特點就是結構很規則。
  • 深度學習入門:淺析卷積神經網絡
    預測類別圖8 邏輯回歸混淆矩陣(縱軸為真實類別)03卷積神經網絡一一層卷積神經網絡首先我們從一些常見的網絡結構入手。搭建單層的卷積神經網絡:INPUT -> CONV -> RELU-> POOL -> FC -> OUTPUT,將epoch設置為10,batch size設置為100,對Fashion-MNIST圖像數據進行預測。
  • 一文讀懂圖神經網絡
    小聲:今天老闆說深度學習必須學習python,於是:一、介紹什麼是圖神經網絡圖神經網絡(Graph Neural Networks, GNNs)是基於圖結構的深度學習方法,近期被廣泛應用到各類圖像為什麼要使用圖神經網絡圖神經網絡有靈活的結構和更新方式,可以很好的表達一些數據本身的結構特性,除了一些自帶圖結構的數據集(如Cora,Citeseer等)以外,圖神經網絡目前也被應用在更多的任務上,比如文本摘要,文本分類和序列標註任務等,目前圖神經網絡以及其變種在很多任務上都取得了目前最好的結果
  • 乾貨|時間序列預測類問題下的建模方案探索實踐
    使用XGBoost模型處理時間序列預測類問題,需要將其轉換成回歸問題再進行構建,其具體建模流程如下圖所示。圖7 XGBoost模型建模流程圖使用機器學習類的模型進行時間序列預測,不需要進行平穩性檢驗,直接對訓練數據進行相關預處理即可,包括查重、查缺、清洗錯誤等。
  • 卷積神經網絡(CNN)介紹與實踐
    我們看到事物,然後標記,進行預測和識別行為。但是我們怎麼做到這些的呢?我們怎麼能解釋我們看到的一切?大自然花費了5億多年的時間來創建一個系統來實現這一目標。眼睛和大腦之間的合作,稱為主要視覺通路,是我們理解周圍世界的原因。
  • 教程 | 將注意力機制引入RNN,解決5大應用領域的序列預測問題
    然後它會基於上下文向量以及這些源文本中的位置和之前生成的目標詞來預測下一個目標詞。」「……該模型將輸入語句編碼成向量序列,並在解碼翻譯的時候適應性地選擇這些向量的子集。這使得神經翻譯模型不必再將各種長度的源句子中的所有信息壓縮成一個固定長度的向量。」
  • 卷積神經網絡(CNN)新手指南
    以類似的方式計算機能夠進行圖像分類任務,通過尋找低層次的特徵如邊緣和曲線,然後運用一系列的卷積層建立一個更抽象的概念。這是卷積神經網絡應用的一個總體概述,接下來我們來探討下細節。生物聯繫首先要稍微普及下一點背景知識,當你第一次聽到卷積神經網絡這個詞時,你也許會想這是是不與神經科學或者生物學有關?恭喜你,猜對了一部分。卷
  • 了解1D和3D卷積神經網絡|Keras
    當我們說卷積神經網絡(CNN)時,通常是指用於圖像分類的2維CNN。但是,現實世界中還使用了其他兩種類型的卷積神經網絡,即1維CNN和3維CNN。在本指南中,我們將介紹1D和3D CNN及其在現實世界中的應用。我假設你已經大體上熟悉卷積網絡的概念。
  • 騰訊優圖推出卷積神經網絡深度學習算法模型
    騰訊優圖實驗室聯合廣東省肺癌研究所吳一龍教授/鍾文昭教授團隊,與清華大學以及國內多家中心呼吸科/放射科團隊等共同開發了基於卷積神經網絡算法的肺結節診斷模型,近日,該初步研究成果已被全球癌症領域知名醫學期刊《腫瘤學家》(《The Oncologist》)收錄並全文發表。
  • Bioinformatics|用深度神經網絡結合局部和全局特徵預測蛋白質的...
    文章研究了如何利用蛋白質的局部和全局胺基酸序列來預測蛋白質的結合位點,作者用一個49維的向量(其中包括原始胺基酸、胺基酸的PSSM、胺基酸的二級結構狀態)來表示任意一個胺基酸,最後將得到的局部和全局胺基酸序列的向量表示連接起來,輸入到一個深度神經網絡做預測。1、研究背景PPI site背景:1、現存的方法主要使用局部上下文特徵來預測PPI site。