楼主: 大理公主
2933 18

[问答] 如何用GAUSS生成多变量分布? [推广有奖]

  • 1关注
  • 23粉丝

已卖:1份资源

博士生

82%

还不是VIP/贵宾

-

威望
0
论坛币
423 个
通用积分
2.0610
学术水平
41 点
热心指数
38 点
信用等级
28 点
经验
7523 点
帖子
254
精华
0
在线时间
462 小时
注册时间
2009-3-6
最后登录
2025-12-19

楼主
大理公主 发表于 2011-5-11 10:07:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如何用GAUSS生成多变量分布,如二元正态分布:(x,y)~N(0,0,1,1,0.6), 均值都为0,方差都为1,相关系数是0.6.
二维码

扫码加我 拉你入群

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

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

关键词:GAUSS USS Aus 多变量 如何用 GAUSS 数据生成

已有 1 人评分论坛币 学术水平 收起 理由
xuehe + 40 + 1 根据规定进行奖励

总评分: 论坛币 + 40  学术水平 + 1   查看全部评分

沙发
zhaomn200145 发表于 2011-5-11 18:58:12
这个分布最重要的就是要保证两个变量之间的相关系数为0.6。

藤椅
zhaomn200145 发表于 2011-5-11 19:00:25
所以在生成两个随机分布的时候要使用Cholesky分解的命令chol。

板凳
zhaomn200145 发表于 2011-5-11 19:24:40
一个简单的示例:
M=zeros(2,2);
M[1,1]=1;
M[1,2]=0.6; M[2,1]=0.6; M[2,2]=1;

L=chol(M);

T=1000;

s=5^12;
e=(rndns(T,2,s))*L;
e1=e[ .,1];
e2=e[ .,2];

w=corrx(e);
已有 1 人评分经验 论坛币 学术水平 收起 理由
xuehe + 40 + 40 + 1 根据规定进行奖励

总评分: 经验 + 40  论坛币 + 40  学术水平 + 1   查看全部评分

报纸
zhaomn200145 发表于 2011-5-11 19:28:23
e就是我们需要的多变量分布,看w的值就知道其相关系数为0.6。

地板
zhaomn200145 发表于 2011-5-11 19:33:48
大家如果有什么其他更简便的生成方法也可以来说说。{:3_48:}

7
大理公主 发表于 2011-5-12 09:14:42
谢谢zhaomn200145的构造,你的GAUSS好强啊。我再看看,有问题再请教

8
大理公主 发表于 2011-5-12 09:26:17
刚才做了一下,显示w; 为什么总是   
1.000      0.564
0.564      1.000
呢?
如果做模拟生成数据的话,它不改变,得不到模拟效果啊。

9
zhaomn200145 发表于 2011-5-12 09:39:20
你把s或t变一下,结果肯定就不一样了。

10
zhaomn200145 发表于 2011-5-12 09:40:57
另外e1与e2就是两个模拟生成的数据啊。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 12:20