Calcular P(X ≥ k) e intervalos com a cdf
Os códigos desta página rodam no navegador, mas não sozinhos: clique em Run Code em cada bloco, de cima para baixo.
A ideia
Nas Aulas 10 e 12, a maior fonte de erro não foi a binomial nem a Poisson: foi traduzir a frase do enunciado para a conta certa. A pmf(k) dá a probabilidade de um valor. A cdf(k) soma as probabilidades de todos os valores até \(k\):
\[ P(X \le k) = P(X = 0) + P(X = 1) + \dots + P(X = k). \]
Como a variável é discreta (só assume inteiros), “menos de 20” é o mesmo que “no máximo 19”, e “pelo menos 20” é o complemento de “no máximo 19”. O truque é sempre reescrever a pergunta com \(\le\) antes de ir para o código.
Tabela de tradução
| O enunciado diz | Em probabilidade | No código (binomial; na Poisson troque por stats.poisson) |
|---|---|---|
| exatamente \(k\) | \(P(X = k)\) | pmf(k, n, p) |
| no máximo \(k\), até \(k\) | \(P(X \le k)\) | cdf(k, n, p) |
| menos de \(k\) | \(P(X < k) = P(X \le k-1)\) | cdf(k - 1, n, p) |
| pelo menos \(k\), no mínimo \(k\) | \(P(X \ge k) = 1 - P(X \le k-1)\) | 1 - cdf(k - 1, n, p) |
| mais de \(k\) | \(P(X > k) = 1 - P(X \le k)\) | 1 - cdf(k, n, p) |
| entre \(a\) e \(b\), inclusive | \(P(a \le X \le b)\) | cdf(b) - cdf(a - 1) |
| mais de \(a\) e no máximo \(b\) | \(P(a < X \le b)\) | cdf(b) - cdf(a) |
| pelo menos \(a\) e menos de \(b\) | \(P(a \le X < b)\) | cdf(b - 1) - cdf(a - 1) |
| mais de \(a\) e menos de \(b\) | \(P(a < X < b)\) | cdf(b - 1) - cdf(a) |
| menos de \(a\) ou mais de \(b\) | \(P(X < a) + P(X > b)\) | cdf(a - 1) + (1 - cdf(b)) |
Uma regra que resolve todas as linhas: a cdf inclui o próprio valor. Então, para tirar um bloco do começo, subtraia a cdf do último valor que você não quer.
Probabilidade condicional com a cdf
“Sabendo que mais de 20 falharam, qual a probabilidade de no máximo 25?” é uma probabilidade condicional:
\[ P(X \le 25 \mid X > 20) = \frac{P(X > 20 \ \cap\ X \le 25)}{P(X > 20)} = \frac{P(20 < X \le 25)}{P(X > 20)} = \frac{\text{cdf}(25) - \text{cdf}(20)}{1 - \text{cdf}(20)}. \]
O numerador é a interseção das duas condições; o denominador, a condição que já sabemos que aconteceu.
No código
Pacote com 100 resistores, cada um falhando com probabilidade 0,2 (\(Y \sim Bin(100;\ 0{,}2)\), exemplo da Aula 10):
Quando bater a dúvida, some a pmf dos valores que você quer e compare. “Mais de 20 e menos de 40” são os valores 21, 22, …, 39, ou seja, range(21, 40):
O gráfico mostra quais barras entram na soma de \(P(20 < Y < 40) = 0{,}4405\):
Repare que a barra do 20 fica de fora: “mais de 20” começa no 21. Por isso a conta subtrai cdf(20).
A mesma tradução vale para a Poisson. No chatbot da Aula 12 (\(X \sim Poisson(4)\) conversas por minuto):
Armadilhas comuns
- “Pelo menos \(k\)” como
1 - cdf(k). Isso é “mais de \(k\)”. Pelo menos \(k\) inclui o \(k\):1 - cdf(k - 1). - Pensar como em variável contínua. Em uma discreta, \(P(X < 20)\) e \(P(X \le 20)\) são diferentes: a diferença é exatamente \(P(X = 20)\).
- Esquecer a interseção na condicional. \(P(A \mid B)\) tem \(P(A \cap B)\) no numerador, não \(P(A)\). Desenhe os dois intervalos numa reta e veja onde se sobrepõem.
- Condicional em que um evento contém o outro. Em \(P(X \ge 2 \mid X \ge 1)\), o evento \(X \ge 2\) está dentro de \(X \ge 1\), então a interseção é o próprio \(X \ge 2\).
- Esquecer que a Poisson não tem limite superior. “Pelo menos \(k\)” na Poisson só se calcula pelo complemento; não existe um “último valor” para somar.
Exercícios aqui na página
Complete os ______ e clique em Run Code: a correção aparece logo abaixo. Use Show Hint para uma dica e Show Solution para ver uma resolução. O Python roda no seu navegador; na primeira vez ele leva alguns segundos para carregar.
Exercício 1
Numa turma, \(Y \sim Bin(20;\ 0{,}3)\) conta quantos de 20 alunos entregam uma lista atrasada. Qual expressão calcula \(P(Y \geq 8)\)? Responda 'a' para 1 - cdf(8) ou 'b' para 1 - cdf(7).
Escreva \(P(Y \geq 8) = 1 - P(Y \leq \ ?)\).
resposta = 'b'
respostaExercício 2
Calcule \(P(Y \geq 8)\).
Use o resultado do exercício 1.
p_pelo_menos_8 = 1 - stats.binom.cdf(7, 20, 0.3)
p_pelo_menos_8Exercício 3
Calcule \(P(5 \leq Y \leq 9)\): entre 5 e 9 alunos, inclusive.
Subtraia a cdf do último valor que você não quer.
p_entre = stats.binom.cdf(9, 20, 0.3) - stats.binom.cdf(4, 20, 0.3)
p_entreComandos e documentação oficial
formulário o comando está no formulário que você pode consultar na prova.
Pontes com o outro lado do mapa
Este tópico aparece nestas paradas da revisão guiada, em que cada ponte vira um exercício resolvido pelos dois caminhos:
- Parada 9: Da Bernoulli à binomial: dados × modelo exercícios ao vivo · ver no mapa · no Colab
Pratique
As listas novas de revisão abrem no Google Colab (use Arquivo → Salvar uma cópia no Drive). As listas das aulas estão no Blackboard, na pasta de cada aula.
- Revisão B · Pontes: cada conteúdo por dois caminhos (com correção automática) nova (Parte 9)Abrir no ColabBaixar .ipynb
- Aula 10 · Exemplo: binomial com resistores (itens c a f)Blackboard · slides e exemplos da Aula 10
- Aula 12 · Exemplo: Poisson com o chatbot (itens b e c)Blackboard · slides e exemplos da Aula 12
- Aula 13 · Atividade: Poisson com dados (erupções em Kabum Prime) (Exercícios 2 e 3)Blackboard · conteúdo do curso