Distribuição de Poisson

Modelar o número de ocorrências em um intervalo contínuo de tempo, área ou distância.
Probabilidade e variáveis aleatóriasModelos discretosAula 12 Aula 13← voltar ao mapa
Na prova · essencial Reconhecer a Poisson (contagens num intervalo, com média μ) e calcular probabilidades com stats.poisson. Os comandos estão no formulário. Guia da prova

Os códigos desta página rodam no navegador, mas não sozinhos: clique em Run Code em cada bloco, de cima para baixo.

DicaEm uma frase

A Poisson conta quantas vezes um evento acontece em um intervalo (de tempo, área, distância) quando as ocorrências são independentes e acontecem a uma taxa média constante \(\mu\); escrevemos \(X \sim Poisson(\mu)\).

A ideia

Na Aula 12 apareceu um tipo de contagem diferente da binomial. Os slides trazem exemplos: aviões que decolam por hora, usuários conectados por minuto, acidentes a cada 100 km de rodovia, clientes que chegam à fila por minuto. Não há um número fixo de tentativas \(n\): o que existe é um intervalo contínuo e uma taxa média de ocorrências nele.

As suposições do modelo são:

  • a probabilidade de uma ocorrência é a mesma em dois intervalos quaisquer de mesmo tamanho;
  • o que acontece em um intervalo é independente do que acontece em outro.

Com \(\mu\) = número médio de ocorrências no intervalo considerado:

\[ P(X = x) = \frac{e^{-\mu}\,\mu^{x}}{x!}, \qquad x = 0, 1, 2, \dots \qquad\qquad E(X) = Var(X) = \mu. \]

Duas diferenças em relação à binomial: os valores possíveis não têm limite superior e a média é igual à variância.

O \(\mu\) acompanha o tamanho do intervalo

Se a taxa é de 4 ocorrências por minuto, em 2 minutos a média é \(2 \times 4 = 8\), e em 30 segundos é 2. Antes de calcular qualquer coisa, ajuste \(\mu\) para o intervalo da pergunta.

Exemplo resolvido: o chatbot

Conversas entre usuário e chatbot em um site começam a uma taxa média de 4 por minuto. Seja \(X\) o número de conversas iniciadas em um minuto, \(X \sim Poisson(4)\).

  • Exatamente 3 conversas em um minuto: \(P(X = 3) = \dfrac{e^{-4}\,4^3}{3!} = 0{,}1954\).
  • Menos de 3 conversas: \(P(X < 3) = P(X \le 2) = 0{,}2381\).
  • Menos de 4, sabendo que houve pelo menos 1: \(P(X < 4 \mid X \ge 1) = \dfrac{P(1 \le X \le 3)}{P(X \ge 1)} = 0{,}4229\).
  • Exatamente 3 conversas em dois minutos: agora \(W \sim Poisson(8)\) e \(P(W = 3) = 0{,}0286\).

No código

Em stats.poisson, o parâmetro é a média mu. A ordem é (valor, mu):

Mudar o intervalo desloca e espalha a distribuição:

Quando a Poisson aproxima a binomial

Se \(n\) é grande e \(p\) é pequeno, uma \(Bin(n;\ p)\) fica muito parecida com uma \(Poisson(\mu = np)\). Com \(n = 1000\) e \(p = 0{,}003\) (\(\mu = 3\)), a diferença aparece só na quarta casa decimal. Com \(n = 10\) e \(p = 0{,}3\) (também \(\mu = 3\)), a aproximação é ruim:

Por isso a Poisson é o modelo natural para eventos raros em muitas oportunidades: blocos de dados perdidos numa rede, defeitos de fabricação, erros de digitação em um livro.

Armadilhas comuns

  • Não ajustar \(\mu\) ao intervalo. Taxa por minuto e pergunta sobre 2 minutos: multiplique \(\mu\) por 2. Não calcule a probabilidade de 1 minuto e multiplique probabilidades.
  • Binomial ou Poisson? Há um número fixo de tentativas \(n\) e você conta sucessos entre elas: binomial. Há um intervalo contínuo e uma taxa média, sem \(n\): Poisson.
  • “Pelo menos um” pela soma. Na Poisson não há último valor. Use o complemento: \(P(X \ge 1) = 1 - P(X = 0)\).
  • Esquecer o zero. Zero ocorrências é um valor possível e costuma ter probabilidade relevante: com \(\mu = 4\), \(P(X = 0) = 0{,}0183\).
  • Ignorar a pista da variância. Se nos dados a variância é bem maior ou bem menor que a média, a Poisson provavelmente não é um bom modelo. Veja Poisson com dados.

stats.poisson.ppf(q, mu) devolve o menor valor \(x\) com \(P(X \le x) \ge q\). Com \(\mu = 10\), stats.poisson.cdf(15, 10) é cerca de 0,95 e stats.poisson.ppf(0.95, 10) devolve 15. É útil para dimensionar recursos: “quantas vagas atendem 99% dos dias?”.

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

Chamados de suporte chegam a uma taxa média de 3 por hora. Seja \(X\) o número de chamados em uma hora, \(X \sim Poisson(3)\). Calcule \(P(X = 0)\).

stats.poisson.pmf(x, mu).

p_zero = stats.poisson.pmf(0, 3)
p_zero

Exercício 2

Em meia hora, qual a probabilidade de chegarem pelo menos 2 chamados? Primeiro ajuste o \(\mu\) ao intervalo.

Meia hora tem metade da média de uma hora.

mu_meia_hora = 3 / 2
p_pelo_menos_2 = 1 - stats.poisson.cdf(1, mu_meia_hora)
p_pelo_menos_2

Exercício 3

Se o intervalo observado dobra (de uma para duas horas), o que acontece com \(\mu\)? Responda 'dobra' ou 'fica igual'.

\(\mu\) é a média de ocorrências no intervalo.

resposta = 'dobra'
resposta

Comandos e documentação oficial

formulário o comando está no formulário que você pode consultar na prova.

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.