আমি কীভাবে একটি ডি 20 এর ন্যায্যতা পরীক্ষা করতে পারি?


29

আমি কীভাবে বিশ পার্শ্বযুক্ত ডাই (ডি 20) এর ন্যায্যতা পরীক্ষা করতে পারি? স্পষ্টতই আমি মানগুলির বন্টনকে অভিন্ন বিতরণের সাথে তুলনা করব। আমি অস্পষ্টভাবে মনে করি কলেজে চি-স্কোয়ার পরীক্ষা ব্যবহার করেছি। ডাই সুষ্ঠু কিনা তা দেখতে আমি কীভাবে এটি প্রয়োগ করতে পারি?


আমি একটি ডি 6 (ছয়তরফা ডাই) জন্য একটি পরীক্ষা সম্পর্কে চিন্তা করেছি। এর মধ্যে পরীক্ষার জন্য প্রয়োজনীয় রোলগুলির সংখ্যা অনুসন্ধান করা অন্তর্ভুক্ত। এটি খুব মৌলিক তবে তবুও এটি গণনা করতে দীর্ঘ সময় নেয়। কটাক্ষপাত আছে localtrainbeplac.bplaced.net/die.php

উত্তর:


15

আর কোড সহ একটি উদাহরণ এখানে। আউটপুট # এর আগে আগে হয়। একটি ভাল মরা:

rolls <- sample(1:20, 200, replace = T)
table(rolls)
#rolls
# 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 
# 7  8 11  9 12 14  9 14 11  7 11 10 13  8  8  5 13  9 10 11 
 chisq.test(table(rolls), p = rep(0.05, 20))

#         Chi-squared test for given probabilities
#
# data:  table(rolls) 
# X-squared = 11.6, df = 19, p-value = 0.902

একটি পক্ষপাতদুষ্ট ডাই - প্রত্যেকের 1 থেকে 10 নম্বরগুলির সম্ভাবনা রয়েছে 0.045; যারা 11-20 এর 0,055 - 200 থ্রো হওয়ার সম্ভাবনা রয়েছে:

rolls <- sample(1:20, 200, replace = T, prob=cbind(rep(0.045,10), rep(0.055,10)))
table(rolls)
#rolls
# 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 
# 8  9  7 12  9  7 14  5 10 12 11 13 14 16  6 10 10  7  9 11 
chisq.test(table(rolls), p = rep(0.05, 20))

#        Chi-squared test for given probabilities
#
# data:  table(rolls) 
# X-squared = 16.2, df = 19, p-value = 0.6439

পক্ষপাতিত্বের আমাদের কাছে পর্যাপ্ত প্রমাণ নেই (পি = 0.64)।

একটি পক্ষপাতদুষ্ট ডাই, 1000 নিক্ষেপ:

rolls <- sample(1:20, 1000, replace = T, prob=cbind(rep(0.045,10), rep(0.055,10)))
table(rolls)
#rolls
# 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 
# 42 47 34 42 47 45 48 43 42 45 52 50 57 57 60 68 49 67 42 63 
chisq.test(table(rolls), p = rep(0.05, 20))

#        Chi-squared test for given probabilities
#
# data:  table(rolls) 
# X-squared = 32.36, df = 19, p-value = 0.02846

এখন পি <0.05 এবং আমরা পক্ষপাতের প্রমাণ দেখতে শুরু করছি। আপনি যে ধরণের পক্ষপাত সনাক্ত করতে পারেন এবং যে কোনও পি-লেভেলের সাহায্যে এটি সনাক্ত করার জন্য প্রয়োজনীয় নিক্ষেপের সংখ্যাটি নির্ধারণ করার জন্য আপনি অনুরূপ সিমুলেশনগুলি ব্যবহার করতে পারেন।

বাহ, আরও 2 টি উত্তর আমি টাইপিং শেষ করার আগেই।


সমস্ত উত্তর একই, তবে কিছুটা আলাদা। আমি মনে করি না এটি সত্যিই গুরুত্বপূর্ণ।
csgillespie

উত্তর করার জন্য ধন্যবাদ. আমি এটি গ্রহণ করেছি কারণ এতে পি মানগুলি এবং প্রত্যাখ্যান সম্পর্কিত সমস্ত নবাগত জিনিস রয়েছে।
সি রস 20

10

আপনি কি হাত দিয়ে এটি করতে চান, বা এক্সেল?

আপনি যদি এটি আর তে করতে চান তবে আপনি এটি এইভাবে করতে পারেন:

পদক্ষেপ 1: আপনার ডাই রোল (বলুন) 100 বার।

পদক্ষেপ 2: আপনার প্রতিটি নম্বর কতবার পেয়েছেন তা গণনা করুন

পদক্ষেপ 3: এগুলিকে আর এর মতো রাখুন (আমি যে সংখ্যা লিখেছি তার পরিবর্তে প্রতিটি ডাই রোল আপনি পেয়েছেন তার সংখ্যা লিখুন):

x <- as.table(c(1,2,3,4,5,6,7,80,9,10,11,12,13,14,15,16,17,18,19,20))

পদক্ষেপ 4: কেবল এই আদেশটি চালান:

chisq.test(x)

যদি পি মান কম হয় (যেমন: বেলো 0.05) - আপনার ডাই ভারসাম্যহীন নয়।

এই আদেশটি ভারসাম্যহীন ডাইয়ের অনুকরণ করে (P = ~ .5):

chisq.test(table(sample(1:20, 100, T)))

এবং এটি ভারসাম্যহীন ডাইয়ের অনুকরণ করে:

chisq.test(table(c(rep(20,10),sample(1:20, 100, T))))

(এটি পি = ~ .005 সম্পর্কে হওয়া উচিত)

এখন আসল প্রশ্ন হ'ল কতজন মারা যাওয়ার বিষয়টি সনাক্তকরণের ক্ষমতার স্তরে নিয়ে যাওয়া উচিত। কেউ যদি এর সমাধান করতে চায় তবে তাকে স্বাগত জানানো হচ্ছে ...

আপডেট করুন: এছাড়াও এই বিষয়ে একটা চমৎকার নিবন্ধ এখানে


5
রেফারেন্সের জন্য +1: এটি ব্যবহারিক ডাই টেস্টিংয়ের একটি দীর্ঘ গ্রন্থ। অর্ধেক নীচে লেখক একটি কেএস পরীক্ষা ব্যবহার করার পরামর্শ দিয়েছিলেন এবং তারপরে ন্যায্যতা থেকে বিচ্যুততার নির্দিষ্ট ফর্মগুলি সনাক্ত করার উপায়ে চলে। তিনি এও ভালভাবেই জানেন যে চি-স্কোয়ারটি প্রতি মুখের প্রতি অল্প সংখ্যক রোলগুলির (যেমন, 20-পক্ষের ডাইয়ের 100 রোলের জন্য), শক্তি পরিবর্তিত হয় ইত্যাদি ইত্যাদিগুলির একটি অনুমান is স্পষ্টভাবে জানা আছে।
হোবার

8

কেউ এখনও কোনও বায়েশিয়ান পদ্ধতির পরামর্শ দেয়নি? আমি জানি প্রশ্নটি ইতিমধ্যে উত্তর দেওয়া হয়েছে, কিন্তু হেক কি। নীচে কেবলমাত্র 3-পক্ষের মরার জন্য, তবে আমি অনুমান করছি যে এটি কীভাবে ঠিক করা যায় obviousn=37

প্রথমে, @ গ্লেন_বি যা বলেছিলেন তার সাথে সামঞ্জস্য রেখে একজন বেইসিয়ান আসলে মারা যাবেন তা ঠিক ন্যায্য কিনা সে সম্পর্কে আগ্রহী নয় - তা নয়। তিনি (গুলি) কীসের বিষয়ে চিন্তা করেন তা হ'ল এটি যথেষ্ট নিকটবর্তী কিনা , প্রসঙ্গে "যথেষ্ট" অর্থ যেই হোক না কেন, প্রতিটি পক্ষের পক্ষে 5% ন্যায্য বলে।

p1p2p3p=(p1,p2,p3)p1+p2+p3=1α0=(1,1,1)

X=(X1,X2,X3)Xp=(p1,p2,p3)α=(x1+1,x2+1,x3+1)

p

যাইহোক, এখানে কীভাবে (আর এর সাথে) রয়েছে:

প্রথমে কিছু তথ্য পান। আমরা মরা 500 বার রোল।

set.seed(1)
y <- rmultinom(1, size = 500, prob = c(1,1,1))

(আমরা একটি সুষ্ঠু ডাই দিয়ে শুরু করছি; বাস্তবে এই ডেটাগুলি পর্যবেক্ষণ করা হবে))

p

library(MCMCpack)
A <- MCmultinomdirichlet(y, alpha0 = c(1,1,1), mc = 5000)
plot(A)
summary(A)

পরিশেষে, আসুন আমাদের পরবর্তী সম্ভাবনাগুলি (ডেটা পর্যবেক্ষণ করার পরে) অনুমান করতে পারি যে প্রতিটি সমন্বয়কালে মৃতু্যটি 0.05 এর মধ্যে থাকে।

B <- as.matrix(A)
f <- function(x) all((x > 0.28)*(x < 0.38))
mean(apply(B, MARGIN = 1, FUN = f))

ফলাফলটি আমার মেশিনে প্রায় 0.9486। (সত্যিই অবাক হওয়ার কিছু নেই Not

দ্রুত মন্তব্য: আমাদের পক্ষে উদাহরণস্বরূপ কোনও অ-তথ্যমূলক ব্যবহার করা সম্ভবত যুক্তিযুক্ত নয়। যেহেতু একটি প্রশ্নও রয়েছে যে সম্ভবত মরা প্রথম স্থানে প্রায় ভারসাম্যহীন প্রদর্শিত হয়, তাই সমস্ত স্থানাঙ্কে 1/3 এর কাছাকাছি ঘনত্বযুক্ত এমন একটি অগ্রাধিকারটি বেছে নেওয়া আরও ভাল। এর উপরে কেবল "ন্যায্য কাছাকাছি" এর অনুমানযুক্ত উত্তর সম্ভাবনা আরও উচ্চতর হয়ে উঠত।


8

ফিট টেস্টের একটি চি-স্কোয়ারড ধার্মিকতা হ'ল কঠোর অভিন্নতা থেকে সমস্ত ধরণের বিচ্যুতি সন্ধান করা। এটি ডি 4 বা ডি 6 এর সাথে যুক্তিসঙ্গত, তবে একটি ডি 20 এর সাথে আপনি সম্ভবত প্রতিটি ফলাফলের অধীনে রোল করার সম্ভাবনা (বা সম্ভবত অতিক্রম করে) যা করতে হবে তার কাছাকাছি যাচাই করতে আগ্রহী।

আমি যেটা পেয়ে যাচ্ছি তা হ'ল ন্যায্যতা থেকে কিছু ধরণের বিচ্যুতি ঘটে যা আপনি ডি 20 ব্যবহার করছেন এবং অন্যান্য ধরণের বিচ্যুতির বিষয়গুলিকে খুব বেশি প্রভাবিত করবে যা খুব কমই গুরুত্বপূর্ণ এবং চি-স্কোয়ার পরীক্ষাটি শক্তিকে আরও আকর্ষণীয় মধ্যে ভাগ করবে এবং কম আকর্ষণীয় বিকল্প। ফলাফলটি হ'ল ন্যায্যতা থেকে এমনকি মোটামুটি মাঝারি বিচ্যুতি বাছাই করার জন্য পর্যাপ্ত শক্তি অর্জন করার জন্য আপনার বিপুল সংখ্যক রোলগুলি দরকার - আপনি কখনও বসে বসে জেনারেট করতে চান না তার চেয়ে অনেক বেশি।

(ইঙ্গিত: আপনার ডি 20 এর জন্য অ-ইউনিফর্ম সম্ভাব্যতার কয়েকটি সেট নিয়ে আসুন যা আপনি ডি20 এর জন্য যে ফলাফলটি ব্যবহার করছেন তা সবচেয়ে বেশি প্রভাব ফেলবে এবং তাদের বিরুদ্ধে আপনার কী ক্ষমতা রয়েছে তা সন্ধানের জন্য সিমুলেশন এবং চি-স্কোয়ার্ড পরীক্ষাগুলি ব্যবহার করবেন) বিভিন্ন সংখ্যক রোলস, যাতে আপনার প্রয়োজনীয় রোলগুলির সংখ্যার কিছুটা ধারণা পান))

"আকর্ষণীয়" বিচ্যুতিগুলি পরীক্ষা করার বিভিন্ন উপায় রয়েছে (যেগুলি ডি 20 এর সাধারণ ব্যবহারগুলিকে যথেষ্ট পরিমাণে প্রভাবিত করতে পারে)

আমার সুপারিশটি একটি ইসিডিএফ পরীক্ষা করা উচিত (কোলমোগোরভ-স্মিমনভ / অ্যান্ডারসন-ডার্লিং-টাইপ পরীক্ষা - তবে আপনি সম্ভবত সেই রক্ষণশীলতার জন্য সামঞ্জস্য করতে চান যা বিতরণটি পৃথক হতে পারে - কমপক্ষে নামমাত্র আলফা স্তরটি তুলে দিয়ে, এমনকি পরীক্ষার পরিসংখ্যান বিতরণ কীভাবে ডি 20 এর জন্য যায় তা কেবল মাত্র বিতরণকে অনুকরণ করে আরও ভাল)।

এগুলি এখনও কোনও ধরণের বিচ্যুতি বাছাই করতে পারে তবে তারা আরও গুরুত্বপূর্ণ ধরণের বিচ্যুতির তুলনায় তুলনামূলকভাবে বেশি ওজন রাখে।

আরও শক্তিশালী পদ্ধতির জন্য একটি পরীক্ষা পরিসংখ্যান তৈরি করা যা বিশেষভাবে আপনার কাছে সবচেয়ে গুরুত্বপূর্ণ বিকল্পগুলির সাথে সংবেদনশীল তবে এটিতে আরও কিছুটা কাজ জড়িত।


ইন এই উত্তর আমি ডাই পৃথক বিচ্যুতি আকারের উপর ভিত্তি পরীক্ষার জন্য একটি গ্রাফিকাল পদ্ধতি সুপারিশ। চি-স্কোয়ার টেস্টের মতো এটি ডি 4 বা ডি 6 এর মতো কয়েকটি পাশ দিয়ে ডাইসের জন্য আরও সার্থক করে তোলে।


7

আপনি যদি প্রতিটি সংখ্যা প্রদর্শিত হয় তার বারের সংখ্যাটি পরীক্ষা করতে আগ্রহী হন, তবে একটি চি-স্কোয়ার্ড পরীক্ষা উপযুক্ত হবে। মনে করুন আপনি একটি ডাই এন বার গড়াবেন। আপনি প্রতিটি মান N / 20 বার উঠে আসার আশা করবেন। সমস্ত চ-বর্গ পরীক্ষা যা আপনি যা পান তার সাথে তুলনা করে। যদি এই পার্থক্যটি খুব বেশি হয়, তবে এটি কোনও সমস্যা নির্দেশ করে।

অন্যান্য পরীক্ষা

যদি আপনি এলোমেলোতার অন্যান্য দিকগুলিতে আগ্রহী হন, উদাহরণস্বরূপ, যদি আপনি পাশা নীচের আউটপুটটি দেন:

1, 2, 3, 4...., 20,1,2,..

তারপরে যদিও এই আউটপুটটিতে প্রতিটি পৃথক মানের সঠিক সংখ্যা রয়েছে, তবে এটি স্পষ্টভাবে এলোমেলো নয়। এক্ষেত্রে এই প্রশ্নটি একবার দেখুন । এটি সম্ভবত কেবল বৈদ্যুতিন ডাইসের জন্য অর্থবোধ করে।

চি-স্কোয়ার পরীক্ষা আর

আর এ, হবে

##Roll 200 times
> rolls = sample(1:20, 200, replace=TRUE)
> chisq.test(table(rolls), p = rep(0.05, 20))
    Chi-squared test for given probabilities
data:  table(rolls) 
X-squared = 16.2, df = 19, p-value = 0.6439

## Too many 1's in the sample
> badrolls = cbind(rolls, rep(1, 10))   
> chisq.test(table(badrolls), p = rep(0.05, 20))

    Chi-squared test for given probabilities

data:  table(badrolls) 
X-squared = 1848.1, df = 19, p-value < 2.2e-16

0

রোলগুলির একটি সেটের জন্য সম্ভবত কোনওটিকে তেমন ফোকাস করা উচিত নয়।

6 বারের ডাই 10 বার ঘূর্ণায়নের চেষ্টা করুন এবং 8 বার প্রক্রিয়াটি পুনরাবৃত্তি করুন।

> xy <- rmultinom(10, n = N, prob = rep(1, K)/K)
> xy
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,]    3    1    0    0    1    1    2    1
[2,]    0    0    1    2    1    1    0    1
[3,]    1    3    6    0    1    3    2    4
[4,]    2    1    0    5    2    0    2    1
[5,]    3    2    0    2    1    3    3    0
[6,]    1    3    3    1    4    2    1    3

আপনি যে প্রতিটি পুনরাবৃত্তি যোগফল 10 হবে যোগ করতে পারেন।

> apply(xy, MARGIN = 2, FUN = sum)
[1] 10 10 10 10 10 10 10 10

প্রতিটি পুনরাবৃত্তির জন্য (কলাম অনুসারে) আপনি চি ^ 2 পরীক্ষা ব্যবহার করে ফিটের সৎকাজ গণনা করতে পারেন।

unlist(unname(sapply(apply(xy, MARGIN = 2, FUN = chisq.test), "[", "p.value")))
[1] 0.493373524 0.493373524 0.003491841 0.064663031 0.493373524 0.493373524 0.669182902
[8] 0.235944538

আপনি যত বেশি ছোঁড়াবেন ততই কম পক্ষপাতিত্ব পাবেন। আসুন এটি একটি বিশাল সংখ্যার জন্য করি।

K <- 20
N <- 10000

xy <- rmultinom(100, n = N, prob = rep(1, K)/K)
hist(unlist(unname(sapply(apply(xy, MARGIN = 2, FUN = chisq.test), "[", "p.value"))))

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.