Біноміальні випадкові величини
У цій публікації ми обговоримо біноміальні випадкові змінні.
Необхідна умова: Випадкові величини
Специфічний вид дискретний випадкова змінна, яка підраховує, як часто конкретна подія відбувається за фіксовану кількість спроб або випробувань.
Щоб змінна була біноміальною випадковою величиною, мають бути виконані ВСІ наступні умови:
- Існує фіксована кількість випробувань (фіксований розмір вибірки).
- Під час кожного випробування цікава подія або відбувається, або ні.
- Імовірність появи (чи ні) однакова для кожного випробування.
- Випробування незалежні одне від одного.
Математичні позначення
n = number of trials
p = probability of success in each trial
k = number of success in n trials
Тепер ми спробуємо з’ясувати ймовірність k успіху в n спробах.
Тут ймовірність успіху в кожному випробуванні дорівнює p незалежно від інших випробувань.
Отже, ми спочатку вибираємо k випробувань, у яких буде успіх, а в решті n-k випробувань буде невдача. Існує кілька способів зробити це
![]()
Оскільки всі n подій незалежні, то ймовірність k успіху в n випробуваннях еквівалентна множенню ймовірності для кожного випробування.
Тут його k успіхів і n-k невдач. Тому ймовірність для кожного способу досягнення k успіху і n-k невдач дорівнює
![]()
Отже, остаточна ймовірність
(number of ways to achieve k success
and n-k failures)
*
(probability for each way to achieve k
success and n-k failure)
Тоді ймовірність біноміальної випадкової змінної визначається як:
![]()
Нехай X — біноміальна випадкова величина з кількістю випробувань n і ймовірністю успіху в кожному випробуванні — p.
Очікуване число успіху визначається за
E[X] = np
Дисперсія числа успіхів визначається як
Var[X] = np(1-p)
Приклад 1 : Розглянемо випадковий експеримент, у якому монету з упередженням (імовірність голови = 1/3) кидають 10 разів. Знайти ймовірність того, що кількість голів, що з’являться, буде 5.
рішення:
Let X be binomial random variable
with n = 10 and p = 1/3
P(X=5) = ?![]()
![]()
Ось реалізація того ж
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. ?>Вихід:
Probability of 5 heads when a coin is tossed 10 times where probability of each head is 0.333333
is = 0.136565Створіть вікторину