C ++中的二项式随机变量
随机变量是那些可能产生多个结果的过程结果的结果。例如,表示扔硬币的结果是头部还是尾部的变量是随机变量。
二项式随机变量是一种特殊类型的随机变量,其值与事件相关,事件的结果具有固定的概率。
二项式随机变量具有某些特有的属性。这些是变数成为二项式随机变数的必要条件-
结果总数是固定的。
跟踪的结果是对还是错,两者之间什么也没有。
每条线索的出现概率是相同的。
没有两条路径相互依赖。
二项式随机变量概率
结果成功的概率由公式给出-
P (x= k ) = n! / k! (n-k)! * pk * (1-p)n-k
基于二项式随机变量的概率,该变量在样本空间中的出现次数。
E[X] = np
成功的方差由Var[X]=np(1-p)给出
示例
#include <iostream>
#include <cmath>
using namespace std;
int combination(int n, int r){
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;
}
float randombinomialProbability(int n, int k, float p){
return combination(n, k)*pow(p, k)*pow(1 - p, n - k);
}
int main(){
int n = 10;
int k = 5;
float p = 1.0 / 3;
float binomialRandomVariable = randombinomialProbability(n, k, p);
cout<<"Probability of "<<k;
cout<<" heads when a coin is tossed "<< n;
cout<<" times where probability of each head is "<<p;
cout<<" is = "<<binomialRandomVariable<<endl;
}输出结果
Probability of 5 heads when a coin is tossed 10 times where probability of each head is 0.333333 is = 0.136565