R語言 時間序列的建立及時間序列模型

2021-07-13 16:37:34 字數 1801 閱讀 9695

一、  時間序列的建立

時間序列的建立函式為:ts().函式的引數列表如下:

ts(data = na, start = 1, end = numeric(),frequency = 1,

deltat = 1, ts.eps = getoption("ts.eps"), class = , names = )

引數說明:data:這個必須是乙個矩陣,或者向量,再或者資料框frame

frequency:這個是時間觀測頻率數,也就是每個時間單位的資料數目

start:時間序列開始值,允許第乙個個時間單位出現資料缺失

舉例:ts(matrix(c(na,na,na,1:31,na),byrow=t,5,7),frequency=7,names=c("sun","mon ","tue", "wen" ,"thu","fri"," sat"))

執行上面的**就可以得到乙個日曆:

sun  mon tue wen thu  fri  sat

na   na  na   1  2    3    4

5    6   7   8  9   10   11

12   13  14  15 16   17   18

19   20  21  22 23   24   25

26    27 28  29  30   31   na

在r語言中本身也有不少資料集,比如統計包中的sunspots,你可以通過函式data(sunspots)來呼叫它們。

二、       一些時間序列模型

這裡主要介紹ar,ma,隨機遊走,余弦曲線趨勢,季節趨勢等

首先介紹一下ar模型:ar模型,即自回歸(autoregressive,ar)模型,數學表示式為:  ar :y(t)=a1y(t-1)+...any(t-n)+e(t)

其中,e(t)為均值為0,方差為某值的白雜訊訊號。

那麼產生ar模型的資料,我們就有兩種方法:1、呼叫r中的函式filter(線性濾波器)去產生ar模型;2、根據ar模型的定義自己編寫函式

先說第一種方法:呼叫r中的函式filter(線性濾波器)去產生ar模型

介紹函式filter的用法如下:

filter(x, filter, method = c("convolution", "recursive"),

sides = 2, circular = false, init)

對於ar(2)模型x(t)=x(t-1)--0.9x(t-2)+e(t)

w<-rnorm(550)#我們假定白雜訊的分布是正態的。

x<-filter(w,filter=c(1,-0.9),"recursive")

#方法:無論是「卷積」或「遞迴」(可以縮寫)。如果使用移動平均選擇「卷積」:如果「遞迴」便是選擇了自回歸。

再說第二種方法:依據定義自己程式設計產生ar模型,還是以ar(2)模型x(t)=x(t-1)--0.9x(t-2) +e(t)為例,可編寫函式如下:

w<-rnorm(550)

ar<-function(w)

呼叫ar(w)即可得到。如果對相同的隨機數,我們可以發現兩個產生的時間序列是一致的。當然對於第二種方法產生的序列需要轉換為時間序列格式,用as.ts()處理。

類似的,我們給出ma,隨機遊走的模擬:

ma模型:

w<-rnorm(500)

v<-filter(w,sides=2,rep(1,3)/3)

隨機遊走:

w<-rnorm(200)

x<-cumsum(w)#累計求和,seeexample:cumsum(1:!0)

wd<-w+0.2

xd<-cumsum(wd)

R語言 時間序列分析

時間序列分析 1.對時間序列的描述 2.利用前面的結果進行 ts是時間序列的英文簡稱 可以使用sys.date 函式檢視當前系統的時間 用seq函式創造連續的時間點 ts函式生成時間序列,可以很方便的將向量轉化成時間序列 egsales round runif 50,min 50,max 100 s...

R語言做時間序列(未完)

我學的時間序列課程,實驗課都是在sas做的,一直想用r把大概的思路捋順一下,所以這篇東西並沒有給出很多的程式結果,更多地設計做時間序列的思路 產生時間序列資料 產生規則的時間序列,frequency 1,4,12分別對應年度,季度,月度 timeseries ts x,start c 1940,01...

R語言 時間序列arima模型

t c a1 yt 1 a2y t 2 apyt p t b1 t 1 b2 t 2 bq t qyt c a1yt 1 a2yt 2 apyt p t b1 t 1 b2 t 2 bq t qtyt t t l yt c l t l yt c l t l 1 a1l a2l2 apl p l 1 ...