下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ARIMA時(shí)間序列建模過(guò)程一一原理及python實(shí)現(xiàn)ARIMA模型的全稱叫做自回歸查分移動(dòng)平均模型,全稱是(ARIMA,AutoregressiveIntegratedMovingAverageModel),是統(tǒng)計(jì)模型(statisticmodel)中最常見的一種用來(lái)進(jìn)行時(shí)間序列預(yù)測(cè)的模型,AR、MA、ARMA模型都可以看作它的特殊形式。1. ARIMA的優(yōu)缺點(diǎn)優(yōu)點(diǎn):模型十分簡(jiǎn)單,只需要內(nèi)生變量而不需要借助其他外生變量。缺點(diǎn):要求時(shí)序數(shù)據(jù)是穩(wěn)定的(stationary),或者是通過(guò)差分化(differencing)后是穩(wěn)定的;本質(zhì)上只能捕捉線性關(guān)系,而不能捕捉非線性關(guān)系。2. ARIMA的參數(shù)
2、與數(shù)學(xué)形式ARIMA模型有三個(gè)參數(shù):p,d,q。p-代表預(yù)測(cè)模型中采用的時(shí)序數(shù)據(jù)本身的滯后數(shù)(lags),也叫做AR/Auto-Regressive項(xiàng);d-代表時(shí)序數(shù)據(jù)需要進(jìn)行幾階差分化,才是穩(wěn)定的,也叫Integrated項(xiàng);q-代表預(yù)測(cè)模型中采用的預(yù)測(cè)誤差的滯后數(shù)(lags),也叫做MA/MovingAverage項(xiàng)。差分:假設(shè)y表示t時(shí)刻的Y的差分。ifd=0,yt=Yt,ifd=1,yt=Yt-Yt-1,ifd=2,yt=(Yt-Yt-1)-(Yt-1-Yt-2)=Yt-2Yt-1+Yt-2ARIMA的預(yù)測(cè)模型可以表示為:Y的預(yù)測(cè)值=白噪音+1個(gè)或多個(gè)時(shí)刻的加權(quán)+一個(gè)或多個(gè)時(shí)刻的預(yù)測(cè)誤
3、差。假設(shè)p,q,d已知,ARIMA用數(shù)學(xué)形式表示為:yt?=w?1?yt-1+.+?p?yt-p+0l?et-1+.+怒t-q其中,?表示AR的系數(shù),裱示MA的系數(shù)3.Python建模#構(gòu)建初始序列importnumpyasnpimportmatplotlib.pyplotaspltimportstatsmodels.apiassmfromstatsmodels.graphics.tsaplotsimportacf,pacf,plot_acf,plot_pacffromstatsmodels.tsa.arima_modelimportARMAfromstatsmodels.tsa.arima_
4、modelimportARIMA#序列化time_series_=pd.Series(151.0,188.46,199.38,219.75,241.55,262.58,328.22,396.26,442.04,517.77,626.52,717.08,824.38,913.38,1088.39,1325.83,1700.92,2109.38,2499.77,2856.47,3114.02,3229.29,3545.39,3880.53,4212.82,4757.45,5633.24,6590.19,7617.47,9333.4,11328.92,12961.1,15967.61)time_se
5、ries_.index=pd.Index(sm.tsa.datetools.dates_from_range('1978','2010')time_series_.plot(figsize=(12,8)plt.show()3.1 異常值及缺失值處理異常值一般采用移動(dòng)中位數(shù)方法:frompandasimportrolling_medianthreshold=3#指的是判定一個(gè)點(diǎn)為異常的閾值df'pandas'=rolling_median(df'u',window=3,center=True).fillna(method='
6、bfill').fillna(method='ffill')#df'u'是原始數(shù)據(jù),df'pandas'是求移動(dòng)中位數(shù)后的結(jié)果,window指的是移動(dòng)平均的窗口寬度difference=np.abs(df'u'-df'pandas')outlier_idx=difference>threshold缺失Q股是用均值代替(若連續(xù)缺失,且序列不平穩(wěn),求查分時(shí)可能出現(xiàn)nan)或直接刪除。3.2 判斷是時(shí)序數(shù)據(jù)是穩(wěn)定的方法一般是觀察時(shí)序圖(穩(wěn)定的數(shù)據(jù)是沒(méi)有趨勢(shì)(trend),沒(méi)有周期性(seasonality)
7、的;即它的均值,在時(shí)間軸上擁有常量的振幅,并且它的方差,在時(shí)間軸上是趨于同一個(gè)穩(wěn)定的值的。該方式并不嚴(yán)謹(jǐn))或單位跟檢測(cè)(ADF是一種常用的單位根檢驗(yàn)方法,他的原假設(shè)為序列具有單位根,即非平穩(wěn),對(duì)于一個(gè)平穩(wěn)的時(shí)序數(shù)據(jù),就需要在給定的置信水平上顯著,拒絕原假設(shè)。如果ADF統(tǒng)計(jì)量比臨界值的值小,則可在該顯著性水平下,拒絕原序列存在單位根的原假設(shè),即原序列是平穩(wěn)的。反之,則接受原假設(shè),是非平穩(wěn)序列)確定。ADF檢驗(yàn):t=sm.tsa.stattools.adfuller(time_series_log,)#ADF檢測(cè)output=pd.DataFrame(index='TestStatisti
8、cValue',"p-value","LagsUsed","NumberofObservationsUsed","CriticalValue(1%)","CriticalValue(5%)","CriticalValue(10%)”,columns='value')output'value''TestStatisticValue'=t0output'value''p-value'=t1output&
9、#39;value''LagsUsed'=t2output'value''NumberofObservationsUsed'=t3output'value''CriticalValue(1%)'=t4'1%'output'value''CriticalValue(5%)'=t4'5%'output'value''CriticalValue(10%)'=t4'10%'print(output)#gu
10、t#valueTestStatisticValue0.807369p-value0.991754LagsUsed1NumberofObservationsUsed31CriticalValue(1%)-3.66143CriticalValue(5%)-2.96053CriticalValue(10%)-2.619323.3 不平穩(wěn)處理1)對(duì)數(shù)處理。對(duì)數(shù)處理可以減小數(shù)據(jù)的波動(dòng);time_series_log=np.log(time_series_)time_series_log.plot(figsize=(8,6)v0=time_series_log0print(np.exp(time_seri
11、es_log)plt.show()2)差分。一般來(lái)說(shuō),非純隨機(jī)的時(shí)間序列經(jīng)過(guò)一階差分或二階差分就會(huì)變得平穩(wěn)。在保證ADF檢驗(yàn)的p<0.01的情況下,階數(shù)越小越好,否則會(huì)帶來(lái)樣本減少、還原序列麻煩、預(yù)測(cè)困難等問(wèn)題。time_series=time_series_log.diff(1)time_series=time_series.dropna(how=any)time_series.plot(figsize=(8,6)plt.show()3.4 參數(shù)確定?關(guān)于pdq的選擇一般是通過(guò)計(jì)算自相關(guān)系數(shù)(acf)和偏相關(guān)系數(shù)確定(pacf),觀察兩個(gè)相關(guān)系數(shù)圖確定,平穩(wěn)的序列的自相關(guān)圖和偏相關(guān)圖要
12、么拖尾,要么是截尾。截尾就是在某階之后,系數(shù)都為0或趨于0,拖尾就是有一個(gè)緩慢衰減的趨勢(shì),但是不都為0。自相關(guān)系數(shù)ACF二偏相關(guān)系數(shù)PACF;模型選擇拖尾p階截尾AR(p)q階截尾拖尾MA(q)p階拖尾q階拖尾ARMA(p,q)同時(shí),還可利用aic、bic統(tǒng)計(jì)量自動(dòng)確定plot_acf(time_series)#acf圖plot_pacf(time_series)#pacf圖plt.show()#bic最小化選擇最優(yōu)參數(shù),aic同理defproper_model(data_ts,maxLag):#init_bic=sys.maxint/python2init_bic=sys.maxsizein
13、it_p=0init_q=0forpinnp.arange(maxLag):forqinnp.arange(maxLag):model=ARMA(data_ts,order=(p,q)try:results_ARMA=model.fit()except:continuebic=results_ARMA.bicifbic<init_bic:init_p=pinit_q=qinit_bic=bicreturninit_bic,init_p,init_q3.5 模型擬合b,p,q=proper_model(time_series,10)arima_mod=ARIMA(time_series_,
14、order=(p,0,q)arma_mod=ARMA(time_series_,order=(p,q)result_arma=arma_mod.fit()3.6 模型檢測(cè)假設(shè)檢驗(yàn),判斷(診斷)殘差序列是否為白噪聲序列從而確定模型優(yōu)劣。Ljung-Boxtest是對(duì)randomness的檢驗(yàn),或者說(shuō)是對(duì)時(shí)間序列是否存在滯后相關(guān)的一種統(tǒng)計(jì)檢驗(yàn)。對(duì)于滯后相關(guān)的檢驗(yàn),我們常常采用的方法還包括計(jì)算ACF和PCAF并觀察其圖像,但是無(wú)論是ACF還是PACF都僅僅考慮是否存在某一特定滯后階數(shù)的相關(guān)。LB檢驗(yàn)則是基于一系列滯后階數(shù),判斷序列總體的相關(guān)性或者說(shuō)隨機(jī)性是否存在。給定置信值a(0.05、0.01.)
15、,如果p值大于a值則接受原假定,即序列為白噪聲序列,否認(rèn)序列存在相關(guān)性。fromstatsmodels.stats.diagnosticimportacorrljungboxp_value=acorr_ljungbox(result_arima.resid.values.squeeze(),lags=5)1print(p_value)3.7 模型預(yù)測(cè)result_arma_pre=result_arma.predict(start='2011',end='2011')result_arima=arima_mod.fit()result_arima_pre=res
16、ult_arima.predict(start='2011',end='2011')print(result_arma_pre)print(result_arima_pre)如果對(duì)序列使電了差分,最后則需要對(duì)結(jié)果進(jìn)行還原操作:# print(result_arma_pre)# v0=time_series_log0# realV=口# realI=口# preV=口# preI=口# realV.append(v0)# preV.append(v0)# foriinrange(len(time_series_log):# realI.append(str(tim
17、e_series_log.indexi).split('')0.split('-')0)# preI.append(str(time_series_log.indexi).split('')0.split('-')0)# foriinrange(len(time_series):# v=v0+time_seriesi# v0=v# realV.append(v)# preV.append(v)# v1=realVlen(realV)-1# foriinrange(len(result_arma_pre):# v=v1+result_arma_prei# v1=v# preV.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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南師范大學(xué)科技學(xué)院《汽車企業(yè)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛州師范高等專科學(xué)?!段淖謱W(xué)概要》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛東學(xué)院《人才管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣西中國(guó)舞培訓(xùn)教程課件
- 七年級(jí)道德與法治上冊(cè)第三單元師長(zhǎng)情誼第六課師生之間第1課時(shí)走近老師教案新人教版
- 三年級(jí)科學(xué)下冊(cè)第四單元關(guān)心天氣4今天刮什么風(fēng)教案蘇教版1
- 《讀書考試法》課件
- 小學(xué)生語(yǔ)法精講課件
- 工藝基礎(chǔ)培訓(xùn)課件
- 《陳列無(wú)聲的語(yǔ)言》課件
- 安徽省水利工程質(zhì)量檢測(cè)和建筑材料試驗(yàn)服務(wù)收費(fèi)標(biāo)準(zhǔn)
- 2022課程標(biāo)準(zhǔn)解讀及學(xué)習(xí)心得:大單元教學(xué)的實(shí)踐與思考
- OA協(xié)同辦公系統(tǒng)運(yùn)行管理規(guī)定
- 公安警察工作匯報(bào)PPT模板課件
- 直腸癌個(gè)案護(hù)理范文結(jié)腸癌個(gè)案護(hù)理.doc
- 某小區(qū)建筑節(jié)能保溫工程監(jiān)理實(shí)施細(xì)則
- 污水處理中常用的專業(yè)術(shù)語(yǔ)
- 石英砂過(guò)濾器說(shuō)明書
- 外市電引入工程實(shí)施管理要求(重要)
- 公務(wù)員錄用體檢表模板
- 工資轉(zhuǎn)移證明(樣表)
評(píng)論
0/150
提交評(píng)論