在許多行業(yè)中,準(zhǔn)確預(yù)測未來序列的能力至關(guān)重要:財(cái)務(wù),供應(yīng)鏈和制造只是其中的幾個(gè)例子。 幾十年來,經(jīng)典的時(shí)間序列技術(shù)已經(jīng)完成了這項(xiàng)任務(wù),但現(xiàn)在深度學(xué)習(xí)方法 – 類似于計(jì)算機(jī)視覺和自動(dòng)翻譯中使用的方法 – 具備徹底革新時(shí)間序列預(yù)測的潛力。
由于它們適用于許多現(xiàn)實(shí)問題 – 例如欺詐檢測,垃圾郵件過濾,財(cái)務(wù)和醫(yī)療診斷——以及它們產(chǎn)生可操作結(jié)果的能力,近年來深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)已經(jīng)引起了很多關(guān)注。 一般來說,對于單變量時(shí)間序列預(yù)測場景(其中時(shí)間序列由在相等時(shí)間增量上順序記錄的單個(gè)觀察量組成),深度學(xué)習(xí)方法已經(jīng)被研發(fā)并投入應(yīng)用。他們經(jīng)常表現(xiàn)得比簡單、經(jīng)典的預(yù)測方法更糟糕的情況,經(jīng)典方法包括指數(shù)平滑(ETS)和自回歸整合移動(dòng)平均(ARIMA)。 這導(dǎo)致了一種普遍的誤解,即深度學(xué)習(xí)模型在時(shí)間序列預(yù)測場景中是無效的,并且許多數(shù)據(jù)科學(xué)家想知道是否真的有必要在他們的時(shí)間序列工具包中額外添加一類方法 – 例如卷積神經(jīng)網(wǎng)絡(luò)(CNN)或遞歸神經(jīng)網(wǎng)絡(luò)(RNN)。
在這篇文章中,我將討論數(shù)據(jù)科學(xué)家在構(gòu)建時(shí)間序列預(yù)測解決方案時(shí),可能仍然需要考慮使用深度學(xué)習(xí)的一些實(shí)際原因。
深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò):一些基本概念
機(jī)器學(xué)習(xí)的目標(biāo)是為了找到特征,訓(xùn)練一個(gè)模型,該模型能將輸入數(shù)據(jù)(例如圖片,時(shí)間序列或音頻)轉(zhuǎn)換為給定輸出(例如圖片描述字母,價(jià)格,語音轉(zhuǎn)錄文本)。 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)算法的一個(gè)子集,它學(xué)習(xí)通過將輸入數(shù)據(jù)表示為向量并通過一系列巧妙的線性代數(shù)運(yùn)算將它們轉(zhuǎn)換為給定輸出來提取特征。
然后,數(shù)據(jù)科學(xué)家使用稱為損失函數(shù)的方程來評估輸出是否符合預(yù)期。 該過程的目標(biāo)是使用每個(gè)訓(xùn)練輸入的損失函數(shù)的結(jié)果來指導(dǎo)模型提取特征,這些將在下一次計(jì)算中帶來更低的損失函數(shù)值。
該過程已用于對大量信息進(jìn)行聚類和分類——例如,數(shù)百萬個(gè)衛(wèi)星圖像,來自YouTube的數(shù)千個(gè)視頻和音頻,來自Twitter的歷史、文字和情緒數(shù)據(jù)等等。
深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)有三個(gè)主要的內(nèi)在功能:
1.他們可以學(xué)習(xí)從輸入到輸出的任意映射
2.它們支持多重輸入和輸出
3.它們可以自動(dòng)提取貫穿長序列的輸入數(shù)據(jù)中的模式
由于這三個(gè)特征,當(dāng)數(shù)據(jù)科學(xué)家處理更復(fù)雜但仍然非常常見的問題(如時(shí)間序列預(yù)測)時(shí),深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)可以提供很多幫助。
以下是數(shù)據(jù)科學(xué)家應(yīng)該考慮將深度學(xué)習(xí)添加到時(shí)間序列工具包中的三個(gè)原因。
理由#1:深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)能夠自動(dòng)從原始數(shù)據(jù)和不完整數(shù)據(jù)中學(xué)習(xí)和提取特征
時(shí)間序列是一種衡量事物如何隨時(shí)間變化的數(shù)據(jù)。 在時(shí)間序列中, 時(shí)間不僅是一種度量,而是主軸。 這個(gè)額外的維度代表著它既是時(shí)間序列數(shù)據(jù)的機(jī)會(huì),也是約束,因?yàn)樗峁┝烁郊拥男畔⒃?,但由于需要對?shù)據(jù)進(jìn)行專門處理,因此時(shí)間序列問題更具挑戰(zhàn)性。 此外,這種時(shí)間結(jié)構(gòu)可以攜帶數(shù)據(jù)科學(xué)家需要處理的其他信息,如趨勢和季節(jié)性因素,以便使他們的時(shí)間序列更容易用任何類型的經(jīng)典預(yù)測方法進(jìn)行建模。
通過直接消除對大規(guī)模特征工程過程、數(shù)據(jù)尺度縮放過程的需求,以及通過差分使數(shù)據(jù)保持平穩(wěn)性,神經(jīng)網(wǎng)絡(luò)可用于時(shí)間序列預(yù)測問題。
在現(xiàn)實(shí)世界的時(shí)間序列場景中——例如,天氣預(yù)報(bào),空氣質(zhì)量和交通流量預(yù)測,以及如地理傳感器這種串流物聯(lián)網(wǎng)設(shè)備的預(yù)測場景中, 不規(guī)則時(shí)間結(jié)構(gòu),缺失值,嚴(yán)重噪聲和多個(gè)變量之間復(fù)雜的相互關(guān)系目前限制了經(jīng)典預(yù)測方法的能力。 這些技術(shù)通常依賴于干凈,完整的數(shù)據(jù)集以便很好地執(zhí)行:缺失值,異常值和其他不完美的特征通常是不受模型支持的。
說到更多人工的和完美的數(shù)據(jù)集,經(jīng)典預(yù)測方法基于這樣的假設(shè):數(shù)據(jù)集的變量之間存在線性關(guān)系,以及固定的時(shí)間依賴性,默認(rèn)情況下,這種假設(shè)排除了探索更復(fù)雜的(有時(shí)是更有趣的)變量之間關(guān)系的機(jī)會(huì)。 數(shù)據(jù)科學(xué)家在為經(jīng)典分析準(zhǔn)備數(shù)據(jù)時(shí)必須做出主觀判斷 – 比如引入滯后時(shí)長,用于消除趨勢 – 這種工作不僅耗時(shí),并且在數(shù)據(jù)加工過程中引入了人類偏見。 相反,神經(jīng)網(wǎng)絡(luò)對輸入數(shù)據(jù)和映射函數(shù)中的噪聲具有魯棒性,甚至可以支持在存在缺失值的情況下進(jìn)行學(xué)習(xí)和預(yù)測。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一類神經(jīng)網(wǎng)絡(luò),已被證明在圖像識(shí)別和分類等領(lǐng)域非常有效。 除了為機(jī)器人和自動(dòng)駕駛汽車提供視覺能力外,CNN還成功識(shí)別了面部,物體和交通標(biāo)志。 CNN的名字來自“卷積”運(yùn)算符。 在CNN的情況下卷積的主要目的是從輸入圖像中提取特征。 卷積通過使用小方塊輸入數(shù)據(jù)學(xué)習(xí)圖像特征來保持像素之間的空間關(guān)系。 換句話說,該模型學(xué)習(xí)如何從原始數(shù)據(jù)中自動(dòng)提取對正在解決的問題直接有用的特征。 這被稱為“表示學(xué)習(xí)”,并且CNN以這樣的方式實(shí)現(xiàn)這一點(diǎn):無論特征如何如何在數(shù)據(jù)中出現(xiàn)都能夠被提取到,這些特征有所謂的“變換”或“扭曲”不變性。
CNN學(xué)習(xí)和自動(dòng)從原始輸入數(shù)據(jù)中提取特征的能力,可以應(yīng)用于時(shí)間序列預(yù)測問題。 可以將一樣本視為一維圖像,CNN模型可以讀取該一維圖像并將其提煉出最相關(guān)的元素。 CNN的這種能力已被證明對時(shí)間序列分類任務(wù)有很大影響,例如使用無線傳感器強(qiáng)度數(shù)據(jù)預(yù)測建筑物內(nèi)主體的位置,和物體的室內(nèi)運(yùn)動(dòng)預(yù)測。
理由2:深度學(xué)習(xí)支持多種輸入和輸出
在真實(shí)世界里,時(shí)間序列預(yù)測具有挑戰(zhàn)性是由某幾種原因引起的,例如具有多個(gè)輸入變量,需要預(yù)測多個(gè)時(shí)間步驟,以及需要對多個(gè)實(shí)際的觀測站執(zhí)行相同類型的預(yù)測。 深度學(xué)習(xí)算法具備處理具有噪音的、復(fù)雜因果性的多個(gè)輸入變量的能力,為應(yīng)用于時(shí)間序列預(yù)測問題帶來好處。 具體而言,神經(jīng)網(wǎng)絡(luò)可以配置為在映射函數(shù)中支持任意多但固定數(shù)量的輸入和輸出。 這意味著神經(jīng)網(wǎng)絡(luò)可以直接支持多變量輸入,為多變量預(yù)測提供直接支持。 顧名思義,單變量時(shí)間序列是一個(gè)具有單個(gè)時(shí)變變量的數(shù)據(jù)序列。 例如,如果我們想要預(yù)測特定位置的下一個(gè)能耗值:在單變量時(shí)間序列場景中,我們的數(shù)據(jù)集將基于兩個(gè)變量:時(shí)間值和歷史能耗觀測值。
多變量時(shí)間序列具有多個(gè)時(shí)變變量。 每個(gè)變量不僅取決于其過去的值,還取決于其他變量。 此依賴關(guān)系用于預(yù)測未來值。 讓我們再考慮上面的例子。 現(xiàn)在假設(shè)我們的數(shù)據(jù)集包括天氣數(shù)據(jù),例如溫度值,濕度,風(fēng)速,云覆蓋率百分比等,以及過去四年的能耗值。 在這種情況下,需要考慮多個(gè)變量來給出最佳預(yù)測能耗值。 像這樣的系列屬于多變量時(shí)間序列的范疇。
使用神經(jīng)網(wǎng)絡(luò),可以指定任意數(shù)量的輸出值,為需要多變量預(yù)測甚至多步預(yù)測方法的更復(fù)雜的時(shí)間序列場景提供直接支持。 使用深度學(xué)習(xí)方法進(jìn)行多步預(yù)測有兩種主要方法:1)直接法,其中開發(fā)了單獨(dú)的模型來對每個(gè)目標(biāo)給出多步提前預(yù)測 ; 2)遞歸法,其中開發(fā)單個(gè)模型以進(jìn)行單步預(yù)測,并且遞歸地使用模型,其中先前預(yù)測被用作輸入以預(yù)測隨后的值。
遞歸方法在預(yù)測短時(shí)連續(xù)的未來數(shù)據(jù)是有意義的,而直接方法可能更適合預(yù)測連續(xù)未來或幾天內(nèi)不連續(xù)的未來值, 例如,空氣污染預(yù)測問題是這樣的,或者預(yù)期運(yùn)輸預(yù)測也屬于這類情況,它預(yù)測客戶的需求,然后自動(dòng)對產(chǎn)品進(jìn)行運(yùn)輸。
使用深度學(xué)習(xí)算法進(jìn)行時(shí)間序列預(yù)測的關(guān)鍵是多輸入數(shù)據(jù)的選擇。 我們可以考慮三個(gè)主要的數(shù)據(jù)來源,它們可以用作輸入并映射到目標(biāo)變量的未來值,它們是:1)單變量數(shù)據(jù),例如來自正在預(yù)測的目標(biāo)變量的歷史觀察? 2)多變量數(shù)據(jù),例如來自其他變量的歷史觀測(例如,在空氣污染預(yù)測問題的情況下的天氣和預(yù)測目標(biāo)變量); 3)元數(shù)據(jù),例如關(guān)于預(yù)測的日期或時(shí)間的數(shù)據(jù)。 可以從所有數(shù)據(jù)塊中提取數(shù)據(jù),提供豐富的數(shù)據(jù)集,用于學(xué)習(xí)從輸入到目標(biāo)預(yù)測未來值的映射。
理由3:深度學(xué)習(xí)網(wǎng)絡(luò)擅長提取跨越長序列輸入數(shù)據(jù)中的模式
深度學(xué)習(xí)是一個(gè)活躍的研究領(lǐng)域,CNN并不是用于時(shí)間序列和順序數(shù)據(jù)的唯一一類神經(jīng)網(wǎng)絡(luò)架構(gòu)。 遞歸神經(jīng)網(wǎng)絡(luò)(RNN)是在20世紀(jì)80年代創(chuàng)建的,但最近越來越受歡迎,增加了GPU的計(jì)算能力。 它們對序列數(shù)據(jù)特別有用,因?yàn)槊總€(gè)神經(jīng)元(Neuron)或單元(Unit)可以使用其內(nèi)部存儲(chǔ)器來維護(hù)有關(guān)先前輸入的信息。 RNN具有循環(huán)結(jié)構(gòu),這種結(jié)構(gòu)允許在讀入數(shù)據(jù)時(shí)跨越神經(jīng)元傳送信息進(jìn)行循環(huán)。
然而,簡單的循環(huán)網(wǎng)絡(luò)存在不能捕獲序列中的長期依賴性的基本問題。 這是RNN在實(shí)踐中褪色一段時(shí)間的主要原因,直到神經(jīng)網(wǎng)絡(luò)引入了長短時(shí)記憶(LSTM)單元實(shí)現(xiàn)了一些很好的結(jié)果才改變了現(xiàn)狀。 將LSTM添加到網(wǎng)絡(luò)就像添加一個(gè)可以從輸入的最開始記住上下文的記憶單元。
LSTM神經(jīng)網(wǎng)絡(luò)是具有內(nèi)部上下文狀態(tài)單元的特定類型的RNN,其充當(dāng)長期或短期記憶單元。 LSTM網(wǎng)絡(luò)的輸出由這些單元的狀態(tài)調(diào)制。 當(dāng)我們需要預(yù)測神經(jīng)網(wǎng)絡(luò)依賴于輸入的全部歷史上下文,而不是僅僅是依賴于前一時(shí)刻的輸入時(shí),LSTM這一特性變得非常重要。 這類神經(jīng)網(wǎng)絡(luò)提供了對序列型數(shù)據(jù)樣本的原生支持。在數(shù)據(jù)中加入“序列”,給預(yù)測函數(shù)帶來了新維度。 網(wǎng)絡(luò)可以學(xué)到輸入序列到輸出的映射函數(shù),而不是僅將輸入數(shù)值映射到輸出數(shù)值。 當(dāng)我們需要了解LSTM網(wǎng)絡(luò)如何工作時(shí),視頻處理的例子非常有效:在電影中,當(dāng)前幀中發(fā)生的事情在很大程度上取決于前一幀中的內(nèi)容。 在一段時(shí)間內(nèi),LSTM網(wǎng)絡(luò)試圖了解要保留什么信息,以及保持多少比例的現(xiàn)在/過去的信息,這使得它與其他類型的神經(jīng)網(wǎng)絡(luò)相比更加強(qiáng)大。
此功能可用于任何時(shí)間序列預(yù)測上下文,其中自動(dòng)學(xué)習(xí)數(shù)據(jù)的時(shí)間依賴性非常有用。 在最簡單的情況下,網(wǎng)絡(luò)從序列中每次利用一個(gè)樣本點(diǎn),并且可以了解哪些先前樣本點(diǎn)是重要的,以及它們?nèi)绾闻c預(yù)測相關(guān)。 該模型既學(xué)習(xí)從輸入到輸出的映射,又從輸入序列中學(xué)習(xí)哪些上下文對映射有用,并可根據(jù)需要?jiǎng)討B(tài)更改上下文。 毫不奇怪,這種方法經(jīng)常被用于金融行業(yè),以建立一些預(yù)測匯率的模型,這些模型基于過去可能影響貨幣變動(dòng)的數(shù)據(jù)表現(xiàn)和價(jià)格模式,能夠用來預(yù)測未來的價(jià)格表現(xiàn)和模式。
另一方面,數(shù)據(jù)科學(xué)家也要注意這類神經(jīng)網(wǎng)絡(luò)方法存在的缺點(diǎn)。這類方法往往需要大量數(shù)據(jù),模型需要超參數(shù)調(diào)整,還要經(jīng)歷多輪優(yōu)化迭代。
結(jié)論
深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)是強(qiáng)大的引擎,能夠從輸入到輸出的任意映射中學(xué)習(xí),支持多個(gè)輸入和輸出,并自動(dòng)提取跨越長時(shí)序輸入數(shù)據(jù)的模式。 當(dāng)處理涉及大量數(shù)據(jù)的復(fù)雜時(shí)序列預(yù)問題、涉及復(fù)雜關(guān)系的多個(gè)變量,甚至是多步時(shí)間序列預(yù)測任務(wù)時(shí),這組特性使神經(jīng)網(wǎng)絡(luò)成為非常有用的工具。 人們已經(jīng)投入不少時(shí)間精力研究用神經(jīng)網(wǎng)絡(luò)進(jìn)行時(shí)序預(yù)測,產(chǎn)出了還不錯(cuò)的結(jié)果。 對于時(shí)間序列預(yù)測應(yīng)用深度學(xué)習(xí)方法最有希望的領(lǐng)域可能是使用CNN,LSTM和混合模型。
有用的資源
最近工具和技術(shù)的改進(jìn)意味著深度學(xué)習(xí)等技術(shù)現(xiàn)在被用于解決常見問題,包括預(yù)測,文本挖掘,語言理解和個(gè)性化。 以下是一些涉及深度學(xué)習(xí)的有用資源和演示:
- 在Azure上使用深度學(xué)習(xí)預(yù)測金融時(shí)間序列
- 深度學(xué)習(xí)和AI框架
- Silver,Gold&Electrum:用于多任務(wù)深度學(xué)習(xí)的3種數(shù)據(jù)技術(shù)
- 預(yù)測財(cái)務(wù)和經(jīng)濟(jì)時(shí)間序列的神經(jīng)網(wǎng)絡(luò)
- 深度學(xué)習(xí)虛擬機(jī)
- PyTorch on Azure:深入學(xué)習(xí)石油和天然氣行業(yè)
- 企業(yè)中的AI和機(jī)器學(xué)習(xí)
- 深度學(xué)習(xí)
- 時(shí)變數(shù)據(jù)和時(shí)間序列分析
Francesca Lazzeri
Francesca Lazzeri博士是微軟云計(jì)算倡導(dǎo)團(tuán)隊(duì)的機(jī)器學(xué)習(xí)科學(xué)家,也是大數(shù)據(jù)技術(shù)創(chuàng)新和基于機(jī)器學(xué)習(xí)的解決方案落地于現(xiàn)實(shí)問題的專家。 她的工作涉及廣泛行業(yè)中的問題,包括能源,石油和天然氣,零售,航空航天,醫(yī)療保健和專業(yè)服務(wù)。 Francesca定期在美國和歐洲的大學(xué)教授應(yīng)用分析和機(jī)器學(xué)習(xí)課程。? 在加入微軟之前,她是哈佛商學(xué)院商業(yè)經(jīng)濟(jì)研究員,在那里她在技術(shù)和運(yùn)營管理部門進(jìn)行統(tǒng)計(jì)和計(jì)量經(jīng)濟(jì)分析。 在哈佛商學(xué)院,她參與了多個(gè)涉及專利的數(shù)據(jù)驅(qū)動(dòng)項(xiàng)目,以調(diào)查和衡量外部知識(shí)網(wǎng)絡(luò)對公司競爭力和創(chuàng)新的影響。 Francesca擁有Sant'Anna高等研究學(xué)院的經(jīng)濟(jì)與管理專業(yè)的博士學(xué)位。她不僅是麻省理工學(xué)院博士生、博士后的數(shù)據(jù)科學(xué)導(dǎo)師,還是學(xué)術(shù)界、產(chǎn)業(yè)大會(huì)上的特邀演講者,在這些演講上她會(huì)分享她對人工智能、機(jī)器學(xué)習(xí)和編寫代碼的知識(shí)和熱情。

