楼主: harlon1976
12883 11

如何产生多维正态分布随机数 [推广有奖]

  • 2关注
  • 27粉丝

版主

院士

54%

还不是VIP/贵宾

-

威望
1
论坛币
33781 个
通用积分
135.1232
学术水平
25 点
热心指数
39 点
信用等级
17 点
经验
59249 点
帖子
1928
精华
0
在线时间
4352 小时
注册时间
2005-8-27
最后登录
2025-12-9

楼主
harlon1976 发表于 2012-3-13 08:09:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如何产生多维正态分布随机数:i期望为任意一个向量,协方差矩阵也是任意指定的正定矩阵,请高手指点SAS的IML程序怎么编写?
二维码

扫码加我 拉你入群

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

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

关键词:多维正态分布 正态分布 随机数 协方差矩阵 高手指点 正态分布 如何

回帖推荐

davil2000 发表于7楼  查看完整内容

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*/ x ...

本帖被以下文库推荐

沙发
小甲克虫 在职认证  发表于 2012-3-13 08:21:19
SAS 不会,MATLAB很简单。

藤椅
harlon1976 发表于 2012-3-13 08:27:39
小甲克虫 发表于 2012-3-13 08:21
SAS 不会,MATLAB很简单。
思想应该是相同的,你不妨说说看。

板凳
davil2000 发表于 2012-3-13 08:31:35
很久以前做过类似的。应该是先对协差阵做一个分解后,再用得到的新矩阵产生多维随机数。
R是万能的,SAS是不可战胜的!

报纸
rosen123 发表于 2012-3-13 08:35:20
标准状态 x=randm(0,1)

R=mvnrnd(mu,sigma,m) 生成n维正态分布数据。mu为n维均值向量,sigma为n 阶协方差矩阵, mxn矩阵 每行代表一个随机数; 矩阵, 阶协方差矩阵,R为mxn矩阵,每行代表一个随机数

地板
harlon1976 发表于 2012-3-13 08:44:33
rosen123 发表于 2012-3-13 08:35
标准状态 x=randm(0,1)

R=mvnrnd(mu,sigma,m) 生成n维正态分布数据。mu为n维均值向量,sigma为n 阶协方差 ...
proc iml;
mu={1, 2, 3};
sigma=i(3);
z=mvnrnd(mu,sigma,10);
print  z mu sigma ;
这个程序中的z怎么没有结果呢?请解释一下,谢谢!

7
davil2000 发表于 2012-3-13 09:25:58
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;
已有 4 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
bakoll + 3 + 3 精彩帖子
harlon1976 + 100 + 5 + 5 热心帮助其他会员
大数据之魂 + 100 + 5 + 5 + 5 对论坛有贡献
数据分析师3K + 100 + 100 + 3 + 3 + 3 我很赞同

总评分: 经验 + 203  论坛币 + 203  学术水平 + 13  热心指数 + 13  信用等级 + 8   查看全部评分

R是万能的,SAS是不可战胜的!

8
yugao1986 发表于 2012-3-13 09:46:44
检索了一下,这篇文章可以搞定你的问题:http://analytics.ncsu.edu/sesug/2006/CC15_06.PDF
已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
shanshantz + 50 + 5 + 5 + 5 感谢帮助~~~

总评分: 经验 + 50  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

三人行必有我师

9
harlon1976 发表于 2012-3-13 09:56:24
多谢多谢啊!

10
bobguy 发表于 2012-3-13 10:57:25
Take a look my post about Cholesky decomposition algorithm.

Here is the link,
https://bbs.pinggu.org/thread-1129334-1-1.html

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 11:57