জেরোম কর্নফিল্ড লিখেছেন:
ফিশেরিয়ান বিপ্লবের অন্যতম সেরা ফলটি ছিল এলোমেলোকরণের ধারণা এবং পরিসংখ্যানবিদরা যারা অন্যান্য কয়েকটি বিষয়ে একমত হন তারা অন্তত এ বিষয়ে একমত হয়েছিলেন। তবে এই চুক্তি সত্ত্বেও এবং ক্লিনিকাল এবং পরীক্ষার অন্যান্য ধরণের এলোমেলোভাবে বরাদ্দকরণ পদ্ধতিগুলির ব্যাপক ব্যবহার সত্ত্বেও এর যৌক্তিক স্থিতি, অর্থাৎ এটি সম্পাদন করে সঠিক কাজটি এখনও অস্পষ্ট।
কর্নফিল্ড, জেরোম (1976)। "ক্লিনিকাল পরীক্ষায় সাম্প্রতিক পদ্ধতি সংক্রান্ত অবদান" । আমেরিকান জার্নাল অফ এপিডেমিওলজি 104 (4): 408–421।
এই সাইট জুড়ে এবং বিভিন্ন সাহিত্যে আমি ধারাবাহিকভাবে র্যান্ডমাইজেশনের শক্তিগুলি সম্পর্কে আত্মবিশ্বাসী দাবিগুলি দেখি। "এটি বিভ্রান্তিকর ভেরিয়েবলের সমস্যাটি মুছে দেয় " এর মতো শক্তিশালী পরিভাষা সাধারণ। উদাহরণস্বরূপ, এখানে দেখুন । যাইহোক, ব্যবহারিক / নৈতিক কারণে ছোট ছোট নমুনা (প্রতি গ্রুপে 3-10 নমুনা) নিয়ে অনেক সময় পরীক্ষাগুলি চালানো হয়। প্রাণী ও কোষের সংস্কৃতি ব্যবহার করে প্রকৃত গবেষণায় এটি খুব সাধারণ বিষয় এবং গবেষকরা তাদের সিদ্ধান্তের সমর্থনে পি মানগুলি প্রতিবেদন করেন।
এটি আমার অবাক করে দিয়েছিল, ভারসাম্য মিশ্রণগুলিতে এলোমেলোকরণ কতটা ভাল। এই চক্রান্তের জন্য আমি চিকিত্সা এবং নিয়ন্ত্রণ গোষ্ঠীর সাথে তুলনা করে এমন পরিস্থিতি মডেল করেছি যা একটি কনফন্ড যা 50/50 চান্স (যেমন টাইপ 1 / টাইপ 2, পুরুষ / মহিলা) সহ দুটি মান গ্রহণ করতে পারে। এটি বিভিন্ন ছোট ছোট নমুনা আকারের অধ্যয়নের জন্য "% ভারসাম্যহীন" (চিকিত্সা এবং নমুনা আকার দ্বারা বিভক্ত নিয়ন্ত্রণের মধ্যে টাইপ 1 এর মধ্যে পার্থক্য) দেখায় shows লাল রেখাগুলি এবং ডান পাশের অক্ষগুলি ecdf দেখায়।
ছোট নমুনা মাপের জন্য এলোমেলোকরণের অধীনে বিভিন্ন ডিগ্রী ব্যালেন্সের সম্ভাবনা:
এই প্লটটি থেকে দুটি জিনিস পরিষ্কার (যদি আমি কোথাও গোলযোগ না করি)।
1) নমুনার আকার বাড়ার সাথে সাথে সঠিকভাবে ভারসাম্যযুক্ত নমুনা পাওয়ার সম্ভাবনা হ্রাস পায়।
2) নমুনার আকার বাড়ার সাথে খুব ভারসাম্যহীন নমুনা পাওয়ার সম্ভাবনা হ্রাস পায়।
3) উভয় গোষ্ঠীর জন্য এন = 3 এর ক্ষেত্রে, গোষ্ঠীগুলির সম্পূর্ণ ভারসাম্যহীন সেট হওয়ার সম্ভাবনা রয়েছে (চিকিত্সায় সমস্ত টাইপ 1 নিয়ন্ত্রণে রয়েছে)। এন = 3 আণবিক জীববিজ্ঞান পরীক্ষার জন্য সাধারণ (যেমন পিসিআর দ্বারা এমআরএনএ পরিমাপ করুন, বা পশ্চিমা দাগযুক্ত প্রোটিন)
যখন আমি n = 3 কেস আরও পরীক্ষা করেছি, আমি এই শর্তগুলির মধ্যে পি মানগুলির অদ্ভুত আচরণ পর্যবেক্ষণ করেছি। বাম দিকটি টাইপ 2 সাবগ্রুপের জন্য বিভিন্ন উপায়ে শর্তে টি-পরীক্ষা ব্যবহার করে গণনা করা প্যাভেলুগুলির সামগ্রিক বিতরণ দেখায়। টাইপ 1 এর গড়টি 0 এবং উভয় গ্রুপের জন্য এসডি = 1 ছিল। ডান প্যানেলগুলি নামমাত্র "তাত্পর্য কাট অফস" এর জন্য .05 থেকে শুরু করে 10001 এর জন্য সম্পর্কিত মিথ্যা ইতিবাচক হারগুলি দেখায়।
টি পরীক্ষার মাধ্যমে তুলনা করা হলে দুটি উপগোষ্ঠী এবং দ্বিতীয় উপগোষ্ঠীর বিভিন্ন উপায়ে এন = 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 কোড
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()