जेरोम कॉर्नफील्ड ने लिखा है:
फिशरियन क्रांति का सबसे अच्छा फल यादृच्छिककरण का विचार था, और कुछ अन्य चीजों पर सहमत होने वाले सांख्यिकीविदों ने कम से कम इस पर सहमति व्यक्त की है। लेकिन इस समझौते के बावजूद और नैदानिक और प्रयोग के अन्य रूपों में यादृच्छिक आवंटन प्रक्रियाओं के व्यापक उपयोग के बावजूद, इसकी तार्किक स्थिति, यानी, सटीक कार्य जो यह करता है, वह अभी भी अस्पष्ट है।
कॉर्नफील्ड, जेरोम (1976)। "क्लिनिकल ट्रायल के लिए हालिया पद्धति संबंधी योगदान" । अमेरिकन जर्नल ऑफ एपिडेमियोलॉजी 104 (4): 408-421।
इस साइट के दौरान और विभिन्न प्रकार के साहित्य में मैं यादृच्छिकरण की शक्तियों के बारे में निरंतर दावे देखता हूं। मजबूत शब्दावली जैसे "यह जटिल चर के मुद्दे को समाप्त करता है" आम हैं। यहाँ देखें , उदाहरण के लिए। हालांकि, व्यावहारिक / नैतिक कारणों से कई बार प्रयोग छोटे नमूनों (प्रति समूह 3-10 नमूने) के साथ चलाए जाते हैं। यह जानवरों और सेल संस्कृतियों का उपयोग कर प्रीक्लिनिकल रिसर्च में बहुत आम है और शोधकर्ता आमतौर पर अपने निष्कर्षों के समर्थन में पी मूल्यों की रिपोर्ट करते हैं।
यह मुझे आश्चर्य हो रहा है, कितना अच्छा है यादृच्छिकता भ्रम को संतुलित करना। इस कथानक के लिए मैंने उपचार और नियंत्रण समूहों की तुलना एक ऐसी स्थिति के साथ की, जिसमें एक कॉन्फिडेंस हो, जो 50/50 के मौके (जैसे टाइप 1 / टाइप 2, पुरुष / महिला) के साथ दो मूल्यों को ले सके। यह विभिन्न प्रकार के छोटे नमूना आकारों के अध्ययन के लिए "% असंतुलित" (उपचार के प्रकार # में अंतर और नमूना आकार द्वारा विभाजित नमूनों के बीच अंतर) को दर्शाता है। लाल रेखाएं और दाईं ओर की कुल्हाड़ियां एक्स्टीडएफ दिखाती हैं।
छोटे नमूना आकारों के लिए यादृच्छिककरण के तहत संतुलन की विभिन्न डिग्री की संभावना:
इस साजिश से दो बातें स्पष्ट हैं (जब तक कि मैंने कहीं गड़बड़ नहीं की)।
1) नमूना आकार में वृद्धि के रूप में बिल्कुल संतुलित नमूने प्राप्त करने की संभावना कम हो जाती है।
2) नमूना आकार बढ़ने पर बहुत असंतुलित नमूना प्राप्त करने की संभावना कम हो जाती है।
3) दोनों समूहों के लिए n = 3 के मामले में, समूहों का पूरी तरह से असंतुलित सेट (नियंत्रण में सभी टाइप 1, उपचार में सभी टाइप 2) होने का 3% मौका है। एन = 3 आणविक जीव विज्ञान प्रयोगों के लिए आम है (जैसे कि पीसीआर के साथ एमआरएनए मापें, या पश्चिमी धब्बा के साथ प्रोटीन)
जब मैंने n = 3 मामले की और जांच की, तो मैंने इन परिस्थितियों में p मानों के अजीब व्यवहार का अवलोकन किया। बाईं ओर टाइप 2 उपसमूह के लिए अलग-अलग साधनों की शर्तों के तहत टी-परीक्षणों का उपयोग करके गणना के अंतरालों के समग्र वितरण को दर्शाता है। टाइप 1 का मतलब 0 था, और दोनों समूहों के लिए sd = 1। दाएं पैनल .05 से.0001 तक नाममात्र "महत्व कटऑफ" के लिए इसी झूठी सकारात्मक दरों को दिखाते हैं।
टी टेस्ट (10000 मोंटे कार्लो रन) के माध्यम से तुलना करने पर दो उपसमूहों और दूसरे उपसमूह के विभिन्न साधनों के साथ n = 3 के लिए पी-वैल्यू का वितरण:
यहाँ दोनों समूहों के लिए n = 4 के परिणाम हैं:
दोनों समूहों के लिए n = 5 के लिए:
दोनों समूहों के लिए n = 10 के लिए:
जैसा कि ऊपर के चार्ट से देखा जा सकता है कि नमूना आकार और उपसमूह के बीच अंतर के बीच एक अंतर प्रतीत होता है जिसके परिणामस्वरूप शून्य परिकल्पना के तहत विभिन्न प्रकार के पी-मूल्य वितरण होते हैं जो समान नहीं होते हैं।
तो क्या हम यह निष्कर्ष निकाल सकते हैं कि पी-मान छोटे नमूना आकार के साथ यादृच्छिक रूप से नियंत्रित और नियंत्रित प्रयोगों के लिए विश्वसनीय नहीं हैं?
पहले प्लॉट के लिए आर कोड
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 के लिए आर कोड
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()