En esta publicación, discutiremos las variables aleatorias binomiales.
Prerrequisito: Variables aleatorias
Un tipo específico de variable aleatoria discreta que cuenta con qué frecuencia ocurre un evento particular en un número fijo de intentos o intentos.
Para que una variable sea una variable aleatoria binomial, se deben cumplir TODAS las siguientes condiciones:
- Hay un número fijo de ensayos (un tamaño de muestra fijo).
- En cada prueba, el evento de interés ocurre o no.
- La probabilidad de ocurrencia (o no) es la misma en cada prueba.
- Los juicios son independientes entre sí.
Notaciones Matemáticas
n = number of trials p = probability of success in each trial k = number of success in n trials
Ahora tratamos de encontrar la probabilidad de k éxito en n intentos.
Aquí la probabilidad de éxito en cada prueba es p independiente de otras pruebas.
Entonces, primero elegimos k ensayos en los que habrá un éxito y en el resto nk ensayos habrá un fracaso. El número de formas de hacerlo es
Dado que todos los n eventos son independientes, la probabilidad de k éxito en n intentos es equivalente a la multiplicación de la probabilidad de cada intento.
Aquí es k éxito y nk fracasos, por lo que la probabilidad de que cada manera logre k éxito y nk fracaso es
Por lo tanto, la probabilidad final es
(number of ways to achieve k success and n-k failures) * (probability for each way to achieve k success and n-k failure)
Entonces la probabilidad de variable aleatoria binomial viene dada por:
Sea X una variable aleatoria binomial con el número de intentos ny la probabilidad de éxito en cada intento sea p.
El número esperado de éxitos está dado por
E[X] = np
La varianza del número de éxitos está dada por
Var[X] = np(1-p)
Ejemplo 1 : considere un experimento aleatorio en el que se lanza una moneda sesgada (probabilidad de cara = 1/3) 10 veces. Encuentre la probabilidad de que el número de caras que aparezcan sea 5.
Solución:
Let X be binomial random variable with n = 10 and p = 1/3 P(X=5) = ?
Aquí está la implementación para el mismo
C++
// C++ program to compute Binomial Probability #include <iostream> #include <cmath> 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.
PHP
<?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. ?>
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>
Producción:
Probability of 5 heads when a coin is tossed 10 times where probability of each head is 0.333333 is = 0.136565
Referencia :
stat200
Este artículo es una contribución de Pratik Chhajer . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA