小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

R語言之數據分析高級方法「時間序列」

 yjt2004us 2018-04-24

?????????


作者簡介Introduction

姚某某 


本節(jié)主要總結「數據分析」的「時間序列」相關模型的思路。

「時間序列」是一個變量在連續(xù)時點或連續(xù)時期上測量的觀測值的序列,它與我們以前見過的數據有本質上的區(qū)別,這個區(qū)別在于之前的數據都在一個時間的橫截面上去測量、計算數據,而「時間序列」給出了一種時間軸線上縱向的視角,將時間作為自變量,測量出一系列縱向數據。

關于「時間序列」的預測模型,我所了解的常用模型有三種:1. 移動平均  2. 指數預測模型 3. ARIMA 預測模型


0. 時序的分解

要研究時序如何預測,首先需要將復雜的時序數據進行分解,將復雜的時序數據分解為單一的分解成分,這樣能利用統(tǒng)計方法進行擬合,然后個個擊破,最后再合成為我們需要預測的未來時序數據。

前人在這一問題上已經得到很好的結論,通過對時序數據現實意義的理解,一般將時序數據分解為四個成分:

1. 水平項 

2. 趨勢項 

3. 季節(jié)效應(衍生出去為周期項)

4. 隨機波動

  • 水平項,即剔除時序數據的趨勢影響和季節(jié)影響后,時序數據所剩的成分,它代表著時序數據在時間軸上相對穩(wěn)定的一個基礎值。就像一個原點一樣,在這個原點上去考慮時間所帶來的趨勢影響和季節(jié)影響。

  • 趨勢項,它用于捕捉時序數據的長期變化,是逐步增長還是逐步下降。就像在二元空間中的一個單調函數。

  • 季節(jié)效應,衍生出去就是周期型,在一定時間內,時序數據所包含的周期型變化。就像在二元空間中的三角函數,如y=sinx,其數值是周而復始的。

通常在分解以上各個成分時,有兩種模式,一個是乘法模型,一個是加法模型。其中,加法模型的季節(jié)效應被認為不依賴于時間序列,二乘法模型認為季節(jié)影響隨著時間會發(fā)生改變。不過兩種模型在計算時可以相通,對乘法模型作對數處理即可。


1. 移動平均

這一方法很簡單,只做簡單講解

  • 所謂移動平均,就是使用時間序列中最接近的 k 期數據值的平均值作為下一個時期的預測值。


即:                                        

較小的 k 值將更快速追蹤時間序列的移動,而較大的 k 值將隨著時間的推移更有效地消除隨機波動。

  • 可延伸為加權移動平均,此法對每個數值選擇不同的的權重,然后計算最近 k 期數據值的加權平均數作為預測值。

  • 如果僅用于平滑現有數據,也可以使用居中移動平均,即使用時序中前后最接近的各 q 期數據及自己的平均值作為在該時點上的平滑值。


即:                                        


2. 指數預測模型

指數預測模型也是利用過去的時間序列值的加權平均數作為預測值,它是加權移動平均法的一個特例。

即:只選擇最近時期觀測值的權重,其他數據值的權重則自動推算,原則是時間距離越遠權重越小。

2.1. 單指數平滑

單指數平滑,不考慮季節(jié)和趨勢分解,僅用過去數據值的加權平均數來預測。其思想為:

其中 F 為某時刻的預測值,Y 為某時刻的觀測值。以上公式從 t = 1 開始遞推,則每個時刻的預測值都包含著過去所有觀測值的成分,只是權重不同,令F1 = Y1 ,則:

α為平滑常數,越接近于 1 ,則近期觀測值的權重越大;反之,越接近于0,歷史觀測值權重越大。

2.2. Holt 指數平滑

Holt 指數平滑,在單指數平滑的基礎上,還對趨勢項進行了擬合。

由于考慮到了趨勢項,則預測值可表示為:

其中 Lt 為 t 時刻時序水平項的估計值,bt為 t 時刻時序斜率的估計值。

α為水平平滑常數, β為斜率平滑常數。

2.3. Holt-Winters 指數平滑

Holt-Winters 指數平滑,在 Holt 指數平滑的基礎上,還對季節(jié)項(周期項)進行了擬合,

由于還考慮到了季節(jié)項,則預測值表示為:

其中 i 為季節(jié)項的周期,mod 是求余,P 是某時刻時序周期的估計值。


α為水平平滑常數,β為斜率平滑常數,γ為周期平滑常數。

2.4. R 語言實現

以上三種指數平滑模型,采用 forecast 包中的 ets ( ) 函數即可:

ets(ts, model='zzz')
# ts 為需要分析的時序
# model 為模型選擇參數,具體分類如下
# 不指定 model 參數時,自動匹配最優(yōu)模型




3. ARIMA 預測模型

ARIMA 模型的相關資料我找到了,但是并沒有看完和看懂,相對來說其思想確實有些復雜。而且最近買了《統(tǒng)計學方法》和《機器學習》兩本書,發(fā)現自己的線性代數水平還很難看懂這些公式和算法推導,所以準備把《 R 語言實戰(zhàn) 》敲完后轉入線性代數的復習,之后學習方向待定。

這里我就僅把利用 R 語言進行 ARIMA 模型模擬和預測的流程做以總結:

3.1. 確保時序是平穩(wěn)的

時序平穩(wěn)的要求一般有兩個:方差為均值、無趨勢項

方法是利用時序圖估判和 ndiffs ( ) 函數推薦最優(yōu)的差分次數 d 。

3.2. 選擇模型

通過 ACF 和 PACF 圖來判斷 p 和 q 參數的值。

其中 ACF 為自相關函數圖用于判斷 q,PACF 為偏自相關圖用于判斷 p。

p 為自回歸模型(AR)參數,q 為移動平均模型(MA)參數。

3.3. 擬合模型

fit <- arima(ts,="" order="">
# ts 為原時序,order 中放入包含三個參數的向量
fit
# 一般要進行多組參數的嘗試,在輸出結果中利用 AIC 值來選擇最合理的模型,AIC 越小越好
accuracy(fit)
# 得到一系列誤差值,用于準確性度量

3.4. 模型評價

模型的殘差應該滿足獨立正態(tài)分布,根據這一條:

1. 使用正態(tài) Q-Q 圖來判斷其正態(tài)性

2. 使用box.test ( ) 函數對模型的殘差進行獨立性檢驗。

3.5. 預測

forecast(fit,3)
# fit 為我們之前擬合好的最佳模型,3 指的是要預測的年數

3.6. 自動預測

forecast 包中的 auto.arima ( ) 函數可以實現最優(yōu) ARIMA 模型的自動選取。




    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多