SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 607|回复: 3
打印 上一主题 下一主题

求助:为什么sas多次产生的随机数是没有变化的

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-6-6 22:10:59 | 只看该作者

求助:为什么sas多次产生的随机数是没有变化的

问题是这样的,我先通过模拟随机数,产生了一组随机数,然后通过计算组成一组时间序列数据,
可是当我再次调用这个函数的时候产生的随机数竟然还是一样的,我就一直不知道什么原因了
我的程序如下

%MACRO GARCH(omega1=.5,alpha1=.2,beta1=.2,omega2=.5,alpha2=.2,beta2=.2,outfile=garch11,t1=1000,t2=1000);
Data &outfile;
  y=0;h=0;
  Do time=-50 to &t1;
     h=&omega1+&alpha1*y**2+&beta1*h;
     x=rannor(12346);
     y=x*sqrt(h);
     if time>0 then output;
  end;
  Do time=-50+&t1+1 to &t1+&t2;
     h=&omega2+&alpha2*y**2+&beta2*h;
         x=rannor(12346);
     y=x*sqrt(h);
     if time>&t1 then output;
  end;
Run;
%mend garch;
%garch;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-6-6 23:03:01 | 只看该作者

Re: 求助:为什么sas多次产生的随机数是没有变化的

改变SEED为0,这将取决SAS时钟变化,因而你的数据集也将变化。缺点是无法跟踪或者复制同样的数据。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-6-12 02:35:14 | 只看该作者

Re: 求助:为什么sas多次产生的随机数是没有变化的

计算机产生的是伪随机数,是基于seed产生的。更具同一个seed,产生的伪随机数序列是一样的。可以用于debug。
改变seed,就能改变产生的结果。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-6-14 22:02:48 | 只看该作者

Re: 求助:为什么sas多次产生的随机数是没有变化的

说的不错。只是seed0不同。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 15:53 , Processed in 0.261176 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表