SAS中文论坛
标题:
求助:为什么sas多次产生的随机数是没有变化的
[打印本页]
作者:
shiyiming
时间:
2009-6-6 22:10
标题:
求助:为什么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;
作者:
shiyiming
时间:
2009-6-6 23:03
标题:
Re: 求助:为什么sas多次产生的随机数是没有变化的
改变SEED为0,这将取决SAS时钟变化,因而你的数据集也将变化。缺点是无法跟踪或者复制同样的数据。
作者:
shiyiming
时间:
2009-6-12 02:35
标题:
Re: 求助:为什么sas多次产生的随机数是没有变化的
计算机产生的是伪随机数,是基于seed产生的。更具同一个seed,产生的伪随机数序列是一样的。可以用于debug。
改变seed,就能改变产生的结果。
作者:
shiyiming
时间:
2009-6-14 22:02
标题:
Re: 求助:为什么sas多次产生的随机数是没有变化的
说的不错。只是seed0不同。
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2