多元時間序列分析基礎二

2021-08-10 22:16:44 字數 3187 閱讀 5988

knitr::opts_chunk$set(echo = true, message=f, warning=f)
上篇主要內容為:

本篇首先模擬乙個初始的多元時間序列, 同樣3個觀測物件, 500個觀測點。首先在假定:

matrix(c(2, .5, .3, .5, 1.5, .6, .3, .6, 3 ), 3, 3)
⎡⎣

⎢⎢⎢⎢

⎢z1,

3z1,

4⋮z1

,502z2

,3z2

,4⋮z

2,502z3,

3z3,

4⋮z3

,502⎤⎦

⎥⎥⎥⎥

⎥=⎡⎣

⎢⎢⎢⎢

⎢ϕ1,

0ϕ1,

0⋮ϕ1

,0ϕ2

,0ϕ2

,0⋮ϕ

2,0ϕ

3,0ϕ

3,0⋮

ϕ3,0

⎤⎦⎥⎥

⎥⎥⎥+

⎡⎣⎢⎢

⎢⎢⎢z

1,2z

1,3⋮

z1,501z2

,2z2

,3⋮z

2,501z3,

2z3,

3⋮z3

,501⎤⎦

⎥⎥⎥⎥

⎥⎡⎣⎢

⎢ϕ1,

1ϕ2,

1ϕ3,

1ϕ1,

2ϕ2,

2ϕ3,

2ϕ1,

3ϕ2,

3ϕ3,

3⎤⎦⎥

⎥′−⎡

⎣⎢⎢⎢

⎢⎢a1

,2a1

,3⋮a

1,501a2,

2a2,

3⋮a2

,501a3

,2a3

,3⋮a

3,501⎤⎦⎥

⎥⎥⎥⎥

⎡⎣⎢θ

1,11θ

1,21θ

1,31θ

1,12θ

1,22θ

1,32θ

1,13θ

1,23θ

1,33⎤

⎦⎥′−

⎡⎣⎢⎢

⎢⎢⎢a

1,1a

1,2⋮

a1,500a2

,1a2

,2⋮a

2,500a3,

1a3,

2⋮a3

,500⎤⎦

⎥⎥⎥⎥

⎥⎡⎣⎢

θ2,11

θ2,21

θ3,31

θ2,12

θ2,22

θ3,32

θ2,13

θ2,23

θ3,33

⎤⎦⎥′

+⎡⎣⎢

⎢⎢⎢⎢

a1,3

a1,4

⋮a1,

502a2,

3a2,

4⋮a2

,502a3

,3a3

,4⋮a

3,502⎤⎦⎥

⎥⎥⎥⎥

library

(mts)

print

("phi_1")

temp = matrix

(c(.8 ,4, .5, -.3, -.6, .7, .9, -.6, -.8), 3, 3)

temp

print

("theta_1")

t(temp)*1.3*-1

print

("theta_2")

solve

(temp)*0.6*-1.1

根據以上假設通過以下方式模擬一組原始的多元序列:

library(mvtnorm)

library(mts)

sig = matrix(c(2, .59, 1.3, .59, 1.5, .69, 1.3, .69, 3 ), 3, 3)

nv = nrow(sig)

nt = 500 + 2 # max(p = 1, q = 2) = 2

phi0 = 0

phi1 = matrix(c(.8 ,4, .5, -.3, -.6, .7, .9, -.6, -.8), 3, 3)

theta1 = t(phi1)*1.3*-1 # arbitrary for simplication

theta2 = solve(phi1)*0.6*-1.1

at = rmvnorm(nt, rep(0, nrow(sig)), sigma = sig, set.seed(1000))

head(at)

at1 = at[2:(nrow(at)-1),]

at2 = at[1:(nrow(at)-2),]

at3 = at[3:nrow(at),]

atm = at3 - at1 %*% t(theta1) - at2 %*% t(theta2)

zt = matrix(0, 500, 3)

z1 = atm[1, ]

zt[1,] = z1

i = 2

while(i <= 500)

head(zt)

使用mts包中的varmasim函式如下, 便捷得到同樣的結果,同時可以順便看一下zt

的plots以及cross corelation:

library

(mts)

set.seed

(1000)

mtsim = varmasim

(500, skip = 2, arlags = c(1), malags = c(1,2),

cnst=null, phi = phi1, theta = cbind(theta1, theta2),

sigma = sig)

head

(mtsim$series)

mtsplot

(mtsim$series)

圖中看出,接近結尾處起伏及其大,說明這個序列是幾何級增長的,非staionary, 不適用初級的多元分析。用qm函式和ccm函式,會報錯,error: ρ0

不可逆。

備註

時間序列分析

協方差矩陣和相關係數主要研究兩個連續變數的相似程度 相關性 協方差公式 協方差矩陣 相關係數 cov x,y var x var y 相關係數矩陣 可以使用ljung box方法進行檢驗。即box.test data,type ljung box lag num 來檢驗,當p value大於0.05...

時間序列分析

時間序列資料分為平穩 寬平穩 和非平穩兩種。平穩序列中也包括隨機序列,即序列資料之間沒有任何相關性或記憶性,純隨機的,這種序列沒有挖掘分析的必要。純隨機序列也稱為白雜訊序列。序列中的隨機變數之間的相關係數r k 0,k不為 0 經過預處理若發現序列是平穩非隨機序列,則可用的模型為arma。ar模型是...

時間序列分析

觀察變數動態的變化,我們需要動態序列,也即是我們的時間序列。時間序列的要素是時間 資料,所要解決的問題即是時間序列所帶來的序列相關性的問題。四種變動 長期變動趨勢 季節變動趨勢 週期變動趨勢 不規則變動趨勢 第一種想象為單增的曲線 第二三種可以想象為週期變化的折線 第四種想象為白雜訊 疊加模型 四種...