বার্নোল্লি পরীক্ষায় "সাফল্যের" সম্ভাবনা অনুমান করার জন্য নমুনা আকারের প্রয়োজন


13

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

যদি আমি মূলত রিভার্স-ইঞ্জিনিয়ারকে যদি প্রোগ্রামাররা কতবার পুরষ্কার প্রদান করা হয় তা নির্ধারণ করতে ব্যবহৃত মূল্য নির্ধারণ করতে ব্যবহৃত হয় (আনুমানিক 15-30%), আমি কীভাবে আমার প্রয়োজনীয় নমুনার সংখ্যা গণনা করব?

আমি এখানে "সত্য সম্ভাবনার অনুমানের" বিভাগটি দিয়ে শুরু করেছি: চেকিং_ওথের_এ_কয়েন_আইস_ফায়ার , তবে আমি নিশ্চিত নই যে আমি সঠিক পথে চলে যাচ্ছি। আমি 95% আত্মবিশ্বাসে সর্বোচ্চ 3% ত্রুটির জন্য প্রয়োজনীয় 1000 ডলার নমুনার ফলাফল পাচ্ছি।

শেষ পর্যন্ত, আমি এখানে সমাধান করার চেষ্টা করছি:

  • ইভেন্ট # 1 পুরষ্কার দেয় 1.0 আর সময়ের X%
  • ইভেন্ট # 2 সময়টির ১%, ১% প্রদান করে

কোন ইভেন্টটি আরও দক্ষ তা নির্ধারণ করার জন্য আমি এক্স ও ওয়াইয়ের যথাযথভাবে যথেষ্ট অনুমান করতে চাই। বড় আকারের নমুনার আকারগুলি একটি সমস্যা কারণ আমি প্রতি 20 মিনিটে সর্বোচ্চ 1 টি নমুনা পেতে পারি।


6
" আমি 95% আত্মবিশ্বাসে সর্বোচ্চ 3% ত্রুটির জন্য প্রয়োজনীয় 1000 ডলার নমুনার ফল পাচ্ছি। " --- বেশ কিছু; এজন্য পোলে প্রায়শই প্রায় 1000 জন লোককে নমুনা দেওয়া হয় ... এবং তারপরে 3% ক্রমানুসারে একটি মার্জিনের ত্রুটি জানানো হয়। শতাংশটি 0 বা 1 এর কাছাকাছি না থাকলে এটি বেশ ভালভাবে প্রয়োগ হয় (এটি ক্ষেত্রে এটি খুব প্রশস্ত)
গ্লেন_বি -রিনস্টেট মনিকা

1
"যা আরও কার্যকর" বলতে কী বোঝ? আপনার কি অর্থ "কোন ইভেন্টের প্রত্যাশার পুরষ্কার বেশি"?
গ্লেন_বি-রিনস্টেট মনিকা

1
হ্যাঁ, আমি এটি চেষ্টা করার চেষ্টা করছি যে সময়ের সাথে সাথে এর চেয়ে বেশি প্রত্যাশিত পুরষ্কার রয়েছে। আমি দুটি ইভেন্টই করতে পারি না - একটি বা অন্যটি বেছে নিতে হবে। ইভেন্ট # 1 যদিও কম পুরষ্কার দেয়, সম্ভবত এটি বেশিবার পুরষ্কার দেয়।
ব্র্যাড

2
আপনি অনুক্রমিক নমুনা ব্যবহার করতে পারেন , যেখানে নমুনার আকার আগেই ঠিক করা হয়নি। এই পদ্ধতির সুবিধা হ'ল এটি (অজানা) সম্ভাবনা যাই হোক না কেন এটি একটি আত্মবিশ্বাসের গ্যারান্টি দেয় । উদাহরণস্বরূপ এখানে দেখুন ; বিশেষত শেষ রেফারেন্স করা কাগজ
লুইস মেন্ডো

উত্তর:


5

আপনার পৃথক বিচারগুলি স্বতন্ত্র বলে ধরে নিলে আপনি দ্বি দ্বিগত পর্যবেক্ষণ করুন যেখানে আপনি এন সম্পর্কে সিদ্ধান্ত নিয়েছেন এবং পি অনুমান করতে চান । এখন সর্বোচ্চ সম্ভাবনা মূল্নির্ধারক পি , নমুনা ভগ্নাংশ পি = এক্স / এন ভেরিয়ানস পি ( 1 - পি )

এক্স~বিন(এন,পি)
এনপিপিপি^=এক্স/এন যাপি=1 এরজন্য অর্জিত হয়পি(1-পি)এন14এন । সুতরাং স্ট্যান্ডার্ড ত্রুটি1/√ √পি=12 । একটি বৃহত-নমুনা এপ্রিলোমিক্স আত্মবিশ্বাসের বিরতিতে প্রায় 2 টি স্ট্যান্ডার্ড ত্রুটি অর্ধ-প্রস্থ থাকে, সুতরাং সর্বোচ্চ0.03ধরে রাখতে, আপনাকে2সমাধান করতে হবে 1/4এন=12এন0.03 যাএন1112দেয়। এখন আপনি অর্ধদ্বীপের জন্য অন্যান্য প্রয়োজনীয়তার জন্য একইভাবে সমাধান করতে পারেন। যদি আপনি জানেন (বা ধরে নিতে ইচ্ছুক) যেপি0.5 থেকে সীমাবদ্ধ, আপনি কিছুটা কম পর্যবেক্ষণ দিয়ে করতে পারেন।
22এন0.03
এন1112পি

2

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

হার্ড-কোডড মানটির ফাংশন হিসাবে নমুনার আকারটি পরিবর্তিত হতে চলেছে।

সুতরাং এখানে কোড:

#main code
#want 95% CI to be no more than 3% from prevalence
#expect prevalence around 15% to 30%
#think sample size is ~1000

my_prev <- seq(from=0.15, to=0.30, by = 0.002)

samp_sizes <- seq(from=400, to=800, by = 1)
samp_sizes

N_loops <- 2000

store <- matrix(0,
                nrow = length(my_prev)*length(samp_sizes),
                ncol = 3)
count <- 1

#for each prevalence
for (i in 1:length(my_prev)){

     #for each sample size
     for(j in 1:length(samp_sizes)){

          temp <- 0

          for(k in 1:N_loops){

               #draw samples
               y <- rbinom(n = samp_sizes[j],
                           size = 1,
                           prob = my_prev[i])

               #compute prevalence, store
               temp[k] <- mean(y)

          }

          #compute 5% and 95% of temp
          width <-  diff(quantile(x = temp,probs = c(0.05,0.95)))

          #store samp_size, prevalence, and CI half-width
          store[count,1] <- my_prev[i]
          store[count,2] <- samp_sizes[j]
          store[count,3] <- width[[1]]

          count <- count+1
     }

}


store2 <- numeric(length(my_prev))

#go through store
for(i in 1:length(my_prev)){
     #for each prevalence
     #find first CI half-width below 3%
     #store samp_size

     idx_p <- which(store[,1]==my_prev[i],arr.ind = T)
     idx_p

     temp <- store[idx_p,]
     temp

     idx_2 <- which(temp[,3] <= 0.03*2, arr.ind = T)
     idx_2

     temp2 <- temp[idx_2,]
     temp2

     if (length(temp2[,3])>1){
     idx_3 <- which(temp2[,3]==max(temp2[,3]),arr.ind = T)
     store2[i] <- temp2[idx_3[1],2]
     } else {
          store2[i] <- temp2[2]
     }


}


#plot it
plot(x=my_prev,y=store2,
     xlab = "prevalence", ylab = "sample size")
lines(smooth.spline(x=my_prev,y=store2),col="Red")
grid()

±

নমুনা আকার বনাম প্রসার

50% থেকে দূরে, "কিছুটা কম পর্যবেক্ষণ" লাগবে বলে মনে হয়, যেমন কেজেটিল বলেছিল।

আমি মনে করি যে 400 টি নমুনার আগে আপনি প্রসার সম্পর্কে একটি শালীন প্রাক্কলন পেতে পারেন এবং যেতে যেতে আপনার নমুনা কৌশলটি সামঞ্জস্য করতে পারেন। আমি মনে করি না যে মাঝখানে কোনও জগ থাকা উচিত, এবং সুতরাং আপনি এন_লুপগুলিকে 10e3 অবধি ধাক্কা মেরে এবং "মাই_প্রিভ" এর "বাই" কে 0.001 এ নামিয়ে দিতে পারেন।


যদি এটি ধীর হয় তবে আপনি পদক্ষেপগুলি খুব ছোট করে তোলার কারণ এটি!
কেজেটিল বি হালওয়ারসেন

@ কেজেটিভালভর্সেন - এটি যথেষ্ট ভাল ছিল। "ধীর "টি একটি দাবি অস্বীকারকারী এবং একটি" হ্যান্ড্রেল "যা প্রশ্নকারীকে পদ্ধতিতে জড়িত হওয়াতে আরও স্বাচ্ছন্দ্য বোধ করতে সহায়তা করে। আপনি যদি বিশ্লেষক পদ্ধতিটি জানেন না, একটি সিমুলেশন আপনাকে নিজেকে শেখাতে সহায়তা করতে পারে, বা আপনাকে যদি সাহায্যের জন্য জিজ্ঞাসা করার দরকার হয় তবে সিদ্ধান্ত নিতে সহায়তা করতে পারে।
EngrStudent

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