Binom Rastgele Değişkenleri
Bu yazıda Binom Rastgele Değişkenlerini tartışacağız.
Önkoşul: Rastgele Değişkenler
Belirli bir tür ayrık Belirli sayıda deneme veya denemede belirli bir olayın ne sıklıkta meydana geldiğini sayan rastgele değişken.
Bir değişkenin binom rastgele değişken olabilmesi için aşağıdaki koşulların TÜMÜNÜN karşılanması gerekir:
- Sabit sayıda deneme vardır (sabit bir örneklem büyüklüğü).
- Her denemede ilgilenilen olay ya gerçekleşir ya da gerçekleşmez.
- Oluşma (veya oluşmama) olasılığı her denemede aynıdır.
- Denemeler birbirinden bağımsızdır.
Matematiksel Gösterimler
n = number of trials
p = probability of success in each trial
k = number of success in n trials
Şimdi n denemede k başarı olasılığını bulmaya çalışıyoruz.
Burada her denemedeki başarı olasılığı diğer denemelerden bağımsız olarak p'dir.
Yani ilk önce başarının olacağı k sayıda denemeyi seçiyoruz ve geri kalan n-k sayıda denemede başarısızlığın olacağını seçiyoruz. Bunu yapmanın yollarının sayısı:
![]()
Tüm n olaylar bağımsız olduğundan, n denemede k başarı olasılığı, her deneme için olasılığın çarpımına eşdeğerdir.
Burada k başarı ve n-k başarısızlık var. Yani her bir yolun k başarı ve n-k başarısızlık elde etme olasılığı şöyledir:
![]()
Dolayısıyla nihai olasılık
(number of ways to achieve k success
and n-k failures)
*
(probability for each way to achieve k
success and n-k failure)
Daha sonra Binom Rastgele Değişken Olasılığı şu şekilde verilir:
![]()
X, deneme sayısı n ve her denemedeki başarı olasılığı p olan bir binom rastgele değişken olsun.
Beklenen başarı sayısı şu şekilde verilmektedir:
E[X] = np
Başarı sayısının varyansı şu şekilde verilir:
Var[X] = np(1-p)
Örnek 1 : Bir bozuk paranın (tura gelme olasılığı = 1/3) 10 kez atıldığı rastgele bir deney düşünün. Ortaya çıkan tura sayısının 5 olma olasılığını bulun.
Çözüm :
Let X be binomial random variable
with n = 10 and p = 1/3
P(X=5) = ?![]()
![]()
İşte aynı uygulama
C++
Java// C++ program to compute Binomial Probability #include#include using namespace std ; // function to calculate nCr i.e. number of // ways to choose r out of n objects int nCr ( int n int r ) { // Since nCr is same as nC(n-r) // To decrease number of iterations if ( r > n / 2 ) r = n - r ; int answer = 1 ; for ( int i = 1 ; i <= r ; i ++ ) { answer *= ( n - r + i ); answer /= i ; } return answer ; } // function to calculate binomial r.v. probability float binomialProbability ( int n int k float p ) { return nCr ( n k ) * pow ( p k ) * pow ( 1 - p n - k ); } // Driver code int main () { int n = 10 ; int k = 5 ; float p = 1.0 / 3 ; float probability = binomialProbability ( n k p ); cout < < 'Probability of ' < < k ; cout < < ' heads when a coin is tossed ' < < n ; cout < < ' times where probability of each head is ' < < p < < endl ; cout < < ' is = ' < < probability < < endl ; } Python3// Java program to compute Binomial Probability import java.util.* ; class GFG { // function to calculate nCr i.e. number of // ways to choose r out of n objects static int nCr ( int n int r ) { // Since nCr is same as nC(n-r) // To decrease number of iterations if ( r > n / 2 ) r = n - r ; int answer = 1 ; for ( int i = 1 ; i <= r ; i ++ ) { answer *= ( n - r + i ); answer /= i ; } return answer ; } // function to calculate binomial r.v. probability static float binomialProbability ( int n int k float p ) { return nCr ( n k ) * ( float ) Math . pow ( p k ) * ( float ) Math . pow ( 1 - p n - k ); } // Driver code public static void main ( String [] args ) { int n = 10 ; int k = 5 ; float p = ( float ) 1.0 / 3 ; float probability = binomialProbability ( n k p ); System . out . print ( 'Probability of ' + k ); System . out . print ( ' heads when a coin is tossed ' + n ); System . out . println ( ' times where probability of each head is ' + p ); System . out . println ( ' is = ' + probability ); } } /* This code is contributed by Mr. Somesh Awasthi */C## Python3 program to compute Binomial # Probability # function to calculate nCr i.e. # number of ways to choose r out # of n objects def nCr ( n r ): # Since nCr is same as nC(n-r) # To decrease number of iterations if ( r > n / 2 ): r = n - r ; answer = 1 ; for i in range ( 1 r + 1 ): answer *= ( n - r + i ); answer /= i ; return answer ; # function to calculate binomial r.v. # probability def binomialProbability ( n k p ): return ( nCr ( n k ) * pow ( p k ) * pow ( 1 - p n - k )); # Driver code n = 10 ; k = 5 ; p = 1.0 / 3 ; probability = binomialProbability ( n k p ); print ( 'Probability of' k 'heads when a coin is tossed' end = ' ' ); print ( n 'times where probability of each head is' round ( p 6 )); print ( 'is = ' round ( probability 6 )); # This code is contributed by mitsJavaScript// C# program to compute Binomial // Probability. using System ; class GFG { // function to calculate nCr // i.e. number of ways to // choose r out of n objects static int nCr ( int n int r ) { // Since nCr is same as // nC(n-r) To decrease // number of iterations if ( r > n / 2 ) r = n - r ; int answer = 1 ; for ( int i = 1 ; i <= r ; i ++ ) { answer *= ( n - r + i ); answer /= i ; } return answer ; } // function to calculate binomial // r.v. probability static float binomialProbability ( int n int k float p ) { return nCr ( n k ) * ( float ) Math . Pow ( p k ) * ( float ) Math . Pow ( 1 - p n - k ); } // Driver code public static void Main () { int n = 10 ; int k = 5 ; float p = ( float ) 1.0 / 3 ; float probability = binomialProbability ( n k p ); Console . Write ( 'Probability of ' + k ); Console . Write ( ' heads when a coin ' + 'is tossed ' + n ); Console . Write ( ' times where ' + 'probability of each head is ' + p ); Console . Write ( ' is = ' + probability ); } } // This code is contributed by nitin mittal.PHP< script > // Javascript program to compute Binomial Probability // function to calculate nCr i.e. number of // ways to choose r out of n objects function nCr ( n r ) { // Since nCr is same as nC(n-r) // To decrease number of iterations if ( r > n / 2 ) r = n - r ; let answer = 1 ; for ( let i = 1 ; i <= r ; i ++ ) { answer *= ( n - r + i ); answer /= i ; } return answer ; } // function to calculate binomial r.v. probability function binomialProbability ( n k p ) { return nCr ( n k ) * Math . pow ( p k ) * Math . pow ( 1 - p n - k ); } // driver program let n = 10 ; let k = 5 ; let p = 1.0 / 3 ; let probability = binomialProbability ( n k p ); document . write ( 'Probability of ' + k ); document . write ( ' heads when a coin is tossed ' + n ); document . write ( ' times where probability of each head is ' + p ); document . write ( ' is = ' + probability ); // This code is contributed by code_hunt. < /script>// php program to compute Binomial // Probability // function to calculate nCr i.e. // number of ways to choose r out // of n objects function nCr ( $n $r ) { // Since nCr is same as nC(n-r) // To decrease number of iterations if ( $r > $n / 2 ) $r = $n - $r ; $answer = 1 ; for ( $i = 1 ; $i <= $r ; $i ++ ) { $answer *= ( $n - $r + $i ); $answer /= $i ; } return $answer ; } // function to calculate binomial r.v. // probability function binomialProbability ( $n $k $p ) { return nCr ( $n $k ) * pow ( $p $k ) * pow ( 1 - $p $n - $k ); } // Driver code $n = 10 ; $k = 5 ; $p = 1.0 / 3 ; $probability = binomialProbability ( $n $k $p ); echo 'Probability of ' . $k ; echo ' heads when a coin is tossed ' . $n ; echo ' times where probability of ' . 'each head is ' . $p ; echo ' is = ' . $probability ; // This code is contributed by nitin mittal. ?>Çıkış:
Probability of 5 heads when a coin is tossed 10 times where probability of each head is 0.333333
is = 0.136565Test Oluştur