時間序列的R語言實現

2021-08-16 23:20:45 字數 1829 閱讀 5024

時間序列簡介

時間序列

(或稱動態數列)是指將同一統計指標的數值按其發生的

時間先後順序

排列而成的數列。

時間序列

分析的主要目的是根據已有的歷史資料對未來進行**。

本文主要記錄時間序列的幾種模型及其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...