最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【視頻】Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進行預(yù)測分析|數(shù)據(jù)分

2022-12-19 17:31 作者:拓端tecdat  | 我要投稿

全文下載鏈接:http://tecdat.cn/?p=23544

最近我們被客戶要求撰寫關(guān)于LSTM的研究報告,包括一些圖形和統(tǒng)計輸出。

在本文中,長短期記憶網(wǎng)絡(luò)——通常稱為“LSTM”——是一種特殊的RNN遞歸神經(jīng)網(wǎng)絡(luò),能夠?qū)W習(xí)長期依賴關(guān)系

什么是依賴關(guān)系?

假設(shè)您在觀看視頻時記得前一個場景,或者在閱讀一本書時您知道前一章發(fā)生了什么。

傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)無法做到這一點,這是一個主要缺點。例如,假設(shè)您想對電影中每一點發(fā)生的事件進行分類。目前尚不清楚傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)如何利用電影中先前事件來推理后來的事件。

遞歸神經(jīng)網(wǎng)絡(luò)解決了這個問題。它們是帶有循環(huán)的網(wǎng)絡(luò),允許信息持續(xù)存在。循環(huán)神經(jīng)網(wǎng)絡(luò)有循環(huán)。

在上圖中,一大塊神經(jīng)網(wǎng)絡(luò),查看一些輸入x并輸出一個值h. 循環(huán)允許信息從網(wǎng)絡(luò)的一個步驟傳遞到下一個步驟。

這些循環(huán)使循環(huán)神經(jīng)網(wǎng)絡(luò)看起來有點神秘。然而,如果你想得更多,就會發(fā)現(xiàn)它們與普通的神經(jīng)網(wǎng)絡(luò)并沒有什么不同。循環(huán)神經(jīng)網(wǎng)絡(luò)可以被認為是同一網(wǎng)絡(luò)的多個副本,每個副本都將消息傳遞給后繼者??紤]一下如果我們展開循環(huán)會發(fā)生什么:

這種鏈狀性質(zhì)表明循環(huán)神經(jīng)網(wǎng)絡(luò)與序列和列表密切相關(guān)。它們是用于此類數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)的自然架構(gòu)。在過去的幾年里,將 RNN 應(yīng)用于各種問題取得了令人難以置信的成功:語音識別、語言建模、翻譯、圖像字幕……不勝枚舉。這些成功的關(guān)鍵是使用“LSTM”,這是一種非常特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),幾乎所有基于循環(huán)神經(jīng)網(wǎng)絡(luò)的令人興奮的結(jié)果都是用它們實現(xiàn)的。本文將探討的正是這些 LSTM。

長期依賴問題

下面是一個關(guān)于如何使用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)來擬合語言模型的例子。

RNN 的吸引力之一是它們可能能夠?qū)⑾惹暗男畔⑴c當前任務(wù)聯(lián)系起來,例如使用先前的視頻幀可能會告知對當前幀的理解。如果 RNN 可以做到這一點,它們將非常有用。但他們可以嗎?

有時,我們只需要查看最近的信息即可執(zhí)行當前任務(wù)。例如,考慮一個語言模型試圖根據(jù)之前的單詞預(yù)測下一個單詞。如果我們試圖預(yù)測“云在天空”中的最后一個詞,我們不需要任何進一步的上下文——很明顯下一個詞將是天空。在這種情況下,相關(guān)信息與所需位置之間的差距很小,RNN 可以學(xué)習(xí)使用過去的信息。

但也有我們需要更多上下文的情況。考慮嘗試預(yù)測文本“我在中國長大……我說地道的中文”中的最后一個詞。最近的信息表明,下一個詞可能是一種語言的名稱,但如果我們想縮小哪種語言的范圍,我們需要中國的上下文,從更遠的地方。相關(guān)信息和需要的點之間的差距完全有可能變得非常大。

隨著差距的擴大,RNN 變得無法學(xué)習(xí)連接信息。

LSTM 網(wǎng)絡(luò)

長短期記憶網(wǎng)絡(luò)——通常稱為“LSTM”——是一種特殊的 RNN,能夠?qū)W習(xí)長期依賴關(guān)系。它們在解決各種各樣的問題時表現(xiàn)出色,現(xiàn)在被廣泛使用。LSTM 被明確設(shè)計為避免長期依賴問題。長時間記住信息實際上是他們的默認行為,而不是他們難以學(xué)習(xí)的東西!

所有循環(huán)神經(jīng)網(wǎng)絡(luò)都具有神經(jīng)網(wǎng)絡(luò)的重復(fù)模塊鏈的形式。在標準 RNN 中,此重復(fù)模塊將具有非常簡單的結(jié)構(gòu),例如單個 tanh 層。

LSTM 也有這種鏈狀結(jié)構(gòu),但重復(fù)模塊有不同的結(jié)構(gòu)。不是只有一個神經(jīng)網(wǎng)絡(luò)層,而是三個部分組成,以一種非常特殊的方式進行交互。

LSTM 的工作方式非常類似于 RNN 單元。這是 LSTM 網(wǎng)絡(luò)的內(nèi)部功能。LSTM 由三個部分組成,如圖所示,每個部分執(zhí)行一個單獨的功能。第一部分選擇來自前一個時間戳的信息是被記住還是不相關(guān)并且可以被遺忘。在第二部分中,單元嘗試從該單元的輸入中學(xué)習(xí)新信息。最后,在第三部分,單元將更新的信息從當前時間戳傳遞到下一個時間戳。LSTM 單元的這三個部分稱為門。第一部分稱為忘記門或遺忘門,第二部分稱為輸入門,最后一部分稱為輸出門。

Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進行預(yù)測分析

每年的降雨量數(shù)據(jù)可能是相當不平穩(wěn)的。與溫度不同,溫度通常在四季中表現(xiàn)出明顯的趨勢,而雨量作為一個時間序列可能是相當不平穩(wěn)的。夏季的降雨量與冬季的降雨量一樣多是很常見的。

下面是某地區(qū)2020年11月降雨量數(shù)據(jù)?(?查看文末了解數(shù)據(jù)獲取方式?)?的圖解。

作為一個連續(xù)的神經(jīng)網(wǎng)絡(luò),LSTM模型可以證明在解釋時間序列的波動性方面有優(yōu)勢。

使用Ljung-Box檢驗,小于0.05的p值表明這個時間序列中的殘差表現(xiàn)出隨機模式,表明有明顯的波動性。

>>>?sm.stats.acorr_ljungbox(res.resid,?lags=[10])

Ljung-Box檢驗

Dickey-Fuller 檢驗

數(shù)據(jù)操作和模型配置

該數(shù)據(jù)集由722個月的降雨量數(shù)據(jù)組成。

選擇712個數(shù)據(jù)點用于訓(xùn)練和驗證,即用于建立LSTM模型。然后,過去10個月的數(shù)據(jù)被用來作為測試數(shù)據(jù),與LSTM模型的預(yù)測結(jié)果進行比較。

下面是數(shù)據(jù)集的一個片段。

然后形成一個數(shù)據(jù)集矩陣,將時間序列與過去的數(shù)值進行回歸。

#?形成數(shù)據(jù)集矩陣????for?i?in?range(len(df)-previous-1): ????????a?=?df[i:(i+previous),?0] ????????dataX.append(a) ????????dataY.append(df[i?+?previous,?0])

然后用MinMaxScaler對數(shù)據(jù)進行標準化處理。

將前一個參數(shù)設(shè)置為120,訓(xùn)練和驗證數(shù)據(jù)集就建立起來了。作為參考,previous = 120說明模型使用從t - 120到t - 1的過去值來預(yù)測時間t的雨量值。

前一個參數(shù)的選擇要經(jīng)過試驗,但選擇120個時間段是為了確保識別到時間序列的波動性或極端值。

#?訓(xùn)練和驗證數(shù)據(jù)的劃分train_size?=?int(len(df)?*?0.8)val_size?=?len(df)?-?train_size train,?val?=?df[0:train_size,:],?df[train_size:len(df),:]#?前期的數(shù)量previous?=?120

然后,輸入被轉(zhuǎn)換為樣本、時間步驟、特征的格式。

#?轉(zhuǎn)換輸入為[樣本、時間步驟、特征]。 np.reshape(X_train,?(shape[0],?1,?shape[1]))

模型訓(xùn)練和預(yù)測

該模型在100個歷時中進行訓(xùn)練,并指定了712個批次的大?。ǖ扔谟?xùn)練和驗證集中的數(shù)據(jù)點數(shù)量)。

#?生成LSTM網(wǎng)絡(luò)model?=?tf.keras.Sequential()#?列出歷史中的所有數(shù)據(jù)print(history.history.keys())#?總結(jié)準確度變化plt.plot(history.history['loss'])

下面是訓(xùn)練集與驗證集的模型損失的關(guān)系圖。

預(yù)測與實際降雨量的關(guān)系圖也被生成。

點擊標題查閱往期內(nèi)容

在Python中使用LSTM和PyTorch進行時間序列預(yù)測

左右滑動查看更多

01

02

03

04

#?繪制所有預(yù)測圖plt.plot(valpredPlot)

預(yù)測結(jié)果在平均方向準確性(MDA)、平均平方根誤差(RMSE)和平均預(yù)測誤差(MFE)的基礎(chǔ)上與驗證集進行比較。

?mda(Y_val,?predictions)0.9090909090909091>>>?mse?=?mean_squared_error(Y_val,?predictions) >>>?rmse?=?sqrt(mse) >>>?forecast_error >>>?mean_forecast_error?=?np.mean(forecast_error)



  • MDA:?0.909

  • RMSE:?48.5

  • MFE:?-1.77

針對測試數(shù)據(jù)進行預(yù)測

雖然驗證集的結(jié)果相當可觀,但只有將模型預(yù)測與測試(或未見過的)數(shù)據(jù)相比較,我們才能對LSTM模型的預(yù)測能力有合理的信心。

如前所述,過去10個月的降雨數(shù)據(jù)被用作測試集。然后,LSTM模型被用來預(yù)測未來10個月的情況,然后將預(yù)測結(jié)果與實際值進行比較。

至t-120的先前值被用來預(yù)測時間t的值。

#?測試(未見過的)預(yù)測np.array([tseries.iloctseries.iloc,t

獲得的結(jié)果如下

  • MDA:?0.8

  • RMSE:?49.57

  • MFE:?-6.94

過去10個月的平均降雨量為148.93毫米,預(yù)測精度顯示出與驗證集相似的性能,而且相對于整個測試集計算的平均降雨量而言,誤差很低。

結(jié)論

在這個例子中,你已經(jīng)看到:

  • 如何準備用于LSTM模型的數(shù)據(jù)

  • 構(gòu)建一個LSTM模型

  • 如何測試LSTM的預(yù)測準確性

  • 使用LSTM對不穩(wěn)定的時間序列進行建模的優(yōu)勢

本文摘選?《?Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進行預(yù)測分析?》?,點擊“閱讀原文”獲取全文完整資料。

點擊標題查閱往期內(nèi)容

深度學(xué)習(xí)實現(xiàn)自編碼器Autoencoder神經(jīng)網(wǎng)絡(luò)異常檢測心電圖ECG時間序列spss modeler用決策樹神經(jīng)網(wǎng)絡(luò)預(yù)測ST的股票
Python中TensorFlow的長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)、指數(shù)移動平均法預(yù)測股票市場和可視化
RNN循環(huán)神經(jīng)網(wǎng)絡(luò) 、LSTM長短期記憶網(wǎng)絡(luò)實現(xiàn)時間序列長期利率預(yù)測
結(jié)合新冠疫情COVID-19股票價格預(yù)測:ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時間序列分析
深度學(xué)習(xí):Keras使用神經(jīng)網(wǎng)絡(luò)進行簡單文本分類分析新聞組數(shù)據(jù)
用PyTorch機器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
PYTHON用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化方法預(yù)測時間序列洗發(fā)水銷售數(shù)據(jù)
Python用Keras神經(jīng)網(wǎng)絡(luò)序列模型回歸擬合預(yù)測、準確度檢查和結(jié)果可視化
R語言深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò) (CNN)對 CIFAR 圖像進行分類:訓(xùn)練與結(jié)果評估可視化
深度學(xué)習(xí):Keras使用神經(jīng)網(wǎng)絡(luò)進行簡單文本分類分析新聞組數(shù)據(jù)
Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進行預(yù)測分析
R語言深度學(xué)習(xí)Keras循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型預(yù)測多輸出變量時間序列
R語言KERAS用RNN、雙向RNNS遞歸神經(jīng)網(wǎng)絡(luò)、LSTM分析預(yù)測溫度時間序列、 IMDB電影評分情感
Python用Keras神經(jīng)網(wǎng)絡(luò)序列模型回歸擬合預(yù)測、準確度檢查和結(jié)果可視化
Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進行預(yù)測分析
R語言中的神經(jīng)網(wǎng)絡(luò)預(yù)測時間序列:多層感知器(MLP)和極限學(xué)習(xí)機(ELM)數(shù)據(jù)分析報告
R語言深度學(xué)習(xí):用keras神經(jīng)網(wǎng)絡(luò)回歸模型預(yù)測時間序列數(shù)據(jù)
Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進行分類
R語言KERAS深度學(xué)習(xí)CNN卷積神經(jīng)網(wǎng)絡(luò)分類識別手寫數(shù)字圖像數(shù)據(jù)(MNIST)
MATLAB中用BP神經(jīng)網(wǎng)絡(luò)預(yù)測人體脂肪百分比數(shù)據(jù)
Python中用PyTorch機器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
R語言實現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進行回歸數(shù)據(jù)分析
SAS使用鳶尾花(iris)數(shù)據(jù)集訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)(ANN)模型
【視頻】R語言實現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進行回歸數(shù)據(jù)分析
Python使用神經(jīng)網(wǎng)絡(luò)進行簡單文本分類
R語言用神經(jīng)網(wǎng)絡(luò)改進Nelson-Siegel模型擬合收益率曲線分析
R語言基于遞歸神經(jīng)網(wǎng)絡(luò)RNN的溫度時間序列預(yù)測
R語言神經(jīng)網(wǎng)絡(luò)模型預(yù)測車輛數(shù)量時間序列
R語言中的BP神經(jīng)網(wǎng)絡(luò)模型分析學(xué)生成績
matlab使用長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對序列數(shù)據(jù)進行分類
R語言實現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測和結(jié)果可視化
用R語言實現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實例
使用PYTHON中KERAS的LSTM遞歸神經(jīng)網(wǎng)絡(luò)進行時間序列預(yù)測
python用于NLP的seq2seq模型實例:用Keras實現(xiàn)神經(jīng)網(wǎng)絡(luò)機器翻譯
用于NLP的Python:使用Keras的多標簽文本LSTM神經(jīng)網(wǎng)絡(luò)分類


【視頻】Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時間序列進行預(yù)測分析|數(shù)據(jù)分的評論 (共 條)

分享到微博請遵守國家法律
称多县| 凭祥市| 盱眙县| 徐汇区| 河南省| 伊吾县| 交城县| 灵璧县| 黑龙江省| 胶南市| 蒙山县| 夏河县| 舒兰市| 东至县| 安庆市| 奉新县| 禹州市| 吉水县| 原平市| 长宁县| 墨玉县| 怀远县| 黔西县| 屯留县| 腾冲县| 大石桥市| 石楼县| 城固县| 古蔺县| 赤壁市| 嘉定区| 高密市| 娄烦县| 洛川县| 武陟县| 平山县| 黄陵县| 牙克石市| 新建县| 阿瓦提县| 临泉县|