Como usar distribuição binomial em python


A distribuição binomial é uma das distribuições mais comumente usadas em estatística. Descreve a probabilidade de obter k sucessos em n experimentos binomiais.

Se uma variável aleatória X segue uma distribuição binomial, então a probabilidade de X = k sucesso pode ser encontrada pela seguinte fórmula:

P(X=k) = n C k * p k * (1-p) nk

Ouro:

  • n: número de tentativas
  • k: número de sucessos
  • p: probabilidade de sucesso em uma determinada tentativa
  • n C k : o número de maneiras de obter k sucessos em n tentativas

Este tutorial explica como usar a distribuição binomial em Python.

Como gerar uma distribuição binomial

Você pode gerar uma matriz de valores que segue uma distribuição binomial usando a função random.binomial da biblioteca numpy:

 from numpy import random

#generate an array of 10 values that follows a binomial distribution
random.binomial(n=10, p=.25, size=10)

array([5, 2, 1, 3, 3, 3, 2, 2, 1, 4])

Cada número na tabela resultante representa o número de “sucessos” encontrados ao longo de 10 tentativas, onde a probabilidade de sucesso em uma determinada tentativa era de 0,25 .

Como calcular probabilidades usando uma distribuição binomial

Você também pode responder perguntas sobre probabilidade binomial usando a função binom da biblioteca scipy.

Pergunta 1: Nathan acerta 60% de suas tentativas de lance livre. Se ele acertar 12 lances livres, qual é a probabilidade de acertar exatamente 10?

 from scipy.stats import binom

#calculate binomial probability
binom.pmf(k= 10 , n= 12 , p= 0.6 )

0.0639

A probabilidade de Nathan acertar exatamente 10 lances livres é 0,0639 .

Questão 2: Marty joga uma moeda honesta 5 vezes. Qual é a probabilidade de a moeda dar cara 2 vezes ou menos?

 from scipy.stats import binom

#calculate binomial probability
binom.cdf(k= 2 , n= 5 , p= 0.5 )

0.5

A probabilidade de a moeda dar cara 2 vezes ou menos é de 0,5 .

Pergunta 3: Sabemos que 70% dos indivíduos apoiam uma determinada lei. Se 10 indivíduos forem selecionados aleatoriamente, qual é a probabilidade de que entre 4 e 6 deles apoiem a lei?

 from scipy.stats import binom

#calculate binomial probability
binom.cdf(k= 6 , n= 10 , p= 0.7 ) - binom.cdf(k= 3 , n= 10 , p= 0.7 )

0.3398

A probabilidade de que entre 4 e 6 indivíduos selecionados aleatoriamente apoiem a lei é de 0,3398 .

Como visualizar uma distribuição binomial

Você pode visualizar uma distribuição binomial em Python usando as bibliotecas seaborn e matplotlib :

 from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

x = random.binomial(n= 10 , p= 0.5 , size= 1000 )

sns.distplot(x, hist= True , kde= False )

plt.show()

Gráfico de distribuição binomial em Python

Chá

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *