楼主: 柳如清风
1432 3

[原创博文] 求高手,iml中如何做协整检验 [推广有奖]

  • 0关注
  • 1粉丝

大专生

15%

还不是VIP/贵宾

-

威望
0
论坛币
15 个
通用积分
0
学术水平
2 点
热心指数
1 点
信用等级
0 点
经验
404 点
帖子
32
精华
0
在线时间
47 小时
注册时间
2012-3-7
最后登录
2021-3-24

楼主
柳如清风 发表于 2012-10-16 09:55:39 |AI写论文
3论坛币
下面的代码产生随机数据,对1900-1999年的数据做一次协整检验。
我现在要滚动地每十年做一次协整检验,即1900-1909,1901-1910,1902-1991...,1990-1999年都分别做协整,如果每次先拆分数据集再计算,那么数据量大了用proc varmax会很慢,所以想用iml做,但没有找到相应的函数,求高手帮忙!{:soso_e196:}{:soso_e196:}
当然,不用iml也可以,只要不会很慢,因为我的数据量比较大。
  1. proc iml;
  2.    sig = 100*i(2);
  3.    phi = {-0.2 0.1, 0.5 0.2, 0.8 0.7, -0.4 0.6};
  4.    call varmasim(y,phi) sigma=sig n=100 initial=0
  5.                         seed=45876;
  6.    cn = {'y1' 'y2'};
  7.    create simul2 from y[colname=cn];
  8.    append from y;
  9. quit;
  10. data simul2;
  11.    set simul2;
  12.    date = intnx( 'year', '01jan1900'd, _n_-1 );
  13.    format date year4. ;
  14. run;
  15. proc varmax data=simul2;
  16.    model y1 y2 / p=2 cointtest=(sw);
  17. run;
复制代码

关键词:协整检验 求高手 Initial varmax append initial sigma 如何

回帖推荐

数据分析师3K 发表于4楼  查看完整内容

IML会让矩阵直接进入缓存 不仅容量有限、速度缓慢 在计算大矩阵时容易产生溢出错误 数据集拆开可以通过宏编码实现

沙发
数据分析师3K 发表于 2012-10-16 16:41:08
还是使用VARMA吧!IML模块的计算效率较低,根本就不适合计算大的矩阵(数据)。如果有闲暇,可以把R-project的代码用IML语言翻译过来 呵呵

藤椅
柳如清风 发表于 2012-10-16 17:30:05
数据分析师3K 发表于 2012-10-16 16:41
还是使用VARMA吧!IML模块的计算效率较低,根本就不适合计算大的矩阵(数据)。如果有闲暇,可以把R-projec ...
如果用varmax,需要将数据集一个个拆分开,运行速度也不会快吧

板凳
数据分析师3K 发表于 2012-10-16 17:35:13
柳如清风 发表于 2012-10-16 17:30
如果用varmax,需要将数据集一个个拆分开,运行速度也不会快吧
IML会让矩阵直接进入缓存
不仅容量有限、速度缓慢
在计算大矩阵时容易产生溢出错误

数据集拆开可以通过宏编码实现

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 21:22