當前位置:
首頁 > 科技 > 用AI預測北京霧霾?有Keras在手,LSTM可分分鐘解決

用AI預測北京霧霾?有Keras在手,LSTM可分分鐘解決

GIF/1.7M

圖:pixabay

原文來源:machine learning mastery

作者:Jason Brownlee

「機器人圈」編譯:多啦A亮

神經網路諸如長短期記憶(LSTM)循環神經網路(RNN)能夠幾乎無縫地模擬多個輸入變數的問題。

這是時間序列預測中的一大優點,而經典線性方法難以適應多變數或多輸入預測問題。

在本教程中,你將發現如何在Keras深度學習庫中開發多變數時間序列預測的LSTM模型。

完成本教程後,你將知道:

?如何將原始數據集轉換為可用於時間序列預測的內容。

?如何準備數據並適應多變數時間序列預測問題的LSTM。

?如何做出預測並將結果重新調整到原始單位。

讓我們開始吧。

教程概述

本教程分為3部分,他們是:

?空氣污染預報

?基本數據準備

?多變數LSTM預測模型

Python環境

本教程假定你已安裝Python SciPy環境。你可以在本教程中使用Python 2或3。

你必須使用TensorFlow或Theano後台安裝Keras(2.0或更高版本)。

本教程還假定你已經安裝了scikit-learn、Pandas、NumPy和Matplotlib。

如果你需要安裝環境方面的幫助,請參閱這篇文章:

《如何用Anaconda設置機器學習和深度學習的Python環境》

空氣污染預報

在本教程中,我們將使用空氣質量數據集。

這是一個數據集,在美國駐北京的大使館五年內每小時報告天氣和污染水平。

數據包括日期時間, PM2.5污染物,以及天氣信息,包括露點、溫度、氣壓、風向、風速以及降雨和降雪的累積小時數。原始數據中的完整功能列表如下:

1.No: 行號

2.year: 這一行的一年數據

3.month: 這一行的月數據

4.day: d這一行的日數據

5.hour: 這一行的小時數據

6.pm2.5: PM2.5濃度

7.DEWP: 露點

8.TEMP: 溫度

9.PRES:氣壓

10.cbwd: 組合風向

11.Iws: 累積風速

12.Is: 積雪時間

13.Ir: 累積的降雨時間

我們可以使用這些數據並構建一個預測問題,鑒於天氣條件和前幾個小時的污染,我們預測下一個小時的污染。

此數據集可用於構建其他預測問題。

你可以從UCI Machine Learning Repository下載數據集。

?北京PM2.5數據集

下載數據集並將其放在你當前的工作目錄中,文件名為「raw.csv」。

基礎數據準備

數據沒還有準備好去使用。所以,我們必須先做好準備。

以下是原始數據集的前幾行:

第一步是將日期時間信息整合到一個單獨的日期時間,以便我們可以將其用作Pandas的索引。

快速檢查顯示前24小時pm2.5的NA值。 因此,我們需要刪除第一行數據,在數據集中還有幾個分散的「NA」值; 我們現在可以用0值標記它們。

以下腳本載入原始數據集,並將日期時間信息解析為Pandas DataFrame索引。No列被刪除,然後為每列指定更清晰的名稱。最後,將NA值替換為「0」值,並刪除前24小時。

運行該示例列印轉換後數據集的前5行,並將數據集保存到「pollution.csv」。

現在我們以簡單易用的形式提供數據,我們可以創建每個系列的快速圖,來看看我們得到的。

下面的代碼載入了「pollution.csv」文件,並將每個系列作為單獨的子圖繪製,除了風速是分類的。

運行示例創建一個具有7個子圖,顯示每個變數的5年數據。

空氣污染時間序列線圖

多變數LSTM預測模型

在本節中,我們將使用LSTM解決問題。

LSTM數據準備

第一步是為LSTM準備污染數據集。

這涉及將數據集視為監督學習問題並對輸入變數進行歸一化。

考慮到上一個時間段的污染測量和天氣條件,我們將把監督學習問題作為預測當前時刻(t)的污染情況。

這個構想是直接的,只是為了這個演示。你可以探索的一些替代方法包括:

?根據過去24小時的天氣和污染情況,預測下一個小時的污染。

?預測下一個小時的污染,並給予下一個小時的「預期」天氣條件。

我們可以使用在下列文章中開發的series_to_supervised()函數來轉換數據集:

?如何將時間序列轉換為Python中的監督學習問題。

首先,載入「pollution.csv」數據集。風速特徵是標籤編碼(整數編碼)。如果你有興趣探索,這可能會在將來進一步被熱編碼。

其次,所有功能都被歸一化,然後將數據集轉換為監督學習問題。然後刪除要預測的小時的天氣變數(t)。

完整的代碼清單如下:

運行示例列印轉換後的數據集的前5行。我們可以看到8個輸入變數(輸入序列)和1個輸出變數(當前小時的污染水平)。

這個數據準備很簡單,我們可以探索更多的東西。你可以看到的一些想法包括:

?獨熱編碼風速。

?通過差分和季節性調整使所有系列固定。

?提供超過1小時的輸入時間步長。

最後一點可能是最重要的,因為在學習序列預測問題時,LSTMs通過時間使用反向傳播。

定義和擬合模型

在本節中,我們使用多變數輸入數據的LSTM。

首先,我們必須將準備好的數據集分成訓練集和測試集。為了加快對這次示範的訓練速度,我們將僅適用於數據第一年的模型,然後對其餘4年的數據進行評估。如果你有時間,請考慮瀏覽此測試工具的倒置版本。

下面的示例將數據集分成訓練集和測試集,然後將訓練集和測試集分成輸入和輸出變數。 最後,將輸入(X)重構為LSTM預期的3D格式,即[樣本,時間步長,特徵。

運行此示例列印訓練集的形狀,並測試輸入和輸出集合約9000小時的數據進行訓練,約35000小時的數據進行測試。

現在我們可以定義並配置LSTM模型

我們將在第一個隱藏層中定義具有50個神經元的LSTM以及輸出層中用於預測污染的的1個神經元。輸入形式將是一個時間具有8個特徵的步長,。

我們將使用平均絕對誤差(MAE)損失函數和隨機梯度下降的高效Adam版本。

該模型將配置為適用於50個批量大小為72的訓練周期。請記住,每個批處理結束時,Keras中的LSTM的內部狀態都將重置,因此一個內部狀態是一個有關大量天數的函數將會有所幫助。(不妨試一試)。

最後,我們通過在fit()函數中設置validation_data參數來跟蹤訓練過程中的訓練和測試損失,然後在運行結束時,繪製訓練和測試損失曲線圖。

評估模型

當模型配置好之後,我們可以對整個測試數據集進行預測。

我們將預測與測試數據集相結合,並進行反縮放,我們還用預期的污染數據對測試數據集進行反縮放。

以預測值和實際值為原始尺度,我們可以計算模型的誤差值。在這種情況下,我們計算出在與變數本身相同的單位中產生誤差的均方根誤差(RMSE)。

完整示例

完整的示例如下所示:

想要運行示例的話,首先需要創建一個繪圖,顯示訓練期間的訓練和測試損失。

有趣的是,我們可以看到測試損失低於訓練損失。該模型可能過度擬合訓練數據。在訓練過程中測量和繪製RMSE曲線可能會使這一點顯現得更加明顯。

訓練期間多元LSTM的訓練集和測試線路圖

訓練和測試損失在每個訓練時期結束時都會列印出來。在運行結束時,列印測試數據集上模型的最終RMSE。

我們可以看到,該模型實現了3.836的可觀RMSE,這顯著低於用持續模型發現的30 RMSE。

進一步閱讀

如果你想進一步深入了解,本部分將提供更多關於該主題的資源。

?在UCI機器學習庫中的北京PM2.5數據集。

?Keras長短期記憶模型的5步生命周期。

?使用Python中的長短期記憶模型進行時間序列預測。

?用Python中的長短期記憶模型進行多步時間序列預測。

總結

在本教程中,你發現了如何將LSTM適用於多變數時間序列預測問題。

具體來說,通過本教程你將學到:

?如何將原始數據集轉換為可用於時間序列預測的內容。

?如何準備數據並配置用於多變數時間序列預測問題的LSTM。

?如何做出預測並將結果重新調整到原始單元中。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器人圈 的精彩文章:

複製化石就位,英國古洞穴重新開業
一文初識 「金」在藥物研發及有機反應中的應用
花它1個億!NSF給19個「大腦」AI項目提供支持
你知道「模仿學習」功能強大,但它和「強化學習」有什麼關係?
同樣做語音,他們為什麼不造音箱推了 「搜狗聽寫」?

TAG:機器人圈 |

您可能感興趣

ABI Research預測AR在零售業將獲得重大應用
DeepMind 團隊 CASP 奪冠:用 AlphaFold 預測蛋白質結構
分析師預測:新iPad Pro將首度用上USB-C介面
Superdata報告預測AR/MR收入將超越VR
Superdata報告預測AR和MR將崛起
Sensor Tower預測:《PUBG Mobile》上月收入超《堡壘之夜》手游
MathWorks 為 MATLAB 添加新的預測性維護產品
iPhone XR本周五開啟預購!預測iPhone XR將大賣!
KGI預測6.1英寸LCD iPhone將幫蘋果從較低的iPhone X銷售中反彈
Superdata報告預測,AR和MR的軟體收入將超過VR
谷歌AI系統DeepMind可預測腎臟損傷
Bang與Wolf預測msi賽果:SKT奪冠,第二名產生分歧
Superdata報告預測AR/MR收入將超越VR,遊戲是主要收入
Magic Leap UI界面曝光,微軟用AI預測Win 10更新時間
港媒蘋果月底發布會5大預測,新iPad Pro及Retina屏版MBA最受期待
Google AI在現場比賽期間預測NCAA Final Four的獲勝者
ABI Research預測AR智能眼鏡需求將不斷增加
新一代iPad Pro預測總匯:全面屏+Face ID
Half Dome已超OC3預測,Oculus再預測VR未來發展與挑戰
ESPN預測Faker離開SKT後會去的戰隊:EDG、TL、GEN.G、KT