時間序列簡介
時間序列
(或稱動態數列)是指將同一統計指標的數值按其發生的
時間先後順序
排列而成的數列。
時間序列
分析的主要目的是根據已有的歷史資料對未來進行**。
本文主要記錄時間序列的幾種模型及其r語言實現。
需要用到的包:
library(zoo)
library(forecast)
library(tseries)
白雜訊的判斷
首先,我們先對資料進行檢測,判斷資料是否是白雜訊(純隨機序列)
這裡可以使用box-ljung 檢驗
這裡的p值顯然大於0.05,不能拒絕原假設,故資料序列為白雜訊,時間序列模型不適合本資料序列。
若通過box-ljung 檢驗,則說明時間序列模型可以用來對資料進行**。接下來將介紹幾種經典的時間序列模型。
p = 0.01<0.05,故拒絕原假設,資料是平穩的。
若p>0.05,則需要對原資料進行一階差分
datadiff1
之後再進行平穩性檢驗,直至資料平穩。
平穩後,進行arima引數的確定。
自動確定引數:可以使用autoarima函式,它會返回arima的各個引數,不過autoarima進行引數的選擇時它只注重aic值的大小,所得出的結果並不一定時最好的,這個方法並不是特別推薦。
人工選擇引數:畫出acf圖得出arima(p,d,q)中p,q引數的值。而d為差分次數。
這兩個圖判斷自相關係數和偏自相關係數是拖尾還是截尾。acf圖對應的是q的值,pacf圖對應的是p的值,若是拖尾,則值為0,若是截尾,則看是幾期截尾得出對應引數的值。圖中可讀出p=3,q=2。接著建立模型。
datamodel
其中seasonal是季節性引數。三個引數分別為p,d,q,根據其週期以及幾部差分來判斷其值。
建立完模型需要進行aic值檢驗,其值越小越好。
aic(datamodel)
dataforcast
dataforcast
plot(dataforcast)
輸出模型**後的七個值。
holt-winters模型中有三個引數,gamma是
dataseries
plot(dataseries)
dataserieshw
plot(dataserieshw)
dataforcast
dataforcast
plot(dataforcast)
R語言 時間序列分析
時間序列分析 1.對時間序列的描述 2.利用前面的結果進行 ts是時間序列的英文簡稱 可以使用sys.date 函式檢視當前系統的時間 用seq函式創造連續的時間點 ts函式生成時間序列,可以很方便的將向量轉化成時間序列 egsales round runif 50,min 50,max 100 s...
R語言 時間序列的建立及時間序列模型
一 時間序列的建立 時間序列的建立函式為 ts 函式的引數列表如下 ts data na,start 1,end numeric frequency 1,deltat 1,ts.eps getoption ts.eps class names 引數說明 data 這個必須是乙個矩陣,或者向量,再或者...
R語言做時間序列(未完)
我學的時間序列課程,實驗課都是在sas做的,一直想用r把大概的思路捋順一下,所以這篇東西並沒有給出很多的程式結果,更多地設計做時間序列的思路 產生時間序列資料 產生規則的時間序列,frequency 1,4,12分別對應年度,季度,月度 timeseries ts x,start c 1940,01...