h******e 发帖数: 1791 | 1 比如用ranuni给两个变量赋值,每个给100个number,如何做是这两个变量相互独立?
谢谢。 |
D******n 发帖数: 2836 | 2 dont do anything, then they are independent
【在 h******e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 比如用ranuni给两个变量赋值,每个给100个number,如何做是这两个变量相互独立? : 谢谢。
|
h******e 发帖数: 1791 | 3 就是说,用不同的seed就行了?比如用1去赋值x,用2去赋值y?
【在 D******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : dont do anything, then they are independent
|
D******n 发帖数: 2836 | 4 是啊
【在 h******e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 就是说,用不同的seed就行了?比如用1去赋值x,用2去赋值y?
|
z**k 发帖数: 378 | 5 不是,seed一定要设为0,否则生成的是固定序列。ranuni(1)或者ranuni(2)这种是debug时用
的,真正run程序的时候一定要用ranuni(0)。
data ran;
do i = 1 to 100;
x = ranuni(0);
y = ranuni(0);
output;
end;
run;
ranuni(.)自动会保证Independence.
【在 h******e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 就是说,用不同的seed就行了?比如用1去赋值x,用2去赋值y?
|
h******e 发帖数: 1791 | 6 如果x和y在两个不同的data step里赋值,然后再合并,还能这样干吗?
debug时用
【在 z**k 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 不是,seed一定要设为0,否则生成的是固定序列。ranuni(1)或者ranuni(2)这种是debug时用 : 的,真正run程序的时候一定要用ranuni(0)。 : data ran; : do i = 1 to 100; : x = ranuni(0); : y = ranuni(0); : output; : end; : run; : ranuni(.)自动会保证Independence.
|
z**k 发帖数: 378 | 7 可以。ranuni(0)表示seed也是random的,你担心的太多了。
【在 h******e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 如果x和y在两个不同的data step里赋值,然后再合并,还能这样干吗? : : debug时用
|
B******y 发帖数: 9065 | 8 呵呵,看来你对seed没有真正的了解。SAS不可能产生真正的Random Number,而只是
pseudo-random number,即使你用0做seed,也只是2^31-1个整数中的一个,其取决于
你运行程序那一刻的时间而定,你换个时间重新运行,看上去和原来不一样,但其实只
是重新挑了一个另一个整数而已。选择一个确定的正整数做seed可以方便别人复制你的
结果来检验你的程序的正确性,取0做seed和你每次任意换一个整数没有本质区别。
【在 z**k 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 可以。ranuni(0)表示seed也是random的,你担心的太多了。
|
t*d 发帖数: 1290 | 9 Glad to know. Thanks!
【在 B******y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 呵呵,看来你对seed没有真正的了解。SAS不可能产生真正的Random Number,而只是 : pseudo-random number,即使你用0做seed,也只是2^31-1个整数中的一个,其取决于 : 你运行程序那一刻的时间而定,你换个时间重新运行,看上去和原来不一样,但其实只 : 是重新挑了一个另一个整数而已。选择一个确定的正整数做seed可以方便别人复制你的 : 结果来检验你的程序的正确性,取0做seed和你每次任意换一个整数没有本质区别。
|
j*****e 发帖数: 182 | 10 You should not use zero as the seed, because you will not be able to
duplicate the result. When you use zero, sas is using its internal clock to
choose a number. When you choose zero as the seed at differnt time, the
random number is different.
I often generate a seed by close my eye and punch the number key pad. Or,
you can use the random number table. Always keep a record your random number
, otherwise, your result is not stable.As long as you choose the seed
randomly, you will be fine.
Also, |
z**k 发帖数: 378 | 11 。。。好严苛。。。
不过我听说日本人生产了一种机器,通过测电子绕核旋转的^*%*&%&^*&^来产生真正的
随机数
【在 B******y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 呵呵,看来你对seed没有真正的了解。SAS不可能产生真正的Random Number,而只是 : pseudo-random number,即使你用0做seed,也只是2^31-1个整数中的一个,其取决于 : 你运行程序那一刻的时间而定,你换个时间重新运行,看上去和原来不一样,但其实只 : 是重新挑了一个另一个整数而已。选择一个确定的正整数做seed可以方便别人复制你的 : 结果来检验你的程序的正确性,取0做seed和你每次任意换一个整数没有本质区别。
|