全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
18717 5
2007-11-12

NORMAL(seed);这个函数怎么用啊?

假如我要产生10000个标准正态分布随机数,程序怎写呢?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2007-11-12 10:41:00
生成10000个均值为M,方差为S的正态随机数
data norm;
do seed=1 to 10000;
x=M+sqrt(S)rannor(seed);
output;
end;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-11-12 21:34:00

LZ给的答案好像不对吧。seed应该是取0位或5位或6位的奇数。生成10000个均值为M,标准为S的正态随机数的程序:

data norm;
keep value;
do i=1 to 10000;
  value=M+S*normal(2367);
  output;
end;
run;

[此贴子已经被作者于2007-11-12 21:35:23编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-11-13 09:08:00

NORMAL Function

generates a pseudo-random normal deviate

NORMAL( seed)

where seed is a numeric matrix or literal. The seed argument can be any integer value up to 231-1.

The NORMAL function is a scalar function that returns a pseudo-random number having a normal distribution with a mean of 0 and a standard deviation of 1. The NORMAL function returns a matrix with the same dimensions as the argument. The first argument on the first call is used for the seed (or if that is 0, the system clock is used for the seed). This function is synonymous with the DATA step function RANNOR. The Box-Muller transformation of the UNIFORM function deviates is used to generate the numbers.

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-11-13 09:37:00
我那个说法里面seed用循环变量有问题,LZ用的时候改成固顶量吧,建议生成后正态性检验下,
我试了好几个,接过都不一样啊...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-11-13 13:14:00

感谢!我用的是固定的常数值,我查了一下书,说是可以直接取0或者5位、6位、7位奇数。

还有个问题

假如我现在有x1 x2 x3、、、x201,201个离散数据,我想生成1000000个随机数就在前面的201个数据中取,但必须使前面201个数据取到的机会向等。

能够直接写程序生成吗?还是得先生成均匀随机数,然后再匹配呢?

哎现在才知道自己又多菜~~~!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群