2015-06-02 59 views
0

要点:适应性随机算法

我正在寻找一个随机算法,可以为每个主题,看看所有以前的测量,确定一个主题将落入高端或低端,然后确保这些组中大约一半的人被分配到实验条件。

详情:

我建立一个具有两个独立的变量研究中的应用。一个是我可以分配的实验操作。我们将这些称为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%分开,50%(X或C)48人离开我,24人。当然,情况可能会更糟。如果实验操作的随机分配对于这个较小的子样品结束小于50%,则再次可能更糟。恐惧是我可能会留下太小的样本来运行我的分析。

3)另一个复杂情况是,P1和P2的类别有时不那么确定和更相对。通常我们只是通过中位数分割P1和P2。它是根据多个比例测量的总值确定的(总范围0-20)。但是,在我的样本中,我们可能会看到一些偏向一端的偏见。在这种情况下,我可能需要做一个相对比较。在这种情况下,我不知道中位数的分布位置在哪里,以分割我的样本。但无论中位数是多少,我都会这样说:“这些人比P1更多P1”,反之亦然。但我不知道我的样本的平均值或标准差是多少。

我可以在我的实验做:前

什么我能做的就是衡量人的P1/P2型分配到任何一个X或C.我不能预先测试任务之前,每个人都所以我只能一次知道更大的图片1个主题,直到它以足够的样本稳定下来。

问:

因此,在短期的问题是,有没有能适应这些未知数,因为我知道更多从一个试验到下一个随机算法?

基本上我想测量对象的P1/P2的措施,这对整个样本比较到这一点,并找出他们是否会或多或少可能是在上半朝P2或下半朝着P1。然后,我知道了这一点后,我想以一种确保比简单随机更好的方式将它们分配给X或C,以便在每种情况下获得相同数量的参与者。

我不知道这是否是要问,也许堆叠交叉验证正确的地方?无论如何,如果您有任何建议,请提前致谢。

额外注:

该应用程序是在Javascript完全编程。

+0

的Math.random()是比较公正的。您可以基于之前的结果对其进行偏倚以增加随机方面相对于此偏倚的机会。看看这可能是有帮助的:http://stackoverflow.com/a/29325222/1693593 – K3N

+0

我会尝试和统计人员交谈,并且我还会预先用随机数字中的所有数据进行试点测试,并测试通过分析它,就像你真实的数据一样。你想要避免的恐怖故事是当你描述你对统计学家所做的一切,并给他们来之不易的数据时,他们说他们不能提供确凿的分析,因为你没有收集他们需要的数据,或者你受试者分配给对照或实验条件引入了他们无法去除的偏差。 – mcdowella

回答

1

一招,你需要一个优先级队列。 Google为我提供了https://github.com/adamhooper/js-priority-queue。其实你需要两个。一个给你最小的P2,另一个给你最大的P1。

做完这些后,你需要保持4个计数器为您的4组。

第一人随机分配至对照组或实验。第二个分配给另一个,然后将这两个分配给P1和P2。然后,您将计数器初始化为1和0。

随着你遇到的每个人以后,你在他们中的P2 P1比较最大,最小,并决定去哪个组,以及是否需要移动群体之间的人。如果您需要移动某人,请这样做并更新计数器。然后将它们分配给治疗或控制,基于这些治疗或控制在他们所处的Pi中较不常见,断开其他Pi中不常见的关系,随机打破任何进一步关系。

这不能保证均匀分割,但它确实做出了一个很好的努力来生成一个分割。

+0

对不起。我花了一段时间才真正意识到这是回答。最后,我最终做了一个定期的随机任务,希望不要看到彼此太陌生的团体。它解决了,但这是你的支票。下次我会记住这个答案。 :-) 谢谢。 – jmk2142