全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3323 4
2012-11-14
如何用SAS产生服从多项分布的随机数?请各位高手指教!非常感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-15 10:51:15
data a (type=corr);
_type_='corr';
input x1-x3;
cards;
1   .   .
.3  1   .
.5 .4   1
;
proc factor n=3;
run;

proc iml;
f={    0.78114        -0.46758         0.41375,
    0.70560         0.68785         0.17028,
    0.83518        -0.14380        -0.53084 };
data=rannor(j(5000,3,0));
z = data * t(f);     /*impose inner correlation*/
x1=z[,1]*.1 + 5; /*linear transformation*/
x2=z[,2]*.2 + 3;
x3=z[,3];
z=x1||x2||x3;
create dta1 from z [colname={x1 x2 x3}];
append from z;
quit;

proc corr data=dta1;
var x1 x2 x3;
run;
二维码

扫码加我 拉你入群

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

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

2012-11-16 00:29:36
davil2000 发表于 2012-11-15 10:51
data a (type=corr);
_type_='corr';
input x1-x3;
非常感谢你的回复,不过我想得到的是服从一个无序多分类的多项分布随机数,不知道你是否知道呢?
二维码

扫码加我 拉你入群

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

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

2012-11-16 03:11:36
x=rand('TABLE',0.2,0.3,0.4,0.1);
产生数字1,2,3,4 with probability as above
Jingju
二维码

扫码加我 拉你入群

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

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

2012-11-16 08:37:06
jingju11 发表于 2012-11-16 03:11
x=rand('TABLE',0.2,0.3,0.4,0.1);
产生数字1,2,3,4 with probability as above
Jingju
非常感谢!我用这个程序可以产生多项分布
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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