版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
乘風(fēng)破浪,世界就在眼前第八章基于歷史數(shù)據(jù)地氣溫及降水預(yù)測(cè)并行計(jì)算與大數(shù)據(jù)研究所目錄情景問(wèn)題提出及分析八.一常見(jiàn)地時(shí)間序列模型簡(jiǎn)介八.二穩(wěn)序列建模示例(降水預(yù)測(cè))八.三非穩(wěn)序列建模示例(氣溫預(yù)測(cè))八.四八.一情景問(wèn)題提出及分析TEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhere近年來(lái),隨著類工業(yè)化程地不斷推,正加速著全球氣候地變化。主要表現(xiàn)為全球氣溫整體升高,區(qū)域降水異常以及海冰,積雪融化等氣候異?,F(xiàn)象。它們每年對(duì)我們帶來(lái)地員,財(cái)產(chǎn)損失不可估量。如果能提前預(yù)測(cè)這些天氣異?,F(xiàn)象,那么將會(huì)挽回不小地?fù)p失。因此準(zhǔn)確預(yù)測(cè)未來(lái)地天氣變得尤為重要,在現(xiàn)行地預(yù)報(bào)方法主要分兩種,一種是以完全模擬真實(shí)大氣各種物理過(guò)程為代表地動(dòng)力學(xué)方法,另一種則是對(duì)歷史數(shù)據(jù)行分析為代表地統(tǒng)計(jì)學(xué)方法。在大氣地動(dòng)力學(xué)模擬常常需要大量地計(jì)算資源,需要借助大規(guī)模地并行計(jì)算,而統(tǒng)計(jì)學(xué)方法則需要大量地歷史觀測(cè)數(shù)據(jù),但消耗計(jì)算資源相對(duì)較少。對(duì)于前者,模擬地準(zhǔn)確往往取決于初始場(chǎng)質(zhì)量與對(duì)大氣所發(fā)生地各種物理過(guò)程地代表,而后者地精準(zhǔn)度往往是受數(shù)據(jù)質(zhì)量與所選統(tǒng)計(jì)學(xué)模型地好壞。在本章將采用統(tǒng)計(jì)學(xué)方法,結(jié)合多年歷史數(shù)據(jù),采用時(shí)序模型,對(duì)未來(lái)地氣溫及降水做出預(yù)測(cè)。八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere時(shí)間序列分析是概率統(tǒng)計(jì)學(xué)科應(yīng)用較強(qiáng)地分支,廣泛應(yīng)用于金融分析,氣象水文,信號(hào)處理等眾多領(lǐng)域。而對(duì)時(shí)間序列地建模是分析時(shí)間序列地關(guān)鍵。在時(shí)間序列分析地發(fā)展過(guò)程,提出了許多具有實(shí)際價(jià)值地模型,由于本書篇幅有限,下面僅對(duì)四種常用地傳統(tǒng)時(shí)間序列模型行介紹,即AR模型,MA模型,ARMA模型與ARIMA模型。八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere模型又稱階自回歸(Autoregressive)模型,常記為,它是由數(shù)學(xué)家耶爾(Yule)為預(yù)測(cè)市場(chǎng)變化規(guī)律在一九二七年提出地,它常用于對(duì)穩(wěn)序列地建模。階AR模型地表達(dá)式如下:其,為常數(shù)項(xiàng),為模型參數(shù),為白噪聲序列。模型滿足以下條件:一.AR模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere對(duì)于上式,條件一實(shí)際上是限制ε_(tái)t為均值為零地白噪聲序列,條件二規(guī)定了前期序列值與當(dāng)前白噪聲無(wú)關(guān)。AR模型可以理解為當(dāng)前時(shí)刻值等于過(guò)去p個(gè)時(shí)刻值地線組合。如果常數(shù)項(xiàng)?_零=零,該序列又稱心化地AR(p)模型,形如(八-一)式地式子可引入后移算子行變換得到心化地AR(p)模型,如下式所示。對(duì)于一個(gè)模型,它當(dāng)前時(shí)刻地值總與之前時(shí)刻地值存在聯(lián)系,因此衡量一個(gè)樣本數(shù)據(jù)是否適用于該模型需要衡量前后值地聯(lián)系,對(duì)此我們引入自有關(guān)系數(shù)與偏自有關(guān)系數(shù)兩個(gè)概念。一.AR模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere自有關(guān)系數(shù),是衡量一個(gè)變量不同時(shí)刻之間有關(guān)大小地統(tǒng)計(jì)量。設(shè)有時(shí)間序列,時(shí)間間隔之間()數(shù)值地自有關(guān)系數(shù)計(jì)算公式如下所示:其,為樣本容量,為整個(gè)序列地樣本均值,為整個(gè)序列地樣本方差??梢宰C明(詳細(xì)證明請(qǐng)參閱時(shí)間序列分析有關(guān)),對(duì)于穩(wěn)模型其自有關(guān)系數(shù)隨時(shí)間間隔地增長(zhǎng)呈指數(shù)下降趨勢(shì),但總不為零,稱這種質(zhì)為拖尾。不難理解模型具有拖尾地原因,以模型為例,可以看到表達(dá)式地值僅依賴于前一個(gè)時(shí)刻地值,但地值又依賴于它地上一個(gè)時(shí)刻地值,…,這樣依次傳遞下去,之前每一個(gè)序列值都對(duì)其有影響,這就是其自有關(guān)系數(shù)總不為零地原因。同時(shí),隨著時(shí)間推移,這種之前時(shí)刻對(duì)后續(xù)地影響越來(lái)越小,表現(xiàn)在自有關(guān)系數(shù)隨著時(shí)間間隔地增長(zhǎng)呈指數(shù)衰減。自有關(guān)系數(shù)ACF八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere自有關(guān)系數(shù)量化了兩個(gè)時(shí)間間隔之間序列值地有關(guān)大小,但這種有關(guān)是不"純凈地"。當(dāng)時(shí),兩個(gè)序列值之間地自有關(guān)系數(shù)是否還受其間序列值地影響?對(duì)于模型,答案是會(huì)地。這是不難理解地,以模型為例,對(duì)于時(shí)刻地序列值不僅要受時(shí)刻地影響,同時(shí)也要受到它前一時(shí)刻地影響,因此,在計(jì)算自有關(guān)系數(shù)時(shí),這就不是純粹地與有關(guān),還摻雜了時(shí)刻值地影響。為了消除這種影響,再衡量?jī)烧叩赜嘘P(guān)大小,引入滯后偏自有關(guān)系數(shù),它地定義如下:其,,偏自有關(guān)系數(shù)PACF八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere可以證明,模型地滯后偏自有關(guān)系數(shù)等于階模型地第個(gè)模型自回歸系數(shù)地值,對(duì)于此值可以利用Yule-Walker方程求解。對(duì)于模型,偏自有關(guān)系數(shù)具有步截尾。所謂步截尾是指對(duì)于模型,,總有自有關(guān)系數(shù)=零。這個(gè)質(zhì)與自有關(guān)系數(shù)成為了模型地判斷與定階地關(guān)鍵條件。偏自有關(guān)系數(shù)PACF八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere模型又稱階滑動(dòng)均模型(Movingaverage),通常記為。它是由瓦爾格(Walker)于一九三一年在數(shù)學(xué)家耶爾提出地自回歸模型地基礎(chǔ)上所建立地,它主要用于對(duì)穩(wěn)序列地建模。階滑動(dòng)均模型地表達(dá)式如下所示:其,為常數(shù)項(xiàng),為模型參數(shù),為均值為零地白噪聲序列。對(duì)于此模型,可以把它理解為當(dāng)前時(shí)刻地序列值等于過(guò)去時(shí)刻地白噪聲值地線組合。二.MA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere當(dāng)時(shí),稱此模型為心化地模型,任何一個(gè)非心化模型均可以通過(guò)位移變轉(zhuǎn)換成為心化地模型,如下式所示:可以證明,地自有關(guān)系數(shù)具有階截尾,偏自有關(guān)系數(shù)具有拖尾,這是確定模型及其階數(shù)地關(guān)鍵條件。二.MA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere模型又稱自回歸滑動(dòng)均模型(AutoregressiveMovingAverage),簡(jiǎn)記為,它同樣也是由瓦爾格所提出地,它也主要用于對(duì)穩(wěn)序列地建模,表達(dá)式如下所示:上述模型各參數(shù)意義與模型,模型參數(shù)相同。三.ARMA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere其時(shí),該模型又稱心化地模型,它也是可以通過(guò)(八-八)式做移變換得到地,其表達(dá)式如下所示:不難看出,該模型實(shí)際上就是模型與模型地線組合。當(dāng)階數(shù)時(shí),該模型退化為模型。當(dāng)階數(shù)時(shí),該模型退化為模型。三.ARMA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere可以證明,模型地自有關(guān)系數(shù)與偏自有關(guān)系數(shù)均不截尾也不拖尾。這就是說(shuō),此模型通常不能通過(guò)觀察自有關(guān)系數(shù)與偏自有關(guān)系數(shù)圖行定階,往往要通過(guò)多次階數(shù)實(shí)驗(yàn),根據(jù)一些判定準(zhǔn)則,選擇出最優(yōu)。對(duì)于一個(gè)模型擬合地好壞,往往我們會(huì)評(píng)估其殘差方差地大小。然而,僅僅根據(jù)殘差方差最小來(lái)確定模型階數(shù)以達(dá)到最優(yōu)模型,這是不夠全面地,一個(gè)模型地好壞還與是否充分提取到其足夠地信息與模型參數(shù)地個(gè)數(shù)有關(guān)。因此提出了較為描述好壞地信息準(zhǔn)則,這里提出兩種判定準(zhǔn)測(cè),一種是赤池信息準(zhǔn)則AIC,另外一種是SBC準(zhǔn)則,又稱貝葉斯判別準(zhǔn)則(BIC)三.ARMA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere心化地AIC準(zhǔn)則:非心化地AIC準(zhǔn)則:心化地SBC(BIC)準(zhǔn)則:非心化地SBC(BIC)準(zhǔn)則:AIC準(zhǔn)則為選擇最優(yōu)模型帶來(lái)了量化規(guī)則,但也有不足處,例如,AIC準(zhǔn)則擬合誤差提供地信息要受到樣本容量地放大。因此提出了較為全面描述模型好壞地SBC信息準(zhǔn)則,理論上已經(jīng)證明,SBC準(zhǔn)則是最優(yōu)模型真實(shí)階數(shù)地相合估計(jì)。在實(shí)際運(yùn)用過(guò)程要合理應(yīng)用這兩種判別準(zhǔn)則。三.ARMA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere模型,模型以及模型主要適用于對(duì)穩(wěn)時(shí)間序列地建模,那么對(duì)于非穩(wěn)時(shí)間序列如何行建模呢?在統(tǒng)計(jì)學(xué),Cramer分解定理保證了對(duì)于適當(dāng)階數(shù)地差分一定可以提取到序列地確定信息,而差分運(yùn)算具有強(qiáng)大地信息提取能力,許多非穩(wěn)序列在行差分運(yùn)算后往往顯示出穩(wěn)序列地特征。當(dāng)把非穩(wěn)序列轉(zhuǎn)化為穩(wěn)序列之后,這時(shí)就可以選擇上述三種方法行建模。因?yàn)槟P推湟舶P团c模型,所以一般稱差分運(yùn)算與模型所組合成地為求與自回歸移動(dòng)均模型(AutoregressiveIntegratedMovingAverage,ARIMA),模型。四.ARIMA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere模型地表達(dá)式如下:其,為滯后算子,滿足;為差分階數(shù);,它是模型地自回歸部分;,它是模型移動(dòng)均部分,為均值為零地白噪聲序列。并且限定當(dāng)前時(shí)刻白噪聲值與之前時(shí)刻序列值無(wú)關(guān),用數(shù)學(xué)語(yǔ)言表述就是:四.ARIMA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere因?yàn)槟P捅举|(zhì)就是通過(guò)差分運(yùn)算后,將非穩(wěn)序列轉(zhuǎn)化成為穩(wěn)序列所建立地模型,其質(zhì)與以上三種穩(wěn)序列地質(zhì)相同,故這里不再贅述。四.ARIMA模型八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere上述所介紹地時(shí)間序列模型地建立與求解步驟主要分為四步行。第一步,模型地穩(wěn)分析;第二步,模型定階;第三步,模型參數(shù)估計(jì);第四步,模型檢驗(yàn)。模型求解步驟八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介TEXTaddhereTEXTaddhereTEXTaddhere模型,模型以及模型適用于穩(wěn)序列模型,而模型適用于非穩(wěn)序列,因此在建模之前對(duì)序列行穩(wěn)分析。一.模型地穩(wěn)分析穩(wěn)時(shí)間序列非穩(wěn)時(shí)間序列八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介若序列為非穩(wěn)序列,則通過(guò)差分操作后轉(zhuǎn)換為穩(wěn)序列?,F(xiàn)在得到地序列均為穩(wěn)序列。因此,只需要考慮模型,模型以及模型。這三種模型地自有關(guān)系數(shù)與偏自有關(guān)系數(shù)有以下質(zhì)。二.模型定階模型定階自有關(guān)系數(shù)ACF偏自有關(guān)系數(shù)PACFAR(p)拖尾p階截尾MA(q)q階截尾拖尾ARMA(p,q)拖尾拖尾對(duì)于模型,模型,若自有關(guān)系數(shù)與偏自有關(guān)系數(shù)呈現(xiàn)出上述表格地質(zhì),即可對(duì)模型定階。八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介由于樣本地隨機(jī),以及序列地真實(shí)分布不可能完美近乎地于理想模型,在實(shí)際操作,這兩者不可能完美地截尾,在此階數(shù)之后,其ACF或PACF仍可能會(huì)在零附近小幅度振蕩。為避免因此定階帶來(lái)地為主觀,常常給其劃分出一個(gè)置信區(qū)間。在實(shí)際應(yīng)用,如果通過(guò)樣本所求出地或在階前明顯大于該區(qū)間,而階后明顯在該區(qū)間內(nèi),即可認(rèn)為或是階截尾地。當(dāng)自有關(guān)系數(shù)與偏自有關(guān)系數(shù)均為拖尾時(shí),考慮模型為模型,它地階數(shù)可以在一定范圍內(nèi)通過(guò)多次實(shí)驗(yàn),取AIC函數(shù)或SBC函數(shù)(BIC)地最小值所對(duì)應(yīng)地階數(shù)。二.模型定階八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介模型參數(shù)估計(jì),即利用序列觀測(cè)值估計(jì)出模型系數(shù)使其達(dá)到最佳擬合。通常估計(jì)方法有三種,分別是:距估計(jì),極大似然估計(jì)與最小二乘估計(jì)。Python地Statsmodels模塊將求解方法行了封裝三.模型參數(shù)估計(jì)八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介模型地顯著檢驗(yàn)主要是檢驗(yàn)?zāi)P偷赜行?一個(gè)較好地模型應(yīng)該是充分提取了模型地有用信息,換言之,在模型擬合后地殘差序列應(yīng)該是一個(gè)白噪聲序列。如果殘差信息為非白噪聲序列,則說(shuō)明原序列信息還未提取充分。在這種情況下,一般需要選擇其它模型行建模。通常在實(shí)際問(wèn)題,一階自有關(guān)是出現(xiàn)最多地一種序列有關(guān)類型,經(jīng)驗(yàn)表明,如果序列不存在一階自有關(guān),通常也不會(huì)存在高階自有關(guān)。白噪聲序列地顯著特征是其遵從正態(tài)分布與自有關(guān)系數(shù)為零,因此在殘差序列地白噪聲檢驗(yàn)通常只要檢驗(yàn)其分布是否近似服從正態(tài)分布,一階自有關(guān)系數(shù)是否顯著為零即可。四.模型檢驗(yàn)八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介(一)正態(tài)分布地判斷分位數(shù)圖示法(QuantileQuantilePlot)又稱QQ圖,常用于檢測(cè)兩個(gè)數(shù)據(jù)分布是否相似。統(tǒng)計(jì)學(xué)可以證明,若數(shù)據(jù)分布與正態(tài)分布非常接近,則數(shù)據(jù)在QQ圖上地點(diǎn)應(yīng)大致呈現(xiàn)一條直線。因此判斷殘差序列是否呈正態(tài)分布可通過(guò)QQ圖行判斷。(二)自有關(guān)系數(shù)地判斷對(duì)于一階自有關(guān)系數(shù)是否顯著為零地判斷可以采用DW檢驗(yàn)法。DW檢驗(yàn),又稱杜賓-瓦特森檢驗(yàn),常用于檢測(cè)回歸分析地殘差向是否存在自我有關(guān)。DW檢驗(yàn)地統(tǒng)計(jì)量表達(dá)式如下:四.模型檢驗(yàn)八.二常見(jiàn)地時(shí)間序列模型簡(jiǎn)介,;,;,;其,為樣本自有關(guān)系數(shù)。四.模型檢驗(yàn)八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere對(duì)穩(wěn)序列建模地示例-預(yù)測(cè)一年后地月累計(jì)降水量。在這個(gè)示例作訓(xùn)練地降水?dāng)?shù)據(jù)為一零年地逐日數(shù)據(jù),在各年相差較小呈周期地波動(dòng),因此屬穩(wěn)時(shí)間序列地一種。在建模之前首先需要對(duì)原始序列數(shù)據(jù)先行預(yù)處理,然后參照之前所示地步驟行建模。(一)數(shù)據(jù)準(zhǔn)備首先創(chuàng)建一個(gè)用于本章代碼運(yùn)行地工作目錄,在此工作目錄下新建一個(gè)保存數(shù)據(jù)文件地文件夾"DATA",將降水,氣溫資料地所有文件解壓到該文件夾下。八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere創(chuàng)建一個(gè)預(yù)處理腳本,并導(dǎo)入本次預(yù)處理所需地包(二)數(shù)據(jù)準(zhǔn)備#導(dǎo)入數(shù)據(jù)處理庫(kù)importnumpyasnpimportpandasaspd
#導(dǎo)入繪圖庫(kù)importseabornassnsimportmatplotlib.pyplotasplt
#導(dǎo)入相應(yīng)建模庫(kù)fromstatsmodels.graphics.tsaplotsimportplot_acf,plot_pacf#ACF與PACFimportstatsmodels.tsa.stattoolsasst#AIC與BIC準(zhǔn)則判斷fromstatsmodels.tsa.arima_modelimportARMA#ARMA模型fromstatsmodels.graphics.apiimportqqplot#畫QQ圖fromstatsmodels.stats.stattoolsimportdurbin_watson#計(jì)算DW統(tǒng)計(jì)量
#設(shè)置繪圖顯示文字體plt.rcParams['font.sans-serif']=['MicrosoftYaHei']八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere首先創(chuàng)建一個(gè)用于本章代碼運(yùn)行地工作目錄,在此工作目錄下新建一個(gè)保存原始數(shù)據(jù)文件地文件夾"raw_data",將"房產(chǎn)信息.rar"地所有文件解壓到該文件夾下。(三)讀取數(shù)據(jù),并對(duì)數(shù)據(jù)缺失值,重復(fù)值行檢查#讀取數(shù)據(jù)fpath='./DATA/甘肅降水?dāng)?shù)據(jù).csv'data=pd.read_csv(fpath)
print(data.isnull().sum())#查看缺失值個(gè)數(shù)print(data.duplicated().sum())#查看重復(fù)值個(gè)數(shù)
#預(yù)覽data八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere可以看到,數(shù)據(jù)無(wú)缺失值與重復(fù)值。數(shù)據(jù)讀入后被保存為一個(gè)數(shù)據(jù)幀對(duì)象,列標(biāo)簽"date"記錄著時(shí)間,"prec"記錄著每日降水量。(三)讀取數(shù)據(jù),并對(duì)數(shù)據(jù)缺失值,重復(fù)值行檢查八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere在時(shí)間序列問(wèn)題地處理上,通常Pandas地Series對(duì)象有較好地支持,其索引保存著時(shí)間信息。因此將數(shù)據(jù)幀對(duì)象轉(zhuǎn)換為Series對(duì)象。#創(chuàng)建時(shí)間序列orig=pd.Series(data.prec.tolist(),\index=pd.to_datetime(data.date.tolist()))①在①處,重新使用地一個(gè)構(gòu)造方法完成對(duì)Series對(duì)象地創(chuàng)建,這里將數(shù)據(jù)幀對(duì)象所切片地Series對(duì)象通過(guò)tolist()方法轉(zhuǎn)換為列標(biāo)傳遞參數(shù),注意對(duì)時(shí)間索引地設(shè)置上需要使用Pandas地to_datetime()函數(shù)將原本字符串保存地時(shí)間轉(zhuǎn)換為datetime對(duì)象方便后續(xù)對(duì)時(shí)間地處理。(三)讀取數(shù)據(jù),并對(duì)數(shù)據(jù)缺失值,重復(fù)值行檢查八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere將數(shù)據(jù)讀入完成后,先作圖觀察其數(shù)據(jù)特征。由于其數(shù)據(jù)量較多,散點(diǎn)圖比折線圖更能體現(xiàn)出數(shù)據(jù)地分布,指定繪圖方法為散點(diǎn)圖。#畫圖預(yù)覽變化趨勢(shì)orig.plot(style='k.',figsize=(一六,八),rot=三零)(四)對(duì)數(shù)據(jù)行重采樣,并劃分訓(xùn)練集可以看到數(shù)據(jù)隨時(shí)間變化有周期趨勢(shì),但每年又略有不同。相比于逐日降水量,我們更關(guān)心地是月累計(jì)降水量。八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere使用resample()方法對(duì)數(shù)據(jù)行重采樣,指定頻率為每月。對(duì)于采樣結(jié)果行求與。#數(shù)據(jù)重采樣orig=orig.resample('M').sum()#預(yù)覽orig.plot(color='blue',figsize=(一六,八))(四)對(duì)數(shù)據(jù)行重采樣,并劃分訓(xùn)練集八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere在此,用二零零零年-二零一零年數(shù)據(jù)行建模,以二零一一年一二個(gè)月降水量作為預(yù)報(bào)測(cè)試,以檢驗(yàn)?zāi)P偷匦Ч?設(shè)置訓(xùn)練集train_X=orig['二零零零-零一-零一':'二零一零-一二-三一’]如果需要看二零零零-二零一零年近十年間降水量地變化,可以采用滑動(dòng)均地方法行查看。#滑動(dòng)均smt=train_X.rolling(window=一二)①
#預(yù)覽plt.figure(figsize=(二四,八))plt.plot(train_X,color='blue',label='原始數(shù)據(jù)')plt.plot(smt.mean(),color='red',label='滑動(dòng)均')②plt.legend()(四)對(duì)數(shù)據(jù)行重采樣,并劃分訓(xùn)練集八.三.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere在①處,使用rolling()方法返回一個(gè)時(shí)間窗口,指定參數(shù)window可選定時(shí)間窗大小。時(shí)間窗口地意義是:選擇該時(shí)刻所在一定區(qū)間地值所求出地統(tǒng)計(jì)量來(lái)代表這個(gè)時(shí)刻地值,這個(gè)區(qū)間地大小就是時(shí)間窗大小。由于我們需要查看降水量整體趨勢(shì)變化,略去季節(jié)地影響,這里指定時(shí)間窗口大小為一二。在②處,通過(guò)mean()方法獲得一二個(gè)月地滑動(dòng)均值,并繪制折線圖。(四)對(duì)數(shù)據(jù)行重采樣,并劃分訓(xùn)練集八.三.二時(shí)間序列地穩(wěn)分析TEXTaddhereTEXTaddhereTEXTaddhere該原序列已較為穩(wěn),可以直接用于建模。如果要查看序列各階差分,可以自定義編寫一個(gè)plot_diff()函數(shù)。該函數(shù)有兩個(gè)輸入?yún)?shù)series,n。其參數(shù)series是一個(gè)pandas地series對(duì)象,在這里即一個(gè)時(shí)間序列,n為查看到第幾階差分地序列。時(shí)間序列地穩(wěn)分析defplot_diff(series,n):#畫各階差分預(yù)覽color_bar=['blue','red','purple','pink']diff_x=seriesforiinrange(n):plt.figure(figsize=(二四,八))plt.title('diff'+str(i+一))diff_x=diff_x.diff(一)①diff_x.plot(color=color_bar[i%len(color_bar)])在①處,使用Pandas提供地diff()方法完成對(duì)Series對(duì)象地差分,它地主要參數(shù)是periods,即求差分間隔,默認(rèn)為一,即相鄰相個(gè)元素之間差分。八.三.二時(shí)間序列地穩(wěn)分析TEXTaddhereTEXTaddhereTEXTaddhere完成對(duì)plot_diff()函數(shù)調(diào)用,指定參數(shù)n=三,查看三階以內(nèi)差分。時(shí)間序列地穩(wěn)分析#查看三階以內(nèi)差分plot_diff(train_X,三)八.三.二時(shí)間序列地穩(wěn)分析TEXTaddhereTEXTaddhereTEXTaddhere在①處,使用Statsmodels模塊地plot_acf()函數(shù)繪制自有關(guān)系數(shù)圖。參數(shù)lags=二零指定畫出滯后二零階以內(nèi)地自有關(guān)系數(shù);參數(shù)alpha=零.零五指定顯著水為零.零五,即置信度為九五%。在②處,使用plot_pacf()函數(shù)繪制偏自有關(guān)系數(shù)圖,參數(shù)與plot_pacf()函數(shù)基本相同。(一)分析自有關(guān)系數(shù)與偏自有關(guān)系數(shù)fig=plt.figure(figsize=(一六,八))ax一=fig.add_subplot(二一一)ax二=fig.add_subplot(二一二)
#ACFfig=plot_acf(train_X,lags=二零,alpha=零.零五,ax=ax一)①#PACFfig=plot_pacf(train_X,lags=二零,alpha=零.零五,ax=ax二)②八.三.三模型選擇及定階TEXTaddhereTEXTaddhereTEXTaddhere可以看到,在九五%地置信區(qū)間下(藍(lán)色陰影),可以認(rèn)為總體分布地自有關(guān)系數(shù)與偏自有關(guān)系數(shù)均成拖尾,因此模型選定為。(一)分析自有關(guān)系數(shù)與偏自有關(guān)系數(shù)八.三.三模型選擇及定階TEXTaddhereTEXTaddhereTEXTaddhere模型定階選用AIC準(zhǔn)則或者BIC準(zhǔn)則,通過(guò)多次,實(shí)驗(yàn)確定其對(duì)應(yīng)函數(shù)地最小值為最優(yōu)階數(shù)。(二)模型定階#計(jì)算判定函數(shù)系數(shù)大小res=st.arma_order_select_ic(train_X,max_ar=四,max_ma=四,ic=['aic','bic’])①在①處,使用arma_order_select_ic()函數(shù)計(jì)算判定函數(shù),指定參數(shù)max_ar,max_ma選擇實(shí)驗(yàn)最大階數(shù),兼顧計(jì)算量與判定效果,一般該值取為四,ic指定需要計(jì)算哪些判定函數(shù),這里指定計(jì)算aic與bic函數(shù)。八.三.三模型選擇及定階將計(jì)算出地AIC,BIC函數(shù)地值通過(guò)二維熱力圖行可視化,并打印最優(yōu)階數(shù)。(二)模型定階#繪制AIC熱力圖ax=sns.heatmap(res['aic'],annot=True,fmt=".二f",ap="rainbow")ax.set_title('AIC')
#查看AIC準(zhǔn)則最優(yōu)階數(shù)res.aic_min_order八.三.三模型選擇及定階將計(jì)算出地AIC,BIC函數(shù)地值通過(guò)二維熱力圖行可視化,并打印最優(yōu)階數(shù)。(二)模型定階#繪制BIC熱力圖ax=sns.heatmap(res['bic'],annot=True,fmt=".二f",ap="rainbow")ax.set_title('BIC')
#查看BIC準(zhǔn)則最優(yōu)階數(shù)res.bic_min_orderAIC準(zhǔn)則與BIC準(zhǔn)則所選最優(yōu)階數(shù)(四,二),因此模型定階為。八.三.四建立時(shí)序模型并預(yù)測(cè)TEXTaddhereTEXTaddhereTEXTaddhere在對(duì)模型定階完成后,接下來(lái)對(duì)模型行擬合并預(yù)測(cè)。(一)擬合模型并檢驗(yàn)#擬合模型model=ARMA(train_X,order=(四,二)).fit()①在①處,對(duì)模型行建模,通過(guò)order參數(shù)指定階數(shù),并通過(guò)fit()方法對(duì)模型行訓(xùn)練。在對(duì)模型定階完成后,接下來(lái)對(duì)模型行擬合并預(yù)測(cè)。#計(jì)算模型殘差resid=model.resid#畫出qq圖plt.figure(figsize=(一二,一二))qqplot(resid,line='q',fit=True)#D-W檢驗(yàn)plt.title('DW:{}'.format(durbin_watson(resid.values)))八.三.四建立時(shí)序模型并預(yù)測(cè)模型殘差與正態(tài)分布較為接近,DW值接近于二,可以認(rèn)為殘差序列是一個(gè)白噪聲序列??梢赃x用該階數(shù)對(duì)模型行建模。要查看模型詳細(xì)信息,可以使用summary()方法。#查看模型詳細(xì)信息model.summary()(一)擬合模型并檢驗(yàn)八.三.四建立時(shí)序模型并預(yù)測(cè)#預(yù)測(cè)pred=model.predict(start=零,end=len(train_X)+一一)②在②處,使用predict()方法完成模型地預(yù)測(cè),通過(guò)start,end參數(shù)指定預(yù)測(cè)起止位置。#查看擬合結(jié)果plt.figure(figsize=(二四,八))plt.plot(orig,color='blue',label='觀測(cè)數(shù)據(jù)')plt.plot(pred,color='red',linestyle='-.',label='預(yù)測(cè)')plt.legend(prop={'size':一六})#添加分隔線plt.axvline(x=pd.to_datetime('二零一零-一二-三一'),ls="--",c="green")plt.show()(二)模型預(yù)測(cè)八.三.四建立時(shí)序模型并預(yù)測(cè)(二)模型預(yù)測(cè)八.四.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere本節(jié)將提供一個(gè)對(duì)非穩(wěn)序列建模地示例-預(yù)測(cè)月末最后一天地氣溫。與前一個(gè)示例不同,在這個(gè)示例作訓(xùn)練地氣溫?cái)?shù)據(jù)為二七日地逐日數(shù)據(jù),數(shù)據(jù)起伏較大無(wú)明顯規(guī)律,屬于非穩(wěn)時(shí)間序列。在除了上述示例地處理步驟之外,需額外增加數(shù)據(jù)差分處理與還原處理。(一)導(dǎo)入所需庫(kù),并對(duì)其行基本設(shè)置#導(dǎo)入數(shù)據(jù)處理庫(kù)importnumpyasnpimportpandasaspd
#導(dǎo)入繪圖庫(kù)importseabornassnsimportmatplotlib.pyplotasplt
#導(dǎo)入相應(yīng)建模庫(kù)fromstatsmodels.graphics.tsaplotsimportplot_acf,plot_pacf#ACF與PACFimportstatsmodels.tsa.stattoolsasst #AIC與BIC準(zhǔn)則判斷fromstatsmodels.tsa.arima_modelimportARMA #ARMA模型fromstatsmodels.graphics.apiimportqqplot #畫QQ圖fromstatsmodels.stats.stattoolsimportdurbin_watson #計(jì)算DW統(tǒng)計(jì)量
#設(shè)置繪圖顯示文字體plt.rcParams['font.sans-serif']=['MicrosoftYaHei']八.四.一讀入數(shù)據(jù)并行預(yù)處理首先創(chuàng)建一個(gè)用于本章代碼運(yùn)行地工作目錄,在此工作目錄下新建一個(gè)保存原始數(shù)據(jù)文件地文件夾"raw_data",將"房產(chǎn)信息.rar"地所有文件解壓到該文件夾下。(二)讀取數(shù)據(jù)并行缺失值,重復(fù)值檢查fpath='./DATA/成都?xì)鉁財(cái)?shù)據(jù).csv'
data=pd.read_csv(fpath)
print(data.isnull().sum())print(data.duplicated().sum())
data數(shù)據(jù)無(wú)缺失值,重復(fù)值。八.四.一讀入數(shù)據(jù)并行預(yù)處理數(shù)據(jù)溫度為開(kāi)氏溫度,而日常使用地是攝氏溫度??梢允褂胢ap()方法完成溫度地?fù)Q算。(二)讀取數(shù)據(jù)并行缺失值,重復(fù)值檢查#開(kāi)氏溫標(biāo)轉(zhuǎn)攝氏溫標(biāo)t=T-二七三.一五data.temp=data.temp.map(lambdax:x-二七三.一五)將數(shù)據(jù)轉(zhuǎn)換為時(shí)間序列。#轉(zhuǎn)換為Series時(shí)間序列orig=pd.Series(data.temp.tolist(),\index=pd.to_datetime(data.date.tolist()))orig八.四.一讀入數(shù)據(jù)并行預(yù)處理TEXTaddhereTEXTaddhereTEXTaddhere將二零一九年二月一日至二七日氣溫?cái)?shù)據(jù)作為訓(xùn)練集建立模型,以二八日數(shù)據(jù)作為測(cè)試集以檢驗(yàn)?zāi)P皖A(yù)報(bào)效果。#劃分訓(xùn)練集train_X=orig['二零一九-零二-零一':'二零一九-零二-二七'](三)對(duì)數(shù)據(jù)行重采樣,并劃分訓(xùn)練集#數(shù)據(jù)重采樣為逐日數(shù)據(jù)orig=orig.resample('D').mean()
#預(yù)覽orig.plot(color='blue',figsize=(一六,八))八.四.二時(shí)間序列地穩(wěn)分析原序列并非一個(gè)穩(wěn)序列,因此需要對(duì)該序列行穩(wěn)化。為此,我們對(duì)原序列行差分操作。首先畫出前三階地差分結(jié)果,以確定一個(gè)較為合適地差分階數(shù)。#查看三階以內(nèi)差分plot_diff(train_X,三)序列地一階差分已較為穩(wěn),為避免過(guò)差分,選定差分階數(shù)。#差分序列train_X_diff一=train_X.diff(一).dropna()八.四.三模型選擇及定階TEXTaddhereTEXTaddhereTEXTaddhere首先創(chuàng)建一個(gè)用于本章代碼運(yùn)行地工作目錄,在此工作目錄下新建一個(gè)保存原始數(shù)據(jù)文件地文件夾"raw_data",將"房產(chǎn)信息.rar"地所有文件解壓到該文件夾下。(一)分析自有關(guān)系數(shù)與偏自有關(guān)系數(shù)#畫ACP與PACFfig=plt.figure(figsize=(一六,八))ax一=fig.add_subplot(二一一)ax二=fig.add_subplot(二一二)
#ACFfig=plot_acf(train_X_diff一,lags=二零,alpha=零.零五,ax=ax一)#PACFfig=plot_pacf(train_X_diff一,lags=二零,alpha=零.零五,ax=ax二)八.四.三模型選擇及定階TEXTaddhereTEXTaddhereTEXTaddhere可以看到,差分后序列地自有關(guān)系數(shù)與偏自有關(guān)系數(shù)均成拖尾,因此模型選定為,對(duì)于具體階數(shù)通過(guò)多次實(shí)驗(yàn)選擇判別AIC或BIC函數(shù)地最小值對(duì)應(yīng)階數(shù)。這里指定最大實(shí)驗(yàn)階數(shù)為四。(一)分析自有關(guān)系數(shù)與偏自有關(guān)系數(shù)八.四.三模型選擇及定階TEXTaddhereTEXTaddhereTEXTaddhere查看AIC函數(shù)。#繪制AIC熱力圖ax=sns.heatmap(res['aic'],annot=True,fmt=".二f",a
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力系統(tǒng)仿真課程設(shè)計(jì)
- 統(tǒng)計(jì)教學(xué)課程設(shè)計(jì)
- 短視頻推廣課程設(shè)計(jì)
- 星輪專用夾具課程設(shè)計(jì)
- 白芨種植課程設(shè)計(jì)
- 漂移培訓(xùn)游戲課程設(shè)計(jì)
- 2024建筑安全員B證考試題庫(kù)附答案
- 氯苯換熱器課程設(shè)計(jì)
- 粗細(xì)認(rèn)識(shí)早教課程設(shè)計(jì)
- 紙漿漂白課程設(shè)計(jì)
- 鐵藝圍墻主要施工方法
- 10、美的微波爐美食創(chuàng)意拍攝腳本
- 07FK02防空地下室通風(fēng)設(shè)備安裝PDF高清圖集
- 浙江綜合醫(yī)院等級(jí)評(píng)審標(biāo)準(zhǔn)
- ANSI-ASQ-Z1.4-抽樣標(biāo)準(zhǔn)培訓(xùn)教材
- ISO9000質(zhì)量管理體系培訓(xùn)資料
- 煙草異物智能剔除系統(tǒng)技術(shù)參數(shù).
- 強(qiáng)制檢定工作計(jì)量器具目錄
- 大學(xué)基礎(chǔ)寫作--表達(dá)方式課件
- 300td高強(qiáng)瓦楞原紙廢紙制漿工段工藝設(shè)計(jì)
- 螺桿式風(fēng)冷冷水(熱泵)機(jī)組電路圖
評(píng)論
0/150
提交評(píng)論