ziyenano 发表于 2012-12-31 16:13
计算机生成的随机数,都是伪随机数,是根据数字生成的随机数。
通俗的讲就是每个seed对应一列随机数,不同 ...
十分感谢您,谢谢!
那我写的程序有错误吗?运算结果和理论值差距有点大!具体程序如下:
产生自相关系数为0.99的ar(1)的序列
%macro simu(r);
%do t=1 %to &r;data a&t;y=0;do i=1 to 10000;x=normal(&t);y=0.99*y+x;output;end;drop i x;;run;%end;
%mend simu;
%simu(60);
对每个数据集的变量y每6个为一组,计算6个数的均值
%macro exp(r);%do i=1 %to &r;PROC EXPORT DATA= a&i OUTFILE= "E:\学习资料\paper simulation\&i..txt" DBMS=TAB REPLACE;PUTNAMES=no;run;
data group&i;infile "E:\学习资料\paper simulation\&i..txt";input y1-y6;avg=mean(of y1-y6);stand=std(of y1-y6);run;%end;
%mend exp;
%exp(60);
求数据集分组后均值的均值
%macro std(r);
%do i=1 %to &r;proc means data=group&i mean std;var avg;output out=directlystd&i mean=means std=stdxbar;run;%end;
%mend std;
%std(60);
60个数据集均值的评均
data directlystd;set directlystd1-directlystd60;run;
proc means data=directlystd;var means stdxbar;run;
输出结果如下:
MEANS PROCEDURE
变量 N 均值 标准差 最小值 最大值
-----------------------------------------------------------------------------
means 60 0.2144988 1.0364777 -2.1021175 3.5494270
stdxbar 60 6.8842706 0.4956768 6.1270661 8.2991823
-----------------------------------------------------------------------------
而means的理论值应该是0 啊,差的有点大!求解?是不是程序不对那?再次谢谢!