楼主: lico9e
28986 12

[问答] 请问如何用R做向量自回归模型(VAR) [推广有奖]

  • 0关注
  • 3粉丝

硕士生

73%

还不是VIP/贵宾

-

威望
0
论坛币
5 个
通用积分
130.8725
学术水平
5 点
热心指数
6 点
信用等级
5 点
经验
855 点
帖子
46
精华
0
在线时间
291 小时
注册时间
2014-4-21
最后登录
2024-3-12

楼主
lico9e 企业认证  发表于 2015-2-11 13:23:51 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
要实现以下的几个步骤,数据集已经有了,请高手们可以介绍下相关的函数吗?
halfyear_vector=data.frame(hsi_ir_h_ts,cenlhkl_ir_h_ts,m2_h_ts,ue_h_ts,cpi_h_ts,exp_h_ts,gdp_h_ts)
halfyear_vector=ts(halfyear_vector,start=c(1995,1),frequency=2)
halfyear_vector
plot(halfyear_vector,plot.type="single",lty=1:7,col=1:7)
title("key indicators")
legend("topleft",c("hsi_ir_h_ts","cenlhkl_ir_h_ts","m2_h_ts","ue_h_ts","cpi_h_ts","exp_h_ts","gdp_h_ts"),lty=1:7,col=1:7)

#稳定性检验
for (i in 1:7)
{
print(kpss.test(halfyear_vector[,i],null="Level"))
print(kpss.test(halfyear_vector[,i],null="Trend"))
print(kpss.test(diff(halfyear_vector[,i]),null="Level"))
print(kpss.test(diff(halfyear_vector[,i]),null="Trend"))
}
#需求一:进行ADF检验
#格兰杰因果检验
granger.test(halfyear_vector,p=7)
#需求二:进行指标共线性判断
#需求三:进行VAR阶数判断
#VAR模型拟合
halfyear_VAR=VAR(halfyear_vector,p=3,type="both")
halfyear_VAR
#需求四:价模型的稳定性、自相关性,异方差检验
#需求五:导出VAR模型
#VAR模型预测
halfyear_VAR_Predict=predict(halfyear_VAR,n.head=1,ci=0.9999)  
plot(halfyear_VAR_Predict)
#需求六:计算95%,99%,99.9%分位数的预测取值


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:向量自回归模型 向量自回归 自回归模型 回归模型 如何用 模型 如何

回帖推荐

DM小菜鸟 发表于3楼  查看完整内容

1. 用tseries包里面的adf.test() 2. 可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用其他的X的线性组合表示;也可以计算条件数kappa(X),k
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
胡老 + 5 + 5 + 5 精彩帖子

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

沙发
hu8105 在职认证  发表于 2015-2-15 10:43:05 |只看作者 |坛友微信交流群
我也想学习学习!

使用道具

藤椅
DM小菜鸟 发表于 2015-2-26 15:24:50 |只看作者 |坛友微信交流群
1. 用tseries包里面的adf.test()

2. 可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用其他的X的线性组合表示;也可以计算条件数kappa(X),k<100,说明共线性程度小,如果100<k<1000,有较强的多重共线性,k>1000,存在严重的多重共线性。可以进行逐步回归,用step()命令,比如你一开始的模型是fm,step(fm)就可以了

3. adf.test()里面就可以设滞后项的判断,adf.test(x, alternative = c("stationary", "explosive"),
         k = trunc((length(x)-1)^(1/3)))
AIC准则——
计算AIC统计量,模型的残差平方和(SS)除以样本容量(n),再取对数,加上2倍的解释变量个数(k)除以样本容量.
AIC=log(SS/n)+2*k/n
寻找某一k值是AIC达到极小值,则k就是最优滞后阶数。
SC准则——
SC=log(SS/n)+log(n)*k/n

4. R里有两种检验方法是常用的,LiMcLeod{portes}可以进行多元的Portmanteau Q检验。。。protest{portes}可以进行一元的Portmanteau Q检验,把函数中的参数SquaredQ=T
  
还可以把序列平方之后再检验自相关性。。。也相当于进行了异方差检验。。。
  
自相关检验可以通过ACF图,函数是acf{stats},或者单位根检验ur.df{urca}进行ADF检验或者ur.pp{urca}进行PP检验,或者进行白噪声检验Box.test{stats},相当于检验了序列的二阶自相关性。。。
  
{}里面的是package的名字



已有 4 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
胡老 + 5 + 5 + 5 热心帮助其他会员
monster10 + 1 + 1 + 1 精彩帖子
黎明前的。 + 1 + 1 + 1 精彩帖子
crystal8832 + 30 + 2 + 2 精彩帖子

总评分: 论坛币 + 30  学术水平 + 9  热心指数 + 9  信用等级 + 7   查看全部评分

使用道具

板凳
南农小硕 发表于 2016-4-23 22:23:39 |只看作者 |坛友微信交流群
DM小菜鸟 发表于 2015-2-26 15:24
1. 用tseries包里面的adf.test()

2. 可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用 ...
使用VARselect函数定阶时候,有AIC,HQ,SC,FPE等准则,确定的最优阶数是不同的,该如何去选择呢

使用道具

报纸
怡然秋雨 发表于 2016-5-26 10:06:29 |只看作者 |坛友微信交流群
DM小菜鸟 发表于 2015-2-26 15:24
1. 用tseries包里面的adf.test()

2. 可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用 ...
后续的脉冲响应和方差分解怎么做??

使用道具

地板
怡然秋雨 发表于 2016-5-26 10:06:38 |只看作者 |坛友微信交流群
DM小菜鸟 发表于 2015-2-26 15:24
1. 用tseries包里面的adf.test()

2. 可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用 ...
后续的脉冲响应和方差分解怎么做??

使用道具

7
怡然秋雨 发表于 2016-5-26 10:06:44 |只看作者 |坛友微信交流群
DM小菜鸟 发表于 2015-2-26 15:24
1. 用tseries包里面的adf.test()

2. 可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用 ...
后续的脉冲响应和方差分解怎么做??

使用道具

8
lliliiili 发表于 2017-4-27 21:30:18 |只看作者 |坛友微信交流群
请问你R语言怎么做VAR模型平稳性检验?

使用道具

9
lliliiili 发表于 2017-4-27 21:31:38 |只看作者 |坛友微信交流群
怡然秋雨 发表于 2016-5-26 10:06
后续的脉冲响应和方差分解怎么做??
请问你R语言怎么做VAR模型的平稳性检验?

使用道具

10
lliliiili 发表于 2017-4-27 21:44:55 |只看作者 |坛友微信交流群
请问你VAR模型平稳性怎么检验?是哪个命令?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 17:47