楼主: VirtualBlue
4033 4

[原创博文] sas产生多维正态分布数据的问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

50%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
145 点
帖子
12
精华
0
在线时间
2 小时
注册时间
2008-9-8
最后登录
2011-2-6

楼主
VirtualBlue 发表于 2010-5-13 12:02:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好!
求助大家,我需要这样一个数据,即5维正态分布随机数
其中第一列数据服从N(33,10^2) ,第二列数据服从N(90,22^2),第三列N(110,56^2),第四列N(30,8^2),第五列N(10,14^2).而且已知其相关矩阵。
在sas中,怎么实现这个目地,恳求高人指教,十分感激!
二维码

扫码加我 拉你入群

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

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

关键词:多维正态分布 正态分布 求助大家 相关矩阵 随机数 正态分布 而且

回帖推荐

edumetric 发表于4楼  查看完整内容

用PROC IML写一个试试 /********************************************** ***********根据你的相关矩阵生成数据****** **********************************************/ DATA CORR_SIM (TYPE=CORR); _TYPE_='CORR'; INPUT x1-x5; CARDS; 1.00 . . . . .66 1.00 . . . .57 .55 1.00 . . .70 .69 .54 1.00 . .56 .59 .47 .64 ...

本帖被以下文库推荐

沙发
sushe1527 发表于 2010-5-13 12:58:02
data RV;
retain _seed_ 0;  
mu1=33;
sigma1=10;
mu2=90;
sigma2=22;
do _i_ = 1 to 1000;
Normal1 = mu1 + sigma1* rannor(_seed_);
Normal2 = mu2 + sigma2* rannor(_seed_);
output;end;
drop _i_ _seed_ mu1 mu2 sigma1 sigma2;
run;

藤椅
andy162639 发表于 2010-5-13 13:27:52
proc iml;
do i=1 to 1000;
mu={33,90};*均属向量;
sigma={10 0,0 22};*协方差阵;
call vnormal(result,mu,sigma,i);
end;
print result;
quit;
有人说,统计归根结底就是个P

板凳
edumetric 发表于 2010-5-13 14:52:04
用PROC IML写一个试试

/**********************************************
***********根据你的相关矩阵生成数据******
**********************************************/
DATA CORR_SIM (TYPE=CORR);
_TYPE_='CORR';
INPUT x1-x5;
CARDS;
1.00      .         .         .       .
  .66  1.00   .        .       .
  .57       .55  1.00    .       .
  .70   .69    .54  1.00    .
  .56   .59    .47    .64  1.00
  ;
RUN;
/******************************************************
*** 做因素分析找到 Factor Patter matrix **********
******************************************************/
PROC FACTOR DATA=CORR_SIM NFACTORS=5;  /** Factor analysis for extracting the FACTOR PATTERN MATRIX */
RUN;

/*************************************************************************
*** 用IML去做Monte Carlo simulation ****
*************************************************************************/
PROC IML;
FP={0.85188         0.04587        -0.30847        -0.33294         0.25729,
0.85186        -0.06014        -0.20368         0.46520         0.11323,
0.74929         0.60742         0.25954         0.01339        -0.04530,
0.87324        -0.15869        -0.13920        -0.09279        -0.42928,
0.78866        -0.38599         0.46073        -0.05283         0.11814};                  
*FP是你从因素分析中得到的Factor Pattern Matrix;

UNCORR_DATA=RANNOR(J(1000,5,12345));   /*** 生成不相关的5列正态分布数据 *****/

UNCORR_DATA=UNCORR_DATA`;               /****  矩阵转置  *****/

CORR_DATA=FP*UNCORR_DATA;            

CORR_DATA=CORR_DATA`;


X1=CORR_DATA[,1]*10+33;
X2=CORR_DATA[,2]*22+90;
X3=CORR_DATA[,3]*56+100;
X4=CORR_DATA[,4]*8+30;
X5=CORR_DATA[,5]*14+10;

CORR_DATA=X1||X2||X3||X4||X5;

CREATE CORRDATA FROM CORR_DATA [COLNAME={X1 X2 X3 X4 X5}];
APPEND FROM CORR_DATA;

/*******************************************************
*****  检查结果看看  *********************
*******************************************************/
PROC CORR DATA=CORRDATA;
VAR X1-X5;
RUN;
PROC MEANS DATA=CORRDATA;
VAR X1-X5;
RUN;


注:不知道有没有更简洁一点的方法。
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

报纸
mayston 发表于 2010-5-13 19:30:59
感谢edumetric大侠!
01001000100001000001000000100000001000000001000000000100000000001

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

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