```python
from sympy import *
from sympy.stats import *
from matplotlib import pyplot
```

# Distribuição Binomial

Para construir o modelo binomial vamos introduzir uma sequência de ensaios de Bernoulli. Tal sequência é definida por meio das seguintes condições:

* Em cada ensaio considera-se somente a ocorrência ou não-ocorrência de um certo evento que será denominado sucesso (S) e cuja não-ocorrência será denominada falha (F).
* Os ensaios são independentes.
* A probabilidade de sucesso, que denotaremos por p é a mesma para cada ensaio. A probabilidade de falha será denotada por 1-p.

Para um experimento que consiste na realização de n ensaios independentes de Bernoulli, o espaço amostral pode ser considerado como o conjunto de n-uplas, em que cada posição há um sucesso (S) ou uma falha (F).

A probabilidade de um ponto amostral com sucessos nos k primeiros ensaios e falhas nos n−k ensaios seguintes é pk(1−p)n−k.

Note que esta é a probabilidade de qualquer ponto com k sucessos e n−k falhas. O número de pontos do espaço amostral que satisfaz essa condição é igual ao número de maneiras com que podemos escolher k ensaios para a ocorrência de sucesso dentre o total de n ensaios, pois nos n−k restantes deverão ocorrer falhas. Este número é igual ao número de combinações de n elementos tomados k a k, ou seja,


```python
p, n, k, nk = symbols("p n k, (nk)")
f_nk = factorial(n)/(factorial(k)*factorial(n-k))
Lambda(nk, f_nk)
```




$\displaystyle \left( (nk) \mapsto \frac{n!}{k! \left(- k + n\right)!} \right)$



Ou seja, para k=0,1,…,n:


```python
f_X = (nk)*p**k*(1-p)**(n-k)
X = f_X.subs({nk: f_nk})
pdf = DiscreteRV(k, X)
Lambda(symbols("P[X=k]"), f_X)
```




$\displaystyle \left( P[X=k] \mapsto (nk) p^{k} \left(1 - p\right)^{- k + n} \right)$



## Exemplo 1
Suponha que numa linha de produção a probabilidade de se obter uma peça defeituosa (sucesso) é p=0,1. Toma-se uma amostra de 10 peças para serem inspecionadas. Qual a probabilidade de se obter: 


```python
exemplo1 = pdf.subs({p:0.1,n:10})
d = density(exemplo1)
pyplot.plot([d(i) for i in range(11)])
```

1. Uma peça defeituosa? 


```python
P(Eq(exemplo1,1))
```




$\displaystyle 0.387420489$



2. Nenhuma peça defeituosa?


```python
P(Eq(exemplo1, 0))
```




$\displaystyle 0.3486784401$



3. Duas peças defeituosas?


```python
P(Eq(exemplo1, 2))
```




$\displaystyle 0.1937102445$



4. No mínimo duas peças defeituosas?


```python
N(P(nsimplify(Ge(exemplo1, 2))))
```




$\displaystyle 0.2639010709$



5. No máximo duas peças defeituosas?


```python
N(P(nsimplify(Le(exemplo1, 2)))) # necessario fazer esta transformacao devido ao bug no sympy
```




$\displaystyle 0.9298091736$



## Exemplo 2
Suponha que um aluno pretende fazer um teste de múltipla escolha com 10 questões e cinco alternativas por questão respondendo cada uma das questões de forma aleatória. Qual é probabilidade dele acertar no máximo 3 questões?


```python
exemplo2 = pdf.subs({p:0.2,n:10})
d = density(exemplo2)
pyplot.plot([d(i) for i in range(11)])
```


```python
N(P(nsimplify(Le(exemplo2, 3))))
```




$\displaystyle 0.8791261184$



## Exemplo 3

Uma moeda não viciada é lançada várias vezes. Qual a probabilidade de que obtermos 5 caras antes de obtermos 3 coroas?


```python
exemplo3 = pdf.subs({p:0.5,n:7})
d = density(exemplo3)
pyplot.plot([d(i) for i in range(8)])
```


```python
P(Ge(exemplo3, 5))
```




$\displaystyle 0.2265625$



## Exemplo 4

(Problema da caixa de fosforo de Banach) Suponha que um homem ande sempre com duas caixas de fósforos com n palitos cada uma. Suponha também que cada vez que ele necessite usar um fósforo ele pegue de forma aleatória em qualquer uma das caixas. Como ele é uma pessoa distraída quando ele pega o último palito da caixa de fósforos ele não se lembra de joga-la fora. Qual a probabilidade de que quando ele perceba que uma das caixas está vazia a outra contenha exatamente k fósforos?


```python
X.subs({p:0.5, n:2*n-k,k:n})
```




$\displaystyle 0.5^{- k + 2 n}$



8f53e780c29a116838e9fd3047fd00dff06aee7f
ipynb
Jupyter Notebook
probabilidade_binomial.ipynb
GrrriiiM/estudos-python
b171fc8f6f29b8dcec80051ac1ce86edd34e0e57
MIT
probabilidade_binomial.ipynb
GrrriiiM/estudos-python
b171fc8f6f29b8dcec80051ac1ce86edd34e0e57
MIT
probabilidade_binomial.ipynb
GrrriiiM/estudos-python
b171fc8f6f29b8dcec80051ac1ce86edd34e0e57
MIT
Qwen/Qwen-72B
1. YES
2. YES