计算机 随机分组的方法,最小化随机分组方法介绍及其SAS实现

随机分组主要目的是保证临床试验组间基线特征分布均衡,以最大限度控制干扰因素影响,更科学地估计干预效应。随机分组方法可分为简单随机分组、区组随机分组、分层随机分组和动态随机分组。简单随机分组和区组随机分组较为常见,但未对非处理因素加以限制,样本量少时难以保证组间特征的均衡。分层随机分组能较好实现分层因素的组间均衡,但不能控制较多因素。如考虑4个分层因素,每个因素3水平,则需分成34=81层。分层数量多不仅难于实施,更可能出现某些层内无病例的情况,无法达到均衡分层因素的目的。

动态随机分组指研究对象被分到各组的概率随一定条件而动态调整的方法,最小化法(minimization)是其中较为常见的一种。最小化法自提出以来就备受关注,被誉为临床试验的“铂金标准”[1]。其均衡能力强,在小样本及有多个重要预后因素的临床试验中优势尤为突出。如在孕产期疾病治疗的临床试验中,产妇的年龄、孕周、孕产史等因素对治疗效果影响较大,而试验例数往往有限,采用最小化法较其他方法更能均衡各组预后因素分布,提高研究效率。尽管优势明显,最小化法应用并不广泛,可能与其原理不如简单随机分组和区组随机分组直观易解、实施过程相对繁复有关。国内关于最小化法的研究多局限于阐述其思想原理及优缺点[2-3],对其如何实施应用的介绍少见。本文将通过模拟实例阐述最小化法基本原理及运算过程,并编制了专用SAS宏程序,供研究者在临床试验中参考使用。

资料与方法

通过查阅国内外相关文献,综述最小化法的基本原理及其运算过程。利用一个简单的模拟实例说明最小化法的具体运算过程,编制专用的SAS宏程序,并给出模拟实例的分组结果作为参考。

模拟实例为某两组设计的子痫前期药物临床试验,已知产妇年龄(Age)、治疗时孕周(GA)、既往子痫前期病史(History)三个非处理因素对结局有重要影响,希望其分布在各组趋于均衡。已入组的14个病例的分组结果(Group)如表1所示。现第15例患者为32岁,治疗时孕周为33周,无既往子痫前期病史。

表1前15个病例的预后因素水平及分组情况

Table 1The levels of prognostic factors and treatment assignments of the first 15 patients

697c09d64431cfe97af224c131830e6e.jpg

CaseAgeGAHistoryGroup1220A2110B3211A4220A5310A6220A7211B8210B9320B10210B11220A12210B13110B14311A15∗210

Value label:Age (1=“≤19 years”, 2=“1934 years”); GA (1=“<34 weeks”, 2=“≥34 weeks”); History (1=“Yes”, 0=“No”).*The variable “Group” was empty in the 15th case, indicating that the assignment result of this case was unknown.

结 果

一、方法综述

最小化法由Taves[4]于1974年提出并命名。其基本原理是:在试验开始前确定对结果有重要影响的预后因素,根据已入组病例预后因素的组间分布情况,将新病例分到使组间预后因素分布差异最小的一组中;当预后因素组间分布无差异时,新病例按等概率随机分配。

Pocock和Simon[5]于1975年用参数形式介绍了更为广义的最小化法。它根据三个参数确定病例的分组:因素不平衡函数(D)、总体不平衡函数(G)、最优分配概率(P)。因素不平衡函数指某一预后因素中与新病例相同的水平在各组分布的不均衡性,常用极差或方差表示。总体不平衡函数代表所有因素不平衡函数的总和,一般采用因素不平衡函数的直接求和;对于需要区分因素重要性的情况则采用因素不平衡函数的加权求和,需要设定因素权重(w)。最优分配概率指新病例分配到目标组(使组间差异最小的组)的概率。P=1时,新病例直接分配到目标组;P=a(0

当Pocock和Simon法参数设定为利用极差表示因素不平衡函数、各个因素不加权、且最优分配概率为1时,

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SAS随机分组可以将一组数据随机地分为三个组。这种方法是为了在实验、调查或研究中,能够保证对研究对象进行公平和客观的处理和比较。 首先,在SAS随机分组可以使用PROC PLAN过程来实现。在这个过程中,可以使用RANDOM语句将数据随机排序,然后再使用BY语句按照指定的变量进行分组。 举例来说,如果有一个数据集包含了一百个观测值,并且想将这些观测值随机分为三组,可以按照以下步骤进行操作: 1. 首先,在DATA步骤中使用SET语句导入数据集。 2. 然后,使用PROC PLAN过程进行随机分组。在RANDOM语句中指定要进行随机排序的变量。 3. 使用BY语句按照指定的变量进行分组。在这个例子中,我们可以选择使用数据集中的一个唯一ID变量作为分组依据,以确保每个观测值都能被分到一个组中。 4. 最后,使用OUTPUT语句将分组结果保存为新的数据集,以便进行后续分析。 通过这种方法,可以确保每一组都是随机抽取的,从而避免了主观或系统误差对实验结果的影响。这种随机分组方法在实验、调查或研究中非常常见,因为它能够提高结果的可信度和可靠性。 ### 回答2: SAS(统计与数据分析软件)提供了一种随机分组的功能,可以帮助我们将数据集分为3组。 首先,我们需要使用SAS的数据步骤将数据导入到工作环境中。接下来,我们可以使用随机块设计函数(random block design function)将数据集分为3个块。该函数将数据随机分配给每个块,并且每个块中的数据数量可以相等或不等。 在SAS中,我们可以使用PROC PLAN过程来实现随机分组。首先,我们需要使用DATA步骤来创建一个包含需要分组的变量的数据集。然后,我们可以使用PROC PLAN来创建一个随机块设计计划,将数据集分为3个组。我们可以指定每个组的大小,或者让SAS自动调整以保持均衡。 以下是示例代码: ``` data mydata; /* 数据步骤:将数据导入到工作环境中 */ /* 在这里编写导入数据的代码 */ run; /* 使用PROC PLAN过程进行随机分组 */ proc plan; factors group=3; /* 将数据分为3个组 */ output out=outdata; /* 输出分组结果 */ randomize seed=0; /* 使用随机种子,确保每次运行结果一致 */ run; ``` 在上述代码中,我们首先使用DATA步骤将数据导入到名为mydata的数据集中。然后,我们使用PROC PLAN来指定将数据分为3个组,并使用OUT选项指定输出结果的数据集名称为outdata。最后,我们使用RANDOMIZE语句来设置随机种子,以确保每次运行结果一致。 通过运行上述代码,我们可以得到一个名为outdata的数据集,其中包含了将原始数据集随机分为3个组的结果。每个组中的数据数量可以相等或不等,具体取决于我们如何设定每个组的大小。 总之,SAS提供了一个方便的功能来进行随机分组,我们可以使用PROC PLAN过程来实现这个目标。通过指定分组数和每个组的大小,我们可以得到一个随机分组的结果,并在后续分析中使用这些分组。 ### 回答3: SAS随机分组可以将一个数据集或样本按照一定的规则随机分为三组。这种分组方法通常用于实验设计和统计研究中,以便比较不同组之间的差异。 在SAS中,我们可以使用PROC SURVEYSELECT或DATA步骤进行随机分组。 1. 使用PROC SURVEYSELECT: 通过PROC SURVEYSELECT,我们可以指定分组的数量、数据集以及随机分组的规则等。例如,我们可以使用以下代码将数据集中的观察值随机分为三组: ``` proc surveyselect data=原始数据集 out=分组后数据集 groups=3; run; ``` 这将生成一个新的数据集,其中的观察值已经被随机分为了三组。 2. 使用DATA步骤: 使用DATA步骤进行随机分组方法较为简单,我们可以使用RANUNI函数生成随机数,并根据这些随机数将数据进行分组。以下是一个示例代码: ``` data 分组后数据集; set 原始数据集; 随机数 = ranuni(0); if 随机数 < 0.333 then 组别 = 1; else if 随机数 < 0.666 then 组别 = 2; else 组别 = 3; run; ``` 通过这段代码,我们根据0到1之间的随机数将原始数据集中的观察值分为了三组,并将其保存在一个新的数据集中。 总的来说,SAS提供了多种方法实现随机分组,对于不同的需求可以选择适合的方法来完成数据分组工作。以上只是其中的两种常见方法,希望可以对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值