自适应随机化算法

Adaptive Randomization Algorithm

要点:

我正在寻找一种随机化算法,该算法可以针对每个受试者,查看所有以前的测量值,确定受试者是否会落入高端或低端,然后确保每个组中大约有一半被分配到实验条件。

详情:

我正在构建一个具有两个自变量的研究应用程序。一个是我可以分配的实验操作。我们称这些为 X(实验)和 C(控制)。另一个是具有两种分类类型的个人特征,通过量表来衡量。我们将这些称为 P1(类型 1)和 P2(类型 2)。

所以它本质上是一个 2x2,其中我有 4 个条件(P1X、P1C、P2X、P2C)。我正在招募大约 120 个科目,所以理想情况下我会在每个条件下分配 30 个科目。

我有三个问题。

1) 根据文献,我预计我的样本中 P1 和 P2 特征之间的自然比例为 50/50。但是,我不能确定,因为我的人口不是我认为的一般人口,而一般人口是分裂估计的来源。

2) X 或 C 操作的简单随机化不一定保证平等分配。这加剧了第一个问题,就好像我看到了P1 40% 和 P2 60% 拆分,48 的 50%(X 或 C)让我剩下 24 个人。当然,情况可能更糟。如果对于这个较小的子样本,实验操作的随机分配最终不到 50%,那么情况可能会更糟。担心的是我可能会留下太小的样本来 运行 我的分析。

3) 另一个复杂的问题是类别 P1 和 P2 有时不太明确,而是相对的。通常我们只是通过中位数拆分 P1 和 P2。它是根据几个刻度测量值(总范围 0-20)的总和确定的。然而,在我的样本中,我们可能会看到一些偏向于某一端的情况。在这种情况下,我可能不得不做一个相对比较。在这种情况下,我不知道分割样本的中位数在哪里。但是无论中位数变成什么,我都会说 "these people are more P1 than P2" 之类的话,反之亦然。但我不知道我的样本的平均值或标准差是多少。

我的实验可以做什么:

我能做的是测量人们的 P1/P2 类型 ,然后 将他们分配给 X 或 C。我无法在分配之前预先测试每个人,所以我'一次只能了解 1 个主题的大图,直到它用足够的样本稳定下来。

问题:

所以简而言之,是否存在一种随机化算法可以适应这些未知数,因为我从一个实验到下一个实验了解得更多?

基本上我想测量受试者的 P1/P2 测量值,将其与截至该点的整个样本进行比较,看看它们是否更可能位于 P2 的上半部分或下半部朝向 P1。然后,在我弄清楚这一点之后,我想以一种比简单随机更好的方式将它们分配给 X 或 C,这样我将在每种情况下获得相同数量的参与者。

我不确定这里是否适合提问,也许 Stack Cross-Validated?无论如何,如果您有任何建议,请提前致谢。

补充说明:

应用程序已在 Javascript 中完成编程。

第一个技巧,您需要一个优先级队列。 Google 给我 https://github.com/adamhooper/js-priority-queue JavaScript。其实你需要两个。一个给你P2最小的,一个给你P1最大的。

完成后,您需要为 4 个组保留 4 个计数器。

第一个人被随机分配到控制组或实验组。第二个赋值给另一个,然后两个赋值给P1和P2。然后将计数器初始化为 1 和 0。

对于你随后遇到的每个人,你将他们与 P2 中最大的人、P1 中最小的人进行比较,然后决定他们进入哪个组以及是否需要在组之间移动某人。如果您需要移动某人,请这样做并更新计数器。然后根据他们所在的 Pi 中不太常见的情况将它们分配给治疗或控制,打破在另一个 Pi 中不太常见的联系,随机打破任何进一步的联系。

这不能保证平均分配,但它确实做出了真诚的努力来产生一个。