আসুন জেনে নেওয়া যাক এটি একটি ভাল পরীক্ষা কিনা। এটির খারাপ দাবি করা বা এটি ভাল কাজ করে না এমন এক উদাহরণে প্রদর্শন করার চেয়ে আরও অনেক কিছুই রয়েছে। বেশিরভাগ পরীক্ষাগুলি কিছু পরিস্থিতিতে দুর্বলভাবে কাজ করে, তাই প্রায়শই আমাদের এমন পরিস্থিতিতে চিহ্নিত করার মুখোমুখি হয় যে কোনও প্রস্তাবিত পরীক্ষা সম্ভবত ভাল পছন্দ হতে পারে।
পরীক্ষার বিবরণ
যে কোনও হাইপোথিসিস পরীক্ষার মতো এটিও (ক) একটি শূন্য ও বিকল্প অনুমান এবং (খ) অনুমানের মধ্যে বৈষম্যের উদ্দেশ্যে একটি পরীক্ষা পরিসংখ্যান (পারস্পরিক সম্পর্ক সহগ) নিয়ে গঠিত।
নাল অনুমানটি হ'ল দুটি ভেরিয়েবল একই বিতরণ থেকে আসে from ভালো হবে, আমাদের ভেরিয়েবল নাম দিন X এবং Y এবং অনুমান আমরা পরিলক্ষিত হয়েছে nx দৃষ্টান্ত X নামক xi=(x1,x2,…,xnx) , এবং ny দৃষ্টান্ত Y নামক yi । নাল হাইপোথিসিসটি হ'ল X এবং সমস্ত উদাহরণ Yস্বতন্ত্র এবং অভিন্নরূপে বিতরণ করা হয় (iid)।
আমাদের বিকল্প হাইপোথিসিস যে (ক) সমস্ত উদাহরণ হিসাবে যাক X কিছু অন্তর্নিহিত বন্টন অনুযায়ী IID হয় FX এবং (খ) সমস্ত উদাহরণ Y কিছু অন্তর্নিহিত বন্টন অনুযায়ী IID হয় FY কিন্তু (গ) FX থেকে পৃথক FY । (সুতরাং, আমরা xi মধ্যে পারস্পরিক সম্পর্ক, yi মধ্যে পারস্পরিক সম্পর্ক, xi এবং মধ্যে পারস্পরিক সম্পর্ক yj, বা x এর y এর মধ্যে বিতরণের পার্থক্য অনুসন্ধান করব না)yপৃথকভাবে: এটি বিশ্বাসযোগ্য হবে না বলে ধরে নেওয়া হয়েছে))
প্রস্তাবিত পরীক্ষার পরিসংখ্যান ধরে নেয় যে nx=ny (এই সাধারণ মান কল n ) এবং এর পারস্পরিক সম্পর্কের সহগের নির্ণয় (x[i],y[i]) যথারীতি, (যেখানে [i] মনোনীত ith ক্ষুদ্রতম তথ্য)। এই টি ( x , y ) কল করুনt(x,y) ।
অনুমতি পরীক্ষা
এই পরিস্থিতিতে - কোনও পরিসংখ্যান t প্রস্তাবিত হোক না কেন - আমরা সর্বদা একটি ক্রমশক্তি পরীক্ষা করতে পারি। নাল হাইপোথিসিস অধীনে, ডাটা সম্ভাবনা ((x1,x2,…,xn),(y1,y2,…,yn)) কোন বিন্যাস সম্ভাবনা হিসাবে একই 2n তথ্য মান। অন্য কথায়, এর অর্ধেক ডেটা Xএবং অন্য অর্ধেকটি ওয়াইয়ের অ্যাসাইনমেন্টYএকটি খাঁটি এলোমেলো কাকতালীয় ঘটনা। এটি আইড অনুমানের একটি সরল, প্রত্যক্ষ পরিণতি এবং F X = F Y এর নাল অনুমানেরFX=FY ।
অতএব, এর স্যাম্পলিং বন্টন t(x,y) , শর্তাধীন পর্যবেক্ষণের উপর xi এবং yi , এর সব মান বিতরণের হয় t সবার জন্য সাধিত (2n)!তথ্য ক্রম। আমরা কারণ কোনো অভিপ্রেত পরীক্ষা আকার জন্য এই আগ্রহী α যেমন α=.05 (সংশ্লিষ্ট 95 , আমরা গঠন করা হবে যারা একটি দ্বি-পার্শ্বযুক্ত নমুনা বিতরণ থেকে সমালোচনামূলক অঞ্চল% আস্থা) 100 αt : এটা সবচেয়ে চরম নিয়ে গঠিত100αটি এর সম্ভাব্য মানগুলির%t (উচ্চ পাশ, কারণ উচ্চ পারস্পরিক সম্পর্ক অনুরূপ ডিস্ট্রিবিউশন এবং কম পারস্পরিক সম্পর্ক সঙ্গে সামঞ্জস্যপূর্ণ নয়)। বিভিন্ন বিতরণ থেকে ডেটা আসে তা সিদ্ধান্ত নেওয়ার জন্য আমরা নির্ভর করতে পারি যে সম্পর্কের সহগ কত বড় হতে হবে।
নাল নমুনা বিতরণ অনুকরণ
কারণ (অথবা, আপনি যদি চান, ( 2 এন(2n)!, যা বিভাজন পথ সংখ্যা গণনা2এনআকার দুই টুকরা ডেটাএন) এমনকি ছোট জন্য বড় পায়এন, এটা ঠিক স্যাম্পলিং বন্টন গনা, তাই আমরা সিমুলেশন ব্যবহার করে এটি নমুনা কার্যকর নয়। (উদাহরণস্বরূপ, যখনএন=16, ( 2এন)(2nn)/22nnnn=16এবং(2এন)! 632.63×1035।) প্রায় এক হাজার নমুনা প্রায়শই যথেষ্ট হয় (এবং অবশ্যই আমরা যে অনুসন্ধানগুলি চালাচ্ছি তার জন্য হবে)।(2nn)/2=300 540 195(2n)!≈2.63×1035
আমাদের দুটি জিনিস খুঁজে বের করতে হবে: প্রথমত, নমুনা বিতরণটি নাল অনুমানের অধীনে দেখতে কেমন লাগে। দ্বিতীয়ত, এই পরীক্ষাটি বিভিন্ন বিতরণের মধ্যে কতটা পার্থক্য করে?
একটি জটিলতা রয়েছে: নমুনা বিতরণ তথ্য প্রকৃতির উপর নির্ভর করে। আমরা যা করতে পারি তা হ'ল রিয়েলস্টিক ডেটাগুলি অনুসন্ধান করা, যা আমরা অধ্যয়ন করতে আগ্রহী তা অনুকরণ করার জন্য তৈরি করা হয়েছিল এবং আশা করি যে সিমুলেশনগুলি থেকে আমরা যা শিখি তা আমাদের নিজের পরিস্থিতিতে প্রযোজ্য।
বাস্তবায়ন
উদাহরণস্বরূপ, আমি এই কাজটি চালিয়েছি R
। এটি স্বাভাবিকভাবেই তিন টুকরোয় পড়ে।
পরীক্ষার পরিসংখ্যান গণনা করার জন্য একটি ফাংশন । যেহেতু আমি আরও সাধারণ হতে চাই, আমার সংস্করণটি বিভিন্ন আকারের ডেটাসেটগুলি পরিচালনা করে ( n x ≠ n y ) (সাজানো) আরও বড় ডেটাসেটের মধ্যে (সাজানো) আরও ছোট ডেটাসেটের সাথে মিল তৈরি করতে মানগুলির মধ্যে রৈখিকভাবে ইন্টারপোল্ট করে। কারণ এটি ইতিমধ্যে ফাংশন দ্বারা সম্পন্ন হয়েছে , আমি কেবল এর ফলাফলগুলি নিয়েছি:t(x,y)nx≠nyR
qqplot
test.statistic <- function(x, y) {
transform <- function(z) -log(1-z^2)/2
fit <- qqplot(x,y, plot.it=FALSE)
transform(cor(fit$x, fit$y))
}
একটি সামান্য মোচড় - অপ্রয়োজনীয় তবে চাক্ষুষরূপে সহায়ক - এমনভাবে পুনঃপ্রকাশের সহগটি প্রকাশ করে যা শূন্য পরিসংখ্যানের বন্টনকে প্রায় সমমিত করে তোলে। এটাই transform
করছে।
নমুনা বিতরণের সিমুলেশন। ইনপুট করতে এই ফাংশন পুনরাবৃত্তিও সংখ্যা গ্রহণ করে n.iter
অ্যারে ডেটা দুটি সেট সঙ্গে বরাবর x
এবং y
। এটি n.iter
পরীক্ষার পরিসংখ্যানগুলির মানগুলির একটি অ্যারে আউটপুট করে । এর অভ্যন্তরীণ কাজগুলি স্বচ্ছ হতে হবে, এমনকি কোনও অ R
ব্যবহারকারীর জন্যও :
permutation.test <- function(n.iter, x, y) {
z <- c(x,y)
n.x <- length(x)
n.y <- length(y)
n <- length(z)
k <- min(n.x, n.y)
divide <- function() {
i <- sample.int(n, size=k)
test.statistic(z[i], z[-i])
}
replicate(n.iter, divide())
}
যদিও আমাদের পরীক্ষা চালানো দরকার কেবল এটি অধ্যয়ন করার জন্য আমরা পরীক্ষাটি বহুবার পুনরাবৃত্তি করতে চাইব। সুতরাং, আমরা একবার পরীক্ষাটি পরিচালনা করি এবং সেই কোডটি তৃতীয় ফাংশনাল লেয়ারের মধ্যে গুটিয়ে রাখি, কেবলমাত্র f
এখানে নামকরণ করা হয়েছে, যা আমরা বারবার কল করতে পারি। এটি একটি বিস্তৃত অধ্যয়নের জন্য পর্যাপ্ত সাধারণ করার জন্য, ইনপুট জন্য এটি ডেটাসেটের আকারগুলি ( n.x
এবং n.y
) সিমুলেট করার জন্য গ্রহণ করে , প্রতিটি ক্রমান্বয়ে পরীক্ষার জন্য পুনরাবৃত্তির সংখ্যা ( n.iter
), test
পরীক্ষার পরিসংখ্যান গণনা করার জন্য ফাংশনের একটি রেফারেন্স (আপনি দেখতে পাবেন) মুহুর্তে আমরা কেন এটি হার্ড-কোড করতে চাই না), এবং আইআইডি র্যান্ডম মানগুলি তৈরি করতে দুটি ফাংশন, একটি ( ) এর জন্য এবং একটি ওয়াই ( ) এর জন্য। একটি বিকল্পXdist.x
Ydist.y
plot.it
কী চলছে তা দেখতে সহায়তা করার জন্য দরকারী।
f <- function(n.x, n.y, n.iter, test=test.statistic, dist.x=runif, dist.y=runif,
plot.it=FALSE) {
x <- dist.x(n.x)
y <- dist.y(n.y)
if(plot.it) qqplot(x,y)
t0 <- test(x,y)
sim <- permutation.test(n.iter, x, y)
p <- mean(sim > t0) + mean(sim==t0)/2
if(plot.it) {
hist(sim, xlim=c(min(t0, min(sim)), max(t0, max(sim))),
main="Permutation distribution")
abline(v=t0, col="Red", lwd=2)
}
return(p)
}
একটি পরিসংখ্যাত যে কেমন লাগে ফলনশীল সিমিউলেশন অনুপাত: আউটপুট একটি কৃত্রিম "পি-মান" হয় আরো এক তুলনায় চরম আসলে ডেটার জন্য নির্ণিত।
পার্টস (2) এবং (3) অত্যন্ত সাধারণ: আপনি test.statistic
অন্য কিছু গণনার পরিবর্তে কেবল ভিন্ন পরীক্ষার জন্য এর মতো একটি গবেষণা পরিচালনা করতে পারেন । আমরা নীচে যে কি।
প্রথম ফলাফল
ডিফল্টরূপে, আমাদের কোড দুটি ইউনিফর্ম বিতরণ থেকে প্রাপ্ত ডেটার সাথে তুলনা করে। আমি এটি করতে দিলাম ( , যা মোটামুটি ছোট ডেটাসেট এবং অতএব একটি মাঝারিভাবে কঠিন পরীক্ষার কেস উপস্থাপন করে) এবং তারপরে এটি অভিন্ন-সাধারণ তুলনা এবং অভিন্ন-ঘনিষ্ঠ তুলনার জন্য পুনরাবৃত্তি করুন। (যদি আপনার 16 টির বেশি মান না হয় তবে সাধারণ বিতরণগুলি থেকে সাধারণ বিতরণগুলি থেকে আলাদা করা সহজ নয় , তবে ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন))n.x=n.y=1616
set.seed(17) # Makes the results reproducible
n.per.rep <- 1000 # Number of iterations to compute each p-value
n.reps <- 1000 # Number of times to call `f`
n.x <- 16; n.y <- 16 # Dataset sizes
par(mfcol=c(2,3)) # Lay results out in three columns
null <- replicate(n.reps, f(n.x, n.y, n.per.rep))
hist(null, breaks=20)
plot(null)
normal <- replicate(n.reps, f(n.x, n.y, n.per.rep, dist.y=rnorm))
hist(normal, breaks=20)
plot(normal)
exponential <- replicate(n.reps, f(n.x, n.y, n.per.rep, dist.y=function(n) rgamma(n, 1)))
hist(exponential, breaks=20)
plot(exponential)
এবং Y উভয়ই অভিন্ন হলে বামদিকে পি-মানগুলির নাল বন্টন হয়। আমরা আশা করব যে হিস্টগ্রামটি ইউনিফর্মের খুব কাছাকাছি (চূড়ান্ত বাম প্রান্তে, যা "উল্লেখযোগ্য" ফলাফলের সীমার মধ্যে বিশেষ মনোযোগ দিচ্ছে) - এবং এটি আসলে - এবং সিমুলেশন চলাকালীন প্রাপ্ত মানের ক্রম, এটি নীচে দেখানো হয়েছে, এলোমেলো দেখায় - এবং এটি করে। এটা ভালো. এর অর্থ হল এক্স এবং ওয়াই যখন বিভিন্ন বিতরণ থেকে আসে তখন কীভাবে এই পরিবর্তন হয় তা অধ্যয়ন করতে আমরা পরবর্তী পদক্ষেপে যেতে পারি ।XYXY
মধ্যম প্লট পরীক্ষা অভিন্ন variates এক্স আমি বিরুদ্ধে 16 স্বাভাবিক variates Y আমি । প্রায়শই না, পি-মানগুলি প্রত্যাশার চেয়ে কম ছিল। যা এই পরীক্ষার জন্য একটি পার্থক্য চিহ্নিত করার জন্য একটি প্রবণতা নির্দেশ করে। তবে এটি কোনও বড় নয়। উদাহরণস্বরূপ, হিস্টোগ্রামের বামতম বারটি দেখায় যে 1000 রানের মধ্যে (1000 আলাদাভাবে সিমুলেটেড ডেটাসেট সমন্বিত), পি-মানটি কেবল 110 বারের চেয়ে 0.05 এর চেয়ে কম ছিল । যদি আমরা সেই "তাৎপর্যপূর্ণ" বিবেচনা করি তবে এই পরীক্ষার 16 বছরের উপর ভিত্তি করে ইউনিফর্ম এবং সাধারণ বিতরণের মধ্যে পার্থক্য সনাক্ত করার প্রায় 11 % সম্ভাবনা রয়েছে16xi16yif
0.051116প্রতিটি থেকে স্বাধীন মান। এটি বেশ কম শক্তি। তবে সম্ভবত এটি অনিবার্য, তাই এগিয়ে চলুন।
ডান হাতের প্লটগুলি অনুরূপভাবে কোনও ঘনিষ্ঠটির বিরুদ্ধে অভিন্ন বিতরণ পরীক্ষা করে। এই ফলাফল উদ্ভট। অভিন্ন ডেটা এবং তাত্পর্যপূর্ণ ডেটা একই দেখায় এই উপসংহারে এই পরীক্ষাটি প্রায়শই না হয়। এটি "মনে" বলে মনে হয় যে ইউনিফর্ম এবং এক্সফোনেনশিয়াল পার্থক্য দুটি ইউনিফর্ম ভেরিয়েবলের চেয়ে বেশি মিল! এখানে কি হচ্ছে?
সমস্যাটি হ'ল কোনও তাত্পর্যপূর্ণ বিতরণ থেকে প্রাপ্ত ডেটাতে কয়েকটি অত্যন্ত উচ্চ মানের হতে থাকে। আপনি যখন অভিন্ন-বিতরণকৃত মানগুলির বিপরীতে একটি স্ক্র্যাপপ্লট তৈরি করেন, তারপরে বাকি সমস্ত অংশের উপরের ডানদিকে কয়েক পয়েন্ট থাকবে। এটি একটি খুব উচ্চ সম্পর্কের সহগের সাথে মিলে যায়। সুতরাং, যখনই যে কোনও বিতরণের কয়েকটি চূড়ান্ত মান উত্পন্ন হয়, তখন বিতরণটি কতটা পৃথক তা পরিমাপের জন্য পারস্পরিক সম্পর্ক সহগ একটি ভয়ানক পছন্দ। এটি আরেকটি আরও খারাপ সমস্যার দিকে পরিচালিত করে: ডেটাসেটের আকার বাড়ার সাথে সাথে কয়েকটি চূড়ান্ত পর্যবেক্ষণ পাওয়ার সম্ভাবনা বৃদ্ধি পায়। সুতরাং, আমরা ডেটা পরিমাণ বাড়ার সাথে সাথে এই পরীক্ষাটি আরও খারাপ এবং খারাপ সঞ্চালনের আশা করতে পারি। কত ভয়ানক ...।
একটি ভাল পরীক্ষা
Questionণাত্মকভাবে মূল প্রশ্নের উত্তর দেওয়া হয়েছে। তবে বিতরণগুলির মধ্যে বৈষম্যের জন্য একটি সুপরিচিত, শক্তিশালী পরীক্ষা রয়েছে: কোলমোগোরভ-স্মারনভ পরীক্ষা। পারস্পরিক সম্পর্ক সহগের পরিবর্তে, এটি তাদের QQ প্লটে রেখা থেকে বৃহত্তম উল্লম্ব বিচ্যুতিটি গণনা করে । (যখন ডেটা একই বিতরণ থেকে আসে, কিউকিউ প্লটটি এই লাইনটি অনুসরণ করে Otherwise অন্যথায়, এটি কোথাও বিচ্যুত হবে; কেএস পরিসংখ্যানগুলি এ জাতীয় বৃহত্তম বিচ্যুতি গ্রহণ করে))y=x
এখানে একটি R
বাস্তবায়ন:
test.statistic <- function(x, y) {
ks.test(x,y)$statistic
}
এটি ঠিক: এটি সফ্টওয়্যারটিতে অন্তর্নির্মিত, সুতরাং আমাদের কেবল এটি কল করতে হবে। কিন্তু অপেক্ষা করো! আপনি যদি ম্যানুয়ালটি মনোযোগ সহকারে পড়েন তবে আপনি শিখবেন যে (ক) পরীক্ষাটি একটি পি-মান সরবরাহ করে তবে (খ) যে পি-মানটি (গুরুতরভাবে) ভুল x
এবং উভয়ই y
ডেটাसेट হয়। এটা তোলে ব্যবহারের জন্য দেয়ার উদ্দেশ্যে করা হচ্ছে যখন আপনি বিশ্বাস করেন আপনি কি জানেন ঠিক ডেটা কি বন্টন x
থেকে এসেছে এবং আপনি কী তা সত্যি কিনা দেখতে চাই। সুতরাং পরীক্ষাটি বিতরণের ডেটা যে বিতরণ y
থেকে এসেছে তার সম্পর্কে অনিশ্চয়তার যথাযথভাবে সামঞ্জস্য করে না ।
সমস্যা নেই! ক্রমবর্ধমান পরীক্ষার কাঠামোটি এখনও ঠিক তেমন বৈধ। পূর্বের পরিবর্তনটি করে test.statistic
, আমাদের যা করতে হবে তা হল পূর্বের অধ্যয়নটি পুনরায় চালানো, অপরিবর্তিত। ফলাফল এখানে।
p=0.20
700.0511
30α=550α=100.10
উপসংহার
সুতরাং, এই সেটিংটিতে অন্তর্নিহিত অসুবিধার কারণে পারস্পরিক সম্পর্ক পরীক্ষার সমস্যাগুলি নয়। পারস্পরিক সম্পর্ক পরীক্ষা খুব খারাপভাবে সঞ্চালিত হয় তা নয়, এটি একটি বহুল পরিচিত এবং উপলব্ধ পরীক্ষার তুলনায় খারাপ। (আমি অনুমান করব যে এটি অগ্রহণযোগ্য, এর অর্থ এটি কেএস পরীক্ষার ক্রমুয়েশন সংস্করণের তুলনায় গড় হিসাবে খারাপ হয়, গড়পড়তা ইঙ্গিত করে যে এটি ব্যবহার করার কোনও কারণ নেই))