1、取FALSE时将不会画出标题(包括主、副标题及坐标轴标题)。
2、设置边框形式,默认值为"o",表示四面边框都画出。其余可选值包括"l"(左下)、7(上右)、c(上下左)、u(左下右)、"]"(上下右)和"n"(无,即不画边框)。
3、设置x轴和y轴的范围,默认值为r,表示坐标轴比给定作图范围,比参数xlim和ylim给出的范围大一些。赋值为i时表示坐标轴范围与给定作图范围完全相同。
4、取n时,坐标轴、刻度线以及刻度值将不会画出。
我个人的倾向是在物理意义上这条曲线没有确定的方程, 因为从从图形上介于周期和随机之间, 更近于随机. 求方程的意义不仅仅在于可以满足目前数据, 还能预测未来数据. 你可以通过拟合得到一些似乎正确的方程, 但是这个方程可能仅仅是看起来能和目前数据吻合, 但基本不能预测比如2016年的数据, 那么求这个方程也就没有意义了.如果要做拟合的话:
首先要选好拟合函数, 是多项式拟合还是正弦曲线拟合(这matlab有相应的工具箱和函数库), 或者你有一个自己构思的含待定系数的函数式, 那可以用最小二乘法进行拟合. 在这里用高阶多项式拟合能对目前数据拟合得很好, 但对于一些其它点比如2016年什么的, 就乱七八糟了. 用低阶正弦拟合可以拟合个大概, 但不准确.
对于这些数据我建议还是采用统计手段, 求求平均和方差, FFT分析一下是否真的有明显的周期性啦等等.
这里分享一下R语言实现VAR和SVAR的整个流程。
主要步骤包括:
1.单位根检验
2.确定滞后阶数
3.格兰杰因果检验
4.模型稳定性检验
5.脉冲响应
6.方差分解
(Johansen协整检验,如果需要的话)
整个过程用到的R语言的扩展包有:
library(zoo)
library(vars)
library(tseries)
首先,数据是下面的样子:
ps:数据是时间序列类型,可以通过下面方法将dataframe转成时间序列类型
data = ts(data)
1.单位根检验
#对data的第一列进行单位根检验
adf.test(data[,1])
2.滞后阶数确定
VARselect函数结果包括AIC、HQ、SC和FPE准则
#参数y为时间序列数据,lag.max为最大滞后阶数
#参数type值包括const截距,trend趋势,both同时包含截距和趋势,none不包含截距和趋势
VARselect(y=data, lag.max = 10, type = c("const"))
3.格兰杰因果检验
格兰杰因果检验有两个方法,第一个是在构造模型之前,第二个是在构造模型之后在模型的基础上进行格兰杰因果检验。
(1)构造模型之前格兰杰因果检验
#函数格式:grangertest(yt~xt)
eg:
grangertest(Value~BCI)
(2)构造模型之后格兰杰因果检验
#函数格式:causality(VARModel,cause)
eg
var = VAR(data ,p = 2, type = "const")
causality(var,cause=c('Count','Value'))
ps:在这里如果想要构建SVAR模型的话,需要根据实际情况构建两个矩阵amat和bmat,然后使用这两个矩阵来构建SVAR模型:
svar = SVAR(var,Amat = amat,Bmat = bmat)
4.模型稳定性检验
#这里使用“OLS-CUSUM”,它给出的是残差累积和,在该检验生成的曲线图中,残差累积和曲线以时间为横坐标,
#图中绘出两条临界线,如果累积和超出了这两条临界线,则说明参数不具有稳定性。
sta = stability(var, type = c("OLS-CUSUM"), h = 0.15, dynamic = FALSE, rescale = TRUE)
plot(sta)##结果稳健
5.脉冲响应
#标题栏说明,这是BCI(或者其他变量)对各个变量(包括BCI自身)的脉冲响应
(1)VAR脉冲响应
var.irf<-irf(var,n.head=10)
plot(var.irf)
(2)SVAR脉冲响应
svar.irf<-irf(svar,n.ahead = 100)
plot(svar.irf)
6.方差分解
#反映了各变量的贡献率
(1)VAR方差分解
fevd1<-fevd(var, n.ahead = 10)
fevd1$Count
(2)SVAR方差分解
fevd2<-fevd(svar, n.ahead = 10)
fevd2$Value
ps:有时候需要进行Johansen协整检验
#Johansen协整检验,
#对r=0(不存在协整关系)的检验统计量大于临界值,表明拒绝原假设
yJoTest = ca.jo(data, type = c("trace"), ecdet = c("none"), K = 2)
summary(yJoTest)
网页链接