小样本随机化可靠吗?


11

杰罗姆·康菲尔德(Jerome Cornfield)写道:

渔业革命的最好成果之一就是随机化的想法,而在其他几件事上达成共识的统计学家至少对此达成了共识。但是尽管达成了这一协议,并且尽管在临床和其他形式的实验中广泛使用了随机分配程序,但其逻辑状态(即其执行的确切功能)仍然不清楚。

杰罗姆·康菲尔德(1976)。“对临床试验的最新方法论贡献”。美国流行病学杂志104(4):408–421。

在整个站点以及各种文献中,我始终看到关于随机化能力的自信主张。诸如“它消除了混杂变量的问题”之类的强大术语很常见。例如,请参见此处。但是,出于实际/伦理的原因,很多时候都使用小样本(每组3-10个样本)进行实验。这在使用动物和细胞培养物进行临床前研究中非常普遍,研究人员通常报告p值以支持其结论。

这让我想知道,随机化在平衡混淆方面有多好。对于这个图,我模拟了一个比较治疗组和对照组的情况,其中一个混杂物可能以50/50的机会出现两个值(例如,type1 / type2,male / female)。它显示了用于研究各种小样本数量的“不平衡百分比”(处理样本与对照样本之间的type1#的差异除以样本数量)的分布。红线和右侧轴显示ecdf。

小样本量下,随机化下各种程度的平衡概率: 在此处输入图片说明

从这个情节可以清楚地看出两件事(除非我在某个地方搞砸了)。

1)随着样本数量的增加,获得完全平衡样本的可能性降低。

2)随着样本数量的增加,获得非常不平衡的样本的可能性降低。

3)在两组中n = 3的情况下,有3%的机会获得一组完全不平衡的组(对照组中的所有type1,治疗中的所有type2)。N = 3在分子生物学实验中很常见(例如,通过PCR测量mRNA或通过蛋白质印迹法测量蛋白质)

当我进一步检查n = 3的情况时,我观察到在这些条件下p值的奇怪行为。左侧显示类型2子组在不同均值条件下使用t检验计算的p值的总体分布。类型1的平均值为0,两组的sd = 1。右侧面板显示了从0.05到0.0001的名义“显着性临界值”的相应假阳性率。

通过t检验比较时,n = 3的p值在n = 3时具有两个子组和第二子组的平均值不同(10000个蒙特卡洛分析): 在此处输入图片说明

这是两组的n = 4的结果: 在此处输入图片说明

两个组的n = 5: 在此处输入图片说明

两组的n = 10: 在此处输入图片说明

从上面的图表可以看出,样本量和子组之间的差异之间似乎存在相互作用,这导致在原假设下不一致的各种p值分布。

因此,我们可以得出结论:对于小样本量的适当随机化和受控实验,p值不可靠吗?

第一图的R代码

require(gtools)

#pdf("sim.pdf")
par(mfrow=c(4,2))
for(n in c(3,4,5,6,7,8,9,10)){
  #n<-3
  p<-permutations(2, n, repeats.allowed=T)

  #a<-p[-which(duplicated(rowSums(p))==T),]
  #b<-p[-which(duplicated(rowSums(p))==T),]

  a<-p
  b<-p

  cnts=matrix(nrow=nrow(a))
  for(i in 1:nrow(a)){
    cnts[i]<-length(which(a[i,]==1))
  }


  d=matrix(nrow=nrow(cnts)^2)
  c<-1
  for(j in 1:nrow(cnts)){
    for(i in 1:nrow(cnts)){
      d[c]<-cnts[j]-cnts[i]
      c<-c+1
    }
  }
  d<-100*abs(d)/n

  perc<-round(100*length(which(d<=50))/length(d),2)

  hist(d, freq=F, col="Grey", breaks=seq(0,100,by=1), xlab="% Unbalanced",
       ylim=c(0,.4), main=c(paste("n=",n))
  )
  axis(side=4, at=seq(0,.4,by=.4*.25),labels=seq(0,1,,by=.25), pos=101)
  segments(0,seq(0,.4,by=.1),100,seq(0,.4,by=.1))
  lines(seq(1,100,by=1),.4*cumsum(hist(d, plot=F, breaks=seq(0,100,by=1))$density),
        col="Red", lwd=2)

}

情节2-5的R代码

for(samp.size in c(6,8,10,20)){
  dev.new()
  par(mfrow=c(4,2))
  for(mean2 in c(2,3,10,100)){
    p.out=matrix(nrow=10000)

    for(i in 1:10000){

      d=NULL
      #samp.size<-20
      for(n in 1:samp.size){
        s<-rbinom(1,1,.5)
        if(s==1){
          d<-rbind(d,rnorm(1,0,1))
        }else{
          d<-rbind(d,rnorm(1,mean2,1))
        }
      }

      p<-t.test(d[1:(samp.size/2)],d[(1+ samp.size/2):samp.size], var.equal=T)$p.value

      p.out[i]<-p
    }


    hist(p.out, main=c(paste("Sample Size=",samp.size/2),
                       paste( "% <0.05 =", round(100*length(which(p.out<0.05))/length(p.out),2)),
                       paste("Mean2=",mean2)
    ), breaks=seq(0,1,by=.05), col="Grey", freq=F
    )

    out=NULL
    alpha<-.05
    while(alpha >.0001){

      out<-rbind(out,cbind(alpha,length(which(p.out<alpha))/length(p.out)))
      alpha<-alpha-.0001
    }

    par(mar=c(5.1,4.1,1.1,2.1))
    plot(out, ylim=c(0,max(.05,out[,2])),
         xlab="Nominal alpha", ylab="False Postive Rate"
    )
    par(mar=c(5.1,4.1,4.1,2.1))
  }

}
#dev.off()

首先,我发现您对情况和问题的描述有些难以理解。I型和II型是技术术语,与您使用的Type1子组和Type2子组不同。据我所知,您正在对均值混合的分布数据进行t检验。那正确吗?
Michael Lew

是的,两种正态分布的混合。“ type1”是指N(0,1),type2是N(mean2,1)。其中mean2 =(2、3、10或100)。抱歉,如果您认为有帮助,可以将其更改为typeA,typeB。
Flask

Answers:


4

您正确指出随机化在处理非常小的样本的未知混杂变量方面的局限性。但是,问题不是P值不可靠,而是P值的含义随样本量以及该方法的假设与总体实际属性之间的关系而变化。

我对您的结果的看法是,直到子组均值之间的差异如此之大,以至于任何明智的实验者都会在进行实验之前就知道存在问题,因此P值的表现相当不错。

可以在不参考对数据性质的正确理解的情况下进行实验和进行分析的想法是错误的。在分析小型数据集之前,您必须对数据有足够的了解,以便能够自信地捍卫分析中隐含的假设。这些知识通常来自使用相同或相似系统的先前研究,这些研究可以是正式发表的作品,也可以是非正式的“初步”实验。


我同意您所说的一切,但是t检验经常像Gerd Gigerenzer所说的那样“仪式化”地进行。在实践中,执行这些测试的人员没有时间/爱好来了解他们正在做的细微差别。因此,我认为“不可靠”形容词可能是恰当的。我知道研究人员是谁,当您询问分布情况(是一个高的分布,还是造成该大误差线的原因是什么),从来没有看过。
Flask

1
好吧,P值真正的“均值”与大多数人的假设完全不同。甚至许多批评P值“与证据不可调和”的论文也是错误的。昨天,我在arXiv上上传了一篇论文,探讨了P值的属性,并展示了它们与实验者可以使用的证据类型之间的关系。它的标题是“对P或不对P:关于P值的证据性质及其在科学推理中的位置”,其arXiv提交编号为826269。应于星期一开始提供。
Michael Lew

您能看看这个出于任何原因没有得到爱的问题吗?。我同意p值是某种东西,您的论文可能有助于阐明这一点,但作为一名研究人员,我必须明确一点,即然pov的靴子使我们失败了。不清楚是由于滥用还是天生的不当。我在这里提出了一系列问题,试图让统计学家对此有所了解。
Flask

2

在生态学研究中,当样本量较小且有证据表明存在一个或多个混淆变量时,将处理随机分配给实验单位(受试者)是标准做法。这种非随机分配将对象分散在可能混杂变量的范围内,这正是随机分配应该做的。但是在较小的样本量下,随机化处理的效果可能较差(如上所述),因此,依赖它可能是一个坏主意。

由于在大多数领域中都大力提倡随机化(理所当然地如此),因此很容易忘记最终目标是减少偏差而不是坚持严格的随机化。然而,研究人员有责任有效地描述这组混杂变量,并以一种可辩护的方式进行非随机分配,这种分配对实验结果视而不见,并利用所有可用的信息和上下文。

有关摘要,请参见Hurlbert,Stuart H. 1984年的第192-198页。伪复制和现场实验的设计。生态专着54(2)第187-211页。


我很喜欢阅读此书,但担心倒数第二段中您对“偏见”的使用可能会被误读,因为该术语具有特定的统计意义,可能会使您的陈述不正确。您是不是要说随机化是为了防止混淆(口语意义上的“偏见”形式),而不是减少偏见(作为估计量的不准确性的量度)?
whuber

我指的是统计意义上的偏见。在统计中,“偏差”是统计与其估计的参数之间的差。正如您所提到的,估算器的偏差是估算器的期望值与其所估算参数的真实值之间的差。在我的文章中,“偏见”是指从数据计算出的统计量与它们估计的参数之间的差异,例如,样本均值(x bar)与真实均值(mu)之间。
达伦·詹姆斯

据我所知,随机抽样并没有用于减少偏差,在许多情况下也不能有效地声称它确实减少了偏差。
whuber

你误会了。随机化的主要目标是模拟独立性的影响。它通过消除因对受试者进行系统的治疗分配而产生的偏见来做到这一点。这些偏差会产生不准确的估算值(最重要的是,偏差估算值会产生偏差),并且会失去对I型和II型误差的控制。即使是混杂变量(实际上等于缺乏独立性)也只是被忽略的变量偏差的一种情况。但是您不必为此而信...如果您对上面的Hurlburt论文不满意,可以参考以下其他资源:
Darren James

Cochran,WG和GM Cox。1957年。实验设计。纽约:威利。费德勒,WT 1955年。实验设计。纽约:麦克米伦。Hinkelmann,K.和Kempthorne,O.1994。实验设计和分析。威利:纽约。Kuehl,RO2000。实验设计:研究设计和分析的统计原理。加利福尼亚贝尔蒙特:布鲁克斯/科尔。
达伦·詹姆斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.