多元时间序列分析基础一
来源:互联网 发布:mac下载office办公软件 编辑:程序博客网 时间:2024/05/16 16:11
knitr::opts_chunk$set(echo = TRUE, warning = F, message = F)
多元时间序列分析的目的可以概括为分析不同时间序列的动态相关性, 从而得到单元序列分析更准确的预测。首先,我们生成k = 3个时间序列,
temp = matrix(c(1.2, -0.3, 0.8, -.3, .85, 1.45, .8, 1.45, .68), 3, 3)colnames(temp) = c("z1","z2", "z3")rownames(temp) = colnames(temp)temp
三个时间序列的平均数
require(mvtnorm) cm = matrix(c(1.2, -0.3, 0.1, -.3, 1.5, 0.2, .1, .2, .68),3,3)mn = c(0, 0, 0)set.seed(1000) # for replication zr = rmvnorm(500, mean = mn, sigma = cm)colnames(zr) = c("z1","z2", "z3") dim(zr) head(zr, n = 5) var(zr) # check covariance matrixapply(zr, 2, mean) # check mean
我们可以从下图中看到,很明显,他们都是stationary的。 因为先验的设定了他们的covariance和mean,他们的走势没有特别相似或不相似。
library(MTS)MTSplot(zr)
很自然,我们会考虑到这些数列和自己的lag value 以及其他序列的lag vlaue 是否确有联系,这个问题可以用cross covariance/correlation matrices 中找到提示, 这两个matrices,相对于lag
用上面的多元序列zr为基础,下面举例计算
nT = nrow(zr)nTnV = ncol(zr)nVtem_zr = scale(zr, center = T, scale = F) # zr - mean(zr) by colhead(tem_zr)g0 = (t(tem_zr) %*% tem_zr) / (nT - 1)g0 # Gamma_0se = (diag(diag(g0)))^0.5seseinv = solve(se)rho0 = seinv %*% g0 %*% seinvrho0
从
lag = 2zr1 = tem_zr[(lag + 1):nT,]zr2 = tem_zr[1:(nT - lag), ]g2 = (t(zr1) %*% zr2)/(nT - 1)g2rho2 = seinv %*% g2 %*% seinvrho2
显然,几乎没有相关性存在,以上计算可以很容易的使用MTS包中的ccm函数得出
ccm(zr,2)$ccm
这个包中使用了判别时代替具体数值,具体地,根据某个cross correlation matrices
类似单元时间序列,在多元情况下,我们也可以用Ljung-Box Test来检验
对于序列zr,下面举例计算
g1 = t(tem_zr[(1+1): nT, ]) %*% tem_zr[1:(nT-1),]g1 = g1/(nT -1)g1trpd1 = t(g1) %*% solve(g0) %*% g1 %*% solve(g0)trs = sum(diag(trpd1)) / (nT - 1)Q31 = trs * (nT^2)Q31trpd2 = t(g2) %*% solve(g0) %*% g2 %*% solve(g0)trs2 = sum(diag(trpd2)) / (nT - 2) + trsQ32 = trs2 * (nT^2)Q32pv = 1 - pchisq(c(Q31, Q32), df = c(nV^2, 2*nV^2))pv
显然,在百分之五的confidence-level的状况下,可以拒绝说有在
mq(zr, lag = 2)
####备注
Rmarkdown版本
书目:Tsay, Ruey S(2014): *Multivariate Time Series Analysis
With R and Financial Applications*, Chapter 1.
- 多元时间序列分析基础一
- 多元时间序列分析基础二
- 多元时间序列分析
- 时间序列分析基础
- 时间序列分析基础
- 时间序列分析基础
- 时间序列分析基础
- pandas 时间序列分析(一)—— 基础
- 时间序列分析基础概念
- 时间序列分析(一)
- 时间序列分析记录一
- 时间序列分析:ts/mts基础数据类型
- 时间序列分析之预处理(一)
- 时间序列分析(一) 如何判断序列是否平稳
- 时间序列分析(一) 如何判断序列是否平稳
- Python数据分析基础(八)——时间序列
- 时间序列形态相似性分析(一)——时间序列形态相似性的度量
- 时间序列形态相似性分析(一):时间序列形态相似性的度量
- 7.JSP技术
- 简单泊车管理系统-c++实现
- Google Developers:发布TensorFlow Lite
- 动态创建CMFCToolbar并添加按钮
- C和指针之数组和函数部分总结
- 多元时间序列分析基础一
- POJ 1182 食物链 (并查集解法)(详细注释)
- C
- Ubuntu16.04安装Redis
- 【算法】Kruskal算法(解决最小生成树问题) 含代码实现
- A. Local Extrema
- Hbase原理、基本概念、基本架构
- B. Buggy Robot
- liunx lamp搭建编译