Binomiális véletlen változók

Binomiális véletlen változók

Ebben a bejegyzésben a binomiális véletlenszerű változókat tárgyaljuk.
Előfeltétel: Véletlenszerű változók 
Egy adott típus diszkrét valószínűségi változó, amely megszámolja, hogy egy adott esemény milyen gyakran fordul elő meghatározott számú próbálkozás vagy kísérlet során. 
Ahhoz, hogy egy változó binomiális valószínűségi változó legyen, a következő feltételnek ÖSSZES teljesülnie kell: 
 

  1. Rögzített számú kísérlet van (fix mintaméret).
  2. Minden egyes vizsgálat során az érdeklődésre számot tartó esemény vagy megtörténik, vagy nem.
  3. Az előfordulás valószínűsége (vagy nem) minden próbánál azonos.
  4. A próbák függetlenek egymástól.


Matematikai jelölések 
 

 n = number of trials   
p = probability of success in each trial
k = number of success in n trials


Most megpróbáljuk megtudni a k ​​siker valószínűségét n próbában.
Itt az egyes kísérletek sikerének valószínűsége p független a többi kísérlettől. 
Tehát először k próbát választunk, amelyikben siker lesz, a többi n-k próbában pedig kudarc lesz. Ennek számos módja van 
 

Binomiális véletlen változók


Mivel mind az n esemény független, ezért a k siker valószínűsége n kísérletben megegyezik az egyes kísérletek valószínűségének szorzatával.
Itt a k siker és n-k kudarc. Tehát a valószínűsége a k siker és az n-k kudarc elérésének 
 

Binomiális véletlen változók


Tehát a végső valószínűség az 
 

 (number of ways to achieve k success   
and n-k failures)
*
(probability for each way to achieve k
success and n-k failure)


Ekkor a binomiális véletlen változó valószínűsége a következőképpen adódik: 
 

Binomiális véletlen változók


Legyen X egy binomiális valószínűségi változó, ahol az n kísérletek száma és az egyes próbák sikerének valószínűsége p. 
A várható sikerszámot a 
 

 E[X] = np  


A sikerek számának szórását a 
 

 Var[X] = np(1-p)  


1. példa : Vegyünk egy véletlenszerű kísérletet, amelyben egy torzított érmét (a fej valószínűsége = 1/3) 10-szer dobunk el. Határozza meg annak valószínűségét, hogy a megjelenő fejek száma 5 lesz.
Megoldás: 
 

 Let X be binomial random variable    
with n = 10 and p = 1/3
P(X=5) = ? Binomiális véletlen változók
     Binomiális véletlen változók 
    

Itt van ugyanennek a megvalósítása 
 

C++
   // 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  ;   }   
Java
   // 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 */   
Python3
   # 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 mits   
C#
   // 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.   
JavaScript
    <  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
      // 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.   ?>   

Kimenet:  
 

 Probability of 5 heads when a coin is tossed 10 times where probability of each head is 0.333333   
is = 0.136565


 

Kvíz létrehozása