楼主: fuyini1130
8924 6

[问答] R语言VAR模型平稳性检验求助! [推广有奖]

  • 3关注
  • 0粉丝

高中生

45%

还不是VIP/贵宾

-

威望
0
论坛币
2864 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
209 点
帖子
15
精华
0
在线时间
42 小时
注册时间
2012-4-18
最后登录
2019-3-25

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
dat<-read.csv(file="rawdata.csv")

var.mod1<-VAR(dat[,2:4],p=1,type="c")
var.mod2<-VAR(dat[,2:4],p=2,type="c")
var.mod3<-VAR(dat[,2:4],p=3,type="c")
var.mod4<-VAR(dat[,2:4],p=4,type="c")

AIC(var.mod1,var.mod2,var.mod3,var.mod4)

BIC(var.mod1,var.mod2,var.mod3,var.mod4)

var.mod<-var.mod3
summary(var.mod)

Rcode如上,现在就想请教各位大神如何检验我的var模型的平稳性,自己试了ur.df等都返回Error messages,该怎么办啊T T求助求助,不知道这个版还有没有好心人能帮一下T T
二维码

扫码加我 拉你入群

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

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

关键词:平稳性检验 VAR模型 AR模型 平稳性 VaR 模型

沙发
fuyini1130 发表于 2015-12-22 14:52:47 |只看作者 |坛友微信交流群
自己无限顶贴,一定会有大神帮忙的!

使用道具

藤椅
fuyini1130 发表于 2015-12-22 15:00:05 |只看作者 |坛友微信交流群
再顶一个

使用道具

板凳
fuyini1130 发表于 2015-12-22 15:14:45 |只看作者 |坛友微信交流群
我自己解决了。。。

使用道具

报纸
aiwuyv 发表于 2016-12-16 16:11:22 |只看作者 |坛友微信交流群
我遇到了相同的问题,请问您是怎么处理的?

使用道具

地板
aiwuyv 发表于 2016-12-16 16:11:41 |只看作者 |坛友微信交流群
我遇到了相同的问题,请问您是怎么处理的?

使用道具

7
dfzxcsw 发表于 2022-4-3 22:50:56 |只看作者 |坛友微信交流群
如果是打算绘制像Eviews或者stata里的单位圆来判断VAR系统的稳定性,可以使用vars包里的roots()函数计算出伴随矩阵的特征值,就可以进行判断了。如果打算绘制单位圆,可使用如下的自编函数实现。

### VAR系统稳定性判别图的绘制
##compute the unit roots of VAR model
varstability <- function(x) {
    # Calculate the eigenvalues & Modulus of the VAR model.
    Eigenvalue<-roots(x, modulus = FALSE)
    Modulus<-roots(x, modulus = TRUE)
    res <- data.frame(Eigenvalue, Modulus)
    class(res) <- c("varstability", "data.frame")
    return(res)
}


## plot VAR stability
plot.varstability <- function(x, ...) {
    x1 <- seq(-1,1,length=1000)
    y1 <- sqrt(1 - x1^2)
    y2 <- -sqrt(1 - x1^2)
   
    dfroots <- data.frame(Real=Re(x$Eigenvalue),
                          Imaginary=Im(x$Eigenvalue))
   
    limits <- max(abs(dfroots))
   
    if (limits < 1) {
        limits <- c(-1,1)
    } else {
        limits <- c(-ceiling(limits), ceiling(limits))
    }
   
    ggplot2::ggplot(data.frame(x=x1,y1=y1,y2=y2)) + #Using the results from earlier
        ggplot2::geom_hline(ggplot2::aes(yintercept=0)) +
        ggplot2::geom_vline(ggplot2::aes(xintercept=0)) +
        ggplot2::geom_line(ggplot2::aes(x=x,y=y1)) + # top of circle
        ggplot2::geom_line(ggplot2::aes(x=x,y=y2)) +
        ggplot2::geom_point(ggplot2::aes_(x=~Real, y=~Imaginary),
                            dfroots, size = 2,col="blue") +
        ggplot2::scale_y_continuous("Imaginary", limits=c(-1,1)) +
        ggplot2::scale_x_continuous("Real", limits=c(-1,1)) + ggplot2::ggtitle("Roots of the companion matrix")
   
}

var_stab<-varstability(out.var2)
plot(var_stab)


可以绘制出单位圆如下,其中out.vars是使用VAR()函数生成的VAR对象。

VAR模型稳定性单位圆.png (5.17 KB)

VAR模型稳定性单位圆.png

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Bulima + 5 + 5 + 5 精彩帖子

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

使用道具

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

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

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

GMT+8, 2024-4-30 16:36