ইভেন্টের মোট সংখ্যার জন্য কীভাবে একটি আত্মবিশ্বাসের বিরতি খুঁজে পাবেন


9

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

উদাহরণস্বরূপ, ধরা যাক আমি ১৩ টি ইভেন্ট সনাক্ত করেছি। আমি গণনা করতে সক্ষম হতে চাই যে পি এর উপর ভিত্তি করে 95% আত্মবিশ্বাসের সাথে 13 এবং 19 এর মধ্যে ইভেন্ট ছিল ।

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

সনাক্ত করতে সম্ভাব্যতা ঘটনা যদি সেখানে ছিল এন মোট হল:

binomial(n, k) * p^k * (1 - p)^(n - k)

উপর যে এর সমষ্টি এন থেকে অনন্ত হল:

1/p

যার অর্থ, মোট n ইভেন্টের সম্ভাবনা হ'ল:

f(n) = binomial(n, k) * p^(k + 1) * (1 - p)^(n - k)

সুতরাং আমি যদি 95% নিশ্চিত হতে চাই তবে আমার প্রথম আংশিক যোগফলটি পাওয়া উচিত f(k) + f(k+1) + f(k+2) ... + f(k+m)যা কমপক্ষে 0.95 এবং উত্তরটি [k, k+m]। এটাই কি সঠিক পন্থা? এছাড়াও উত্তরের কোনও বদ্ধ সূত্র আছে কি?

উত্তর:


11

আমি নেতিবাচক দ্বিপদী বিতরণ ব্যবহার করতে বেছে নেব , যা k_th সাফল্যের আগে এক্স ব্যর্থতা হওয়ার সম্ভাবনাটি ফিরিয়ে দেয়, যখন সাফল্যের স্থির সম্ভাবনা পি হয়।

একটি উদাহরণ ব্যবহার করে

k=17 # number of successes
p=.6 # constant probability of success

ব্যর্থতার জন্য গড় এবং এসডি দ্বারা দেওয়া হয়

mean.X <- k*(1-p)/p
sd.X <- sqrt(k*(1-p)/p^2) 

ব্যর্থতার এক্স বিতরণ, এক্স এর আকার প্রায় হবে

plot(dnbinom(0:(mean.X + 3 * sd.X),k,p),type='l')

সুতরাং, ব্যর্থতার সংখ্যা প্রায় (95% আত্মবিশ্বাসের সাথে) এর মধ্যে হবে

qnbinom(.025,k,p)
[1] 4

এবং

qnbinom(.975,k,p)
[1] 21

সুতরাং আপনি ইনরিভাল হবেন [কে + কিউএনবিনোম (.025, কে, পি), কে + কিউএনবিনম (.975, কে, পি)] (উদাহরণের সংখ্যাগুলি ব্যবহার করে [21,38])


5

ধরে নিচ্ছি যে আপনি এন, পি (এন) এর জন্য কোনও বিতরণ বেছে নিতে চান আপনি বেয়েস আইন প্রয়োগ করতে পারেন।

আপনি জানেন যে কে ঘটনাচক্রে ঘটেছে এর সম্ভাবনাটি দ্বি দ্বি বিতরণ দ্বারা নিয়ন্ত্রিত হয়েছে given

পি(|এন)=(এন)পি(1-পি)(এন-)

আপনি যে জিনিসটি সত্যই জানতে চান সেটি হ'ল এন ইভেন্টগুলি হওয়ার সম্ভাবনা হ'ল আপনি যদি কে পর্যবেক্ষণ করেছেন। বাইয়েস লিখেছেন:

পি(এন|)=পি(|এন)পি(এন)পি()

মোট সম্ভাবনার উপপাদ্য প্রয়োগ করে আমরা লিখতে পারি:

পি(এন|)=পি(|এন)পি(এন)Σএন'পি(|এন')পি(এন')

সুতরাং বিতরণ সম্পর্কে আরও তথ্য ছাড়াই আপনি সত্যিকার অর্থে আর যেতে পারবেন না।পি(এন)

যাইহোক, আপনি জন্য একটি বিতরণ বাছাই করতে চান তাহলে , যার জন্য একটি মান আছে বৃহত্তর চেয়েও , অথবা পর্যাপ্ত শূন্য পাসে, তাহলে আপনি একটি বিট ভালো করতে পারে। উদাহরণস্বরূপ, ধরে নিন যে এর বিতরণ পরিসীমা এ সমান । এই ক্ষেত্রে:পি(এন)এনপি(এন)=0এন[0,এনমিএকটিএক্স]

পি(এন)=1এনমিএকটিএক্স

বায়েশিয়ান সূত্রগুলি এটিকে সরল করে:

পি(এন|)=পি(|এন)Σএন'পি(|এন')

সমস্যার চূড়ান্ত অংশ হিসাবে, আমি সম্মত হই যে সর্বোত্তম পন্থা হল ওপরে একটি সংশ্লেষক সমষ্টি সম্পাদন করা, ক্রমবর্ধমান সম্ভাব্যতা বন্টন কার্য তৈরি করা এবং 0.95 সীমা না পৌঁছানো পর্যন্ত পুনরাবৃত্তি করা।পি(এন|)

এই প্রশ্নটি এসও থেকে স্থানান্তরিত হয়েছে, পাইথনের খেলনা নমুনা কোডটি নীচে সংযুক্ত করা হয়েছে

import numpy.random

p = 0.8
nmax = 200

def factorial(n):
    if n == 0:
        return 1
    return reduce( lambda a,b : a*b, xrange(1,n+1), 1 )

def ncr(n,r):
    return factorial(n) / (factorial(r) * factorial(n-r))

def binomProbability(n, k, p):
    p1 = ncr(n,k)
    p2 = p**k
    p3 = (1-p)**(n-k)
    return p1*p2*p3

def posterior( n, k, p ):
    def p_k_given_n( n, k ):
        return binomProbability(n, k, p)
    def p_n( n ):
        return 1./nmax
    def p_k( k ):
        return sum( [ p_n(nd)*p_k_given_n(nd,k) for nd in range(k,nmax) ] )
    return (p_k_given_n(n,k) * p_n(n)) / p_k(k)


observed_k   = 80
p_n_given_k  = [ posterior( n, observed_k, p ) for n in range(0,nmax) ]
cp_n_given_k = numpy.cumsum(p_n_given_k)
for n in xrange(0,nmax):
    print n, p_n_given_k[n], cp_n_given_k[n]

3

আপনি যদি ইভেন্টগুলি পরিমাপ করেন এবং আপনার সনাক্তকরণের দক্ষতা জানেন তবে আপনি স্বয়ংক্রিয়ভাবে "সত্য" গণনা গণিত পর্যন্ত আপনার মাপা ফলাফলটি সংশোধন করতে পারবেন ।পিটিRতোমার দর্শন লগ করা=/পি

আপনার প্রশ্নটি তখনটিRতোমার দর্শন লগ করা যেখানে পর্যবেক্ষণগুলির 95% হ্রাস পাবে। এই ব্যবধানটি অনুমান করার জন্য আপনি ফিল্ডম্যান-কাজিন্স পদ্ধতিটি ব্যবহার করতে পারেন । আপনার কাছে রুটের অ্যাক্সেস থাকলে আপনার জন্য এই গণনাটি করার জন্য একটি শ্রেণি রয়েছে।

আপনি ইভেন্টের অপ্রকাশিত সংখ্যা থেকে ফিল্ডম্যান-কাজিনদের সাথে উপরের এবং নিম্ন সীমাটি গণনা করবেন এবং তারপরে এগুলি 100% পর্যন্ত স্কেল করুন 1/পি। এইভাবে পরিমাপের আসল সংখ্যাটি আপনার অনিশ্চয়তা নির্ধারণ করে, কিছু মাপানো নম্বর নয় যা মাপা হয়নি।

{
gSystem->Load("libPhysics");

const double lvl = 0.95;
TFeldmanCousins f(lvl);

const double p = 0.95;
const double k = 13;
const double k_true = k/p;

const double k_bg = 0;

const double upper = f.CalculateUperLimit(k, k_bg) / p;
const double lower = f.GetLowerLimit() / p;

std::cout << "["
  lower <<"..."<<
  k_true <<"..."<<
  upper <<
  "]" << std::endl;
}

ধন্যবাদ, দুর্দান্ত লাগছে। আমি মনে করি এটিই আমি উত্তর খুঁজছিলাম।
স্টেটক

2

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

বলার পরে, একবার আপনার একটি অনুমান হয় পি আপনি দ্বিগুণ পিডিএফ ব্যবহার করে বিভিন্ন উপলব্ধি যেমন 14, 15 ইত্যাদি পর্যবেক্ষণ করবেন এমন সম্ভাবনাটি গণনা করতে পারেন।


ভাল আমি ইতিমধ্যে পি জানি। আমি সনাক্ত করা ইভেন্টগুলির পরিমাণও জানি: কে। সুতরাং মোট ঘটনাগুলি কোথাও কে / পি এর কাছাকাছি। আমি কে / পি এর চারপাশে একটি বিরতি জানতে চাই যাতে আমি 95% নিশ্চিত হয়ে বলতে পারি যে ইভেন্টের মোট সংখ্যা এটির মধ্যে রয়েছে। এটি কি আরও অর্থবোধ করে?
স্টেটক

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