楼主: 944536616@qq.co
3644 2

关于蒙特卡洛模拟实验 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
3.6794
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
3754 点
帖子
126
精华
0
在线时间
165 小时
注册时间
2016-1-18
最后登录
2023-10-19

5论坛币
设置不同的样本量10 20 50 100,分别抽样2000次,假设每个样本的总体相关系数为0,来探究影响样本中变量间相关系数变化的原因


LIBNAME CORR 'C:\Users\Administrator\Desktop';
%LET NO_SMPL=2000;   *** 记录每类样本大小情况下,其随机样本个数的宏变量;

%MACRO CORR_RDM;
%DO A = 1 %TO 4;          *** 四类样本大小情况: 10, 20, 50, 100;
  %IF &A=1 %THEN %DO; %LET SMPLSIZE=10;  %END;
  %IF &A=2 %THEN %DO; %LET SMPLSIZE=20;  %END;
  %IF &A=3 %THEN %DO; %LET SMPLSIZE=50;  %END;
  %IF &A=4 %THEN %DO; %LET SMPLSIZE=100; %END;

%DO B=1 %TO &NO_SMPL;   ***每类样本大小情况下,生成&NO_SMPL个随机样本;

DATA DAT;               ***生成两个随机变量,其相关性为零;
  DO I=1 TO &SMPLSIZE;
    X=RANNOR(0);
    Y=RANNOR(0);
    OUTPUT;
  END;run;
PROC CORR DATA=DAT NOPRINT OUT=PEARSON;  ***对每个随机样本,计算两个变量的相关系数,并保存在数据集PEARSON中;
  VAR X Y;
RUN;
DATA PEARSON1; SET PEARSON; ***将刚才得到的相关系数数据集增加样本大小这个变量;
  SMPLSIZE=&SMPLSIZE;
  IF _NAME_='X';
  CORR=Y;
  KEEP CORR SMPLSIZE; ***仅保留相关系数和样本大小两个变量;
PROC APPEND BASE=CORR.COR_RDM; ***将得到的相关系数和样本大小的数据集全部放入CORR.COR_RDM数据集中;
%END;
%END;
%MEND CORR_RDM;
%CORR_RDM;
RUN; QUIT;
本人的运行结果怎么又26116条记录,而不是8000条记录呢,求各位大神指导



关键词:蒙特卡洛模拟 蒙特卡洛 蒙特卡 pearson Desktop 蒙特卡洛 Desktop Users 记录 样本
沙发
佳佳最美 发表于 2018-8-16 09:44:17 |只看作者 |坛友微信交流群
什么意思?

使用道具

藤椅
whymath 发表于 2018-8-16 22:18:42 |只看作者 |坛友微信交流群
8000个观测,不多不少。
楼主是不是在测试过程中得到的结果,你使用了append过程,可能不小心多加了很多过程数据进去。

捕获.PNG
SASUSER

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 21:52