Dvejetainiai atsitiktiniai kintamieji
Šiame įraše aptarsime dvejetainius atsitiktinius kintamuosius.
Būtina sąlyga: Atsitiktiniai kintamieji
Konkretus tipas diskretiškas atsitiktinis kintamasis, skaičiuojantis, kaip dažnai tam tikras įvykis įvyksta per tam tikrą skaičių bandymų ar bandymų.
Kad kintamasis būtų binominis atsitiktinis kintamasis, turi būti įvykdytos VISOS šios sąlygos:
- Yra nustatytas bandymų skaičius (fiksuotas imties dydis).
- Kiekvieno bandymo metu dominantis įvykis arba įvyksta, arba ne.
- Atsiradimo tikimybė (arba ne) kiekviename bandyme yra vienoda.
- Bandymai vienas nuo kito nepriklauso.
Matematiniai žymėjimai
n = number of trials
p = probability of success in each trial
k = number of success in n trials
Dabar bandome išsiaiškinti k sėkmės tikimybę atliekant n bandymų.
Čia kiekvieno bandymo sėkmės tikimybė p nepriklauso nuo kitų bandymų.
Taigi pirmiausia pasirenkame k bandymus, kuriuose bus sėkmė, o likusiuose n-k bandymuose bus nesėkmės. Būdų, kaip tai padaryti, skaičius yra
![]()
Kadangi visi n įvykių yra nepriklausomi, k sėkmės tikimybė n bandymų yra lygi kiekvieno bandymo tikimybės padauginimui.
Čia jos k sėkmės ir n-k nesėkmių Taigi kiekvieno būdo pasiekti k sėkmės ir n-k nesėkmės tikimybė yra
![]()
Taigi galutinė tikimybė yra
(number of ways to achieve k success
and n-k failures)
*
(probability for each way to achieve k
success and n-k failure)
Tada dvinario atsitiktinio kintamojo tikimybė apskaičiuojama taip:
![]()
Tegu X yra binominis atsitiktinis dydis, kurio bandymų skaičius n ir kiekvieno bandymo sėkmės tikimybė yra p.
Tikėtiną sėkmės skaičių nurodo
E[X] = np
Sėkmių skaičiaus dispersija pateikiama pagal
Var[X] = np(1-p)
1 pavyzdys : Apsvarstykite atsitiktinį eksperimentą, kurio metu šališka moneta (galvos tikimybė = 1/3) metama 10 kartų. Raskite tikimybę, kad galvų skaičius bus 5.
Sprendimas:
Let X be binomial random variable
with n = 10 and p = 1/3
P(X=5) = ?![]()
![]()
Čia yra to paties įgyvendinimas
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. ?>Išvestis:
Probability of 5 heads when a coin is tossed 10 times where probability of each head is 0.333333
is = 0.136565Sukurti viktoriną