应用实践序列分析——part1
时间序列建模的基本步骤
模型识别
判别时间序列的平稳性方法:1、图检验法;2、构造统计量进行假设检验,目前常用的平稳性统计检验方法是单位根检验
模型估计
在数理统计中,估计时间序列模型参数的常用方法有:矩估计、极大似然估计和最小二乘估计。一般先用矩估计,然后使用极大似然估计或非线性最小二乘方法。
矩估计:用样本矩代替相应的总体矩,并通过求解相应的方程而得到参数估计的方法。简单、直观、计算量小,但利用信息不足、估计效率低以及估计精度不高
极大似然估计:使得样本出现概率最大,即使得似然函数达到最大而得到参数估计的方法。
最小二乘估计:使得模型拟合的残差平方和达到最小,从而求得参数估计的方法。
模型检验
时间序列模型的检验有两类:一类是模型的显著性检验,一类是模型参数的显著性检验。
模型的显著性检验:提取的信息是否充分,即残差序列应为白噪声序列
模型参数的显著性检验:检验模型参数是否显著异于0,目的是剔除贡献不大的参数
模型应用
包括变量动态结构分析、预测和控制
R语言相关介绍
安装包
Install.packages(“tseries”)
Library(tseries)
数据输入和读取
主要包括三种:read.table(), read.ftable(), scan();读取大规模数据,可通过dbConnect()连接并操作MySQL数据库来导入数据
Temp<-c(-5, -2, 3, 15, 19, 23)
Temp<-ts(temp,start=c(2016,1),frequency=12)
Z<-scan()
W<-read.table(“xxx.csv”, sep=”,”, header=T)
缺失值的插值方法
线条插值:b<-na.approx(a)
样条插值:c<-na.spline(a)
数据导出
d<-data.frame()
Write.table(d, file=”xxx.csv”, sep=”,”,row.names=F)
数据预处理
时序图与自相关图的绘制
时序图:横坐标为时间,纵坐标为序列取值
自相关图:平面上的悬垂线图,横坐标为延迟时期数,纵坐标为自相关数,悬垂线表示自相关系数的大小。
Plot(x,y,type, main, sub, xlab, ylab, xlim, ylim, pch, lty, lwd, col…)
Type:绘图类型,p为点图,l为线图,b为点连线,o为线穿过点,h为悬垂线,s为阶梯线。
Main:主标题
Sub:副标题
Pch:观察点的符号,取1~25的整数
Lty:指定连线类型,取1~6的整数
readLines(“xxx.csv”,n=2)即读取csv前两行的数据,认识数据结构
在同一个窗口绘制不同变量时序图
y<-data.frame(China, India, UK, US)
Tourism<-ts(y, start=c(2000,1), frequency=12)
Par(mfrow=c(4,1))
Plot(Tourism, type=”o”, pch=16, col=”blue”, main=””)
通过abline()为图形添加参照线
Plot(CCA, type=”o”, col=1)
abline(v=2014.9, lty=2, col=1, lwd=2)
abline(v=c(2015.1,2016.1), lty=2, col=1)
abline(h=c(6261.21, 5857.61), lty=3, col=1, lwd=2)
使用acf()绘制自相关图
acf(x,lag)
x:时间序列数据构成的向量
lag:延迟的阶数,若用户不特殊指定,则系统根据序列长度自动指定延迟阶数
acf(CCA) #绘制自相关图
调用points叠加图形
plot(LAMax, type=”o”, pch=17, lty=1, ylim=c(0,30),ylab=”LAMax-LAMin”)
points(LAMin, type=”o”, pch=16, lty=6, col=”blue”)
纯随机性检验
利用R提供的随机数生成器产生随机数。操作一般为在对应分布的名前加前缀r,如正态分布随机数生成器rnorm(), 均匀分布随机数runif(), 泊松分布随机数生成器rpois()。
rnorm(n=, mean=, sd= ) #n为个数,mean为正态分布均值,默认为0,sd为标准差,默认为1
白噪声检验
在R中使用函数Box.test()进行白噪声检验。
Box.test(x, type=, lag= ) #x为变量名,type为检验统计量类型,type= “Box-Pierce”输出白噪声检验的QBP统计量(R默认输出结果),type=”Ljung-Box”, 输出白噪声检验的QLB统计量。Lag:延迟阶数。Lag=n表示输出滞后n阶的白噪声统计量,一般不能取太大,否则淹没时间序列的短期相关性。
一次完成多个检验:var为循环变量名; seq为一个向量,给出循环区间;expr为需要循环执行的命令。
for(var in seq) expr
filter拟合函数
filter(a, filter=, method=, circular=)
其中a为随机波动序列的变量名;filter为指定模型函数,包括AR(p)和MA(q);method指定AR模型(method=”recursive”)还是MA模型(method=”convolution”);circular为拟合M模型时专用的一个选项,circular=T时可以避免NA数据出现。
arima.sim拟合函数
arima.sim(n,list(ar=, ma=, order=),sd=)
arima.sim拟合函数可拟合平稳AR序列以及MA序列、平稳ARMA序列和ARIMA序列
其中n为拟合序列长度;list指定具体模型参数,包括AR(p)模型,MA(q)模型,ARMA(p,q)模型和ARIMA(p,d,q)模型,p为自回归阶数,d为差分阶数,q为移动平均阶数; sd指定序列标准差,默认为1。
Green函数
Green函数(Gk)越大,代表过去的干扰对t的序列值影响越大;而|GK|收敛于0且k趋近于∞,则过去干扰的影响逐渐衰减;当k趋近于∞时,|GK|不收敛于0,则说明过去干扰的影响不随时间的推移而衰退,序列是不平稳的。
模型的截尾性
通过绘制偏自相关函数图观察平稳自回归模型的截尾性
pacf(a) #Partial ACF
本文来自博客园,作者:{shanmuxi},转载请注明原文链接:https://www.cnblogs.com/shanmuxi/articles/18843314

浙公网安备 33010602011771号