完整word版各种常见随机化的SAS实现

上传人:鲁** 文档编号:543303087 上传时间:2022-10-20 格式:DOCX 页数:7 大小:31.53KB
返回 下载 相关 举报
完整word版各种常见随机化的SAS实现_第1页
第1页 / 共7页
完整word版各种常见随机化的SAS实现_第2页
第2页 / 共7页
完整word版各种常见随机化的SAS实现_第3页
第3页 / 共7页
完整word版各种常见随机化的SAS实现_第4页
第4页 / 共7页
完整word版各种常见随机化的SAS实现_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《完整word版各种常见随机化的SAS实现》由会员分享,可在线阅读,更多相关《完整word版各种常见随机化的SAS实现(7页珍藏版)》请在金锄头文库上搜索。

1、各种常见随机化的 SAS 实现在前两期的讲座中我们介绍了实验设计的三要素与四原则1,本期将结合实例重点阐述 实验设计中如何实现各种常见的随机化。随机化体现在如下三个方面2:抽样随机:每一 个符合条件的实验对象参加实验的机会相同,即总体中每个个体有相同的机会被抽到进入样 本之中。它保证所得到的样本具有代表性,使实验结论具有普遍意义;分组随机:每个实 验对象分配到不同组(通常为对照组、不同处理组)的机会相同。它保证大量难以控制的非 处理因素在对比组间尽可能均衡一致,以提高各组间的可比性;实验顺序随机:每个受试 对象先后接受处理的机会相等,它使实验顺序的影响也达到均衡。本期主要就如何用 SAS 实现

2、随机抽样和随机分组进行阐述。已知编号为1-20的 20例病人的基本信息见表1 。本文将以表1数据为例,阐述随机化 的 SAS 实现。表1 20例病人的基本信息病人编号12345678910性别FFMFFFMMMM年龄60643757413160645816病人编号11121314151617181920性别MMFFFFFMFF年龄586323372033394049421. 随机抽样目前在 SAS/STAT 模块中,有一个与调查设计有关的 SURVEYSELECT 过程。该过程可用来实现各种随机抽样,包括:单纯随机抽样、系统随机抽样、分层抽样、无限随机抽样 (有替换)、序贯随机抽样、以及按规模

3、大小成比例概率抽样(PPS)等。1.1 简单随机抽样的实现 简单随机抽样,就是从总体中不加任何分组、划类、排队等,完全随机地抽取受试对象。特点是每个个体(样品)被抽中的概率相等,各样品之间完全独立,彼此间无一定的关联性 和排斥性。简单随机抽样是其他各种抽样形式的基础。通常只是在总体样品之间差异程度较 小和数目较少时,采用这种方法。例 1:从编号为1 到 20 的人中用简单随机化的方法抽取10 名作为受试者。 用 SAS9.1.3 实现简单随机抽样的程序如下:data a;ods html;input id sex$ age;proc surveyselect data=acards;metho

4、d=srs n=10 out=b;1 F 60run;2 F 64proc print data=b;run;20 F 42ods html close;run;程序说明:首先,创建SAS数据集名为a。然后,调用SURVEYSELECT过程进行随机 抽样,并指定一些抽样选项,其中data二”指定输入数据集,用于指定抽样框;“method=”用于指定随机抽样的方法,srs表示单纯随机抽样;“n= ”用于指定抽样大小(此处可以用 “rate二”来替换,用于指定抽样率);“out= ”用于指定输出数据集,它包含所有被抽到的 样本(可以添加选项“rep二number ”来规定重复抽样的次数,如“rep

5、=2”命令系统同时抽 取2份样本)。最后用PROC PRINT把输出数据集b在输出窗口中显示出来。命令ods html 和ods html close用于把程序运行结果以网页格式保存下来。输出结果如下:Selection Method Simple Random SamplingInput Data SetARandom Number Seed 937359000Sample Size10Selection Probability0.5Sampling Weight2Output Data SetB以上是本次单纯随机抽样的基本信息,抽样方法是简单随机抽样(Simple Random Sampl

6、ing)。由于未指定SEED二选项来规定初始种子,来产生随机数字流。系统使用默认 种子作为初始种子(SEED=937359000),如果将来想重新抽取与本次完全相同的样本,可 以在抽样时指定同一种子。抽取的样本大小是10。抽样概率(Selection Probability)是指样本 被抽中的概率,此处为0.5。对于无分层的单纯随机抽样,样本的抽样概率是一致的。抽样 权重(Sampling Weight)是抽样概率的倒数,反映样本信息量的大小。Obsidsexage15F4126F31310M16411M58512M63613F23715F20816F33919F491020F42以上是PRO

7、C PRINT命令显示的输出数据集,包括所有被抽中的样本。第二列id显示 了被抽中的病人的编号。1.2分层随机抽样的实现 分层抽样,先依据一种或几种特征将总体分为若干个子总体,每个子总体称作一个层 然后从每层中随机抽取一个子样本,这些子样本合起来就是总体的样本。分层抽样所得的样 本具有较好的代表性,抽样误差较小。例2:将表1中的20例病人以性别为分层因素,抽取10名受试者。 用SAS9.1.3实现分层随机抽样的程序如下:ods html;strata sex;proc sort data=a;run;by sex;proc print data=b;run;run;proc surveysel

8、ect data=a method=srsods html close;n=(6 4) out=b;程序说明:数据步与例1相同,此处省略。过程步,SORT过程用于将数据集a排序, by语句指明按性别进行排序,此处排序方式为先F后M。SURVEYSELECT过程与例1的不 同之处在于选项n=(6 4),规定每层中得抽样大小,若每层抽样大小相同,可写为n=n1 的形式。此外,还多了一个STRATA语句,该语句用于指定分层变量。主要SAS输出结果如下:ObssexidageSelectionProbSamplingWeight1F4570.522F6310.523F13230.524F15200.5

9、25F19490.526F20420.527M3370.528M8640.529M11580.5210M18400.521.3 系统随机抽样的实现系统抽样,先按照某种顺序将总体中的个体(样品)从1N相继编号,并计算抽样距 离K=N/n。式中N为总体样品总数,n为样本容量。然后在1K中抽一随机数i,作为样 本的第一个被抽样品,接着取i+K, i+2K,,i+(n-1)K,直至抽够n个样品为止。值得注 意的是,当总体的被观察样品按顺序有周期趋势或增加(减少)趋势时,容易产生偏倚。例3:将表1中的20例病人按系统随机抽样的方法抽取5名受试者。 用SAS9.1.3实现系统随机抽样的程序如下:ods h

10、tml;run;proc surveyselect data=a method=sysproc print data=b;n=5 out=b;run;control id;ods html close;程序说明:数据步与例1相同,此处省略。SURVEYSELECT过程与例1的不同之处在 于选项method=sys,规定抽样方法为系统随机抽样法。此外,还多了一个control语句,该 语句用于指定排序的变量。SAS 输出结果如下:Obssexageid1F5742M6483M63124F33165F42201.4 整群抽样的实现整群抽样是先将总体分成若干群,从中随机抽取几个群;抽中群内的全部个体

11、(样品) 组成样本。可将整群抽样转化为简单随机抽样。例如,从10 班随机抽取5 个班作为受试对 象,可看做从10个个体中随机抽取5 个,即为简单随机抽样。2. 随机分组利用SAS软件实现随机分组的途径有很多,目前比较常用的是SAS/STAT模块的PLAN 过程,它可用于构建各种常见的试验设计并对设计方案进行随机化,也可用于产生数字的排 列组合表。笔者将介绍如何利用 PLAN 过程来实现两组和多组的随机分组。2.1 完全随机化的实现 完全随机化,直接对受试对象进行随机化分组,常通过掷硬币或随机数字表,或用计算 机产生随机数来进行随机化,在事先或者实施过程中不作任何限制和干预或调整。分组后各 组受

12、试对象的例数不一定相等。例4:将表1 中的 20例病人随机分为2 组。用 SAS9.1.3 实现简单随机分组的程序如下proc plan seed=20101216;/第一步*/data e;第四步*/factors a=20;set c;output out=sheji;group2=group;run;patient2=patient;data b c;第二步*/keep group2 patient2;set sheji;run;patient= n ;data f;第五步*/if a=10 then do; group= A;merge d e;output b; end;run;el

13、se do; group=B;ods html;output c;end;proc print noobs;/第六步*/run;run;data d;第三步*/ods html close;set b;group1=group;patient1=patient;keep group1 patient1;run;程序说明:第一步,调用PLAN过程产生20个随机排列数,并把结果输出至数据集sheji 中,选项seed二,规定产生随机数的种子。第二步,对数据集sheji进行操作,把病人按随机 排列数进行分组,随机数小于等于10的进入A组,其余进入B组,并将结果分别保存至数 据集b和c中。第三步和第四步,分别将数据集b、c中的group改为groupl、group2,将 patient改为patient1和patient2,生成新的数据集d和e。最后把数据集d和e合并为新的数 据集f,并通过PRINT过程将随机分组的结果展现出来。SAS输出结果如下:group1 patient1A4A5A7A8group2 patient2B1B2B3B6group1patient1group2patient2A10B9A11B14A12B15A13B16A17B18A19B20例 5 将这 20 例病人随机分为 4 组。用 SAS9.1.3 实现简单随机分组的程序如下3:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号