Introdução 1

Comecemos com um exemplo: suponha que você é um professor de MBA em Ciência de Dados e decidiu analisar o modo como as notas dos alunos ao longo do ano se comportam. Após a secretaria lançar os graus em uma planilha, obtém-se a seguinte figura:

Figura 1 - Notas

Figura 1 - Notas

O gráfico da Figura 1 é chamado distribuição de frequências dos dados. Pode-se inferir uma estrutura suave curvilínea que define os dados, mas é aparente que há uma anomalia. Nota-se que há uma frequência anormalmente baixa para uma determinada faixa de notas. É possível que estes dados tenham sido mal anotados ou registrados?

Um cientista de dados, seja um estudante ou um profissional, emprega a arte e a ciência da análise de dados para resolver problemas do mundo real. Para tal tarefa não é, necessariamente, um profundo conhecedor da teoria de probabilidade e da estatística, ou um exímio cientista de computação, mas deve unir esses campos do conhecimento. Desse modo, cria conhecimento a partir de dados por meio de métodos quantitativos e de programação e o conhecimento do domínio em estudo. É a combinação de conhecimentos e habilidades abrangentes (mas não especializados) nessas áreas que fazem um cientista de dados.

Este trabalho apresenta de modo bastante sintético os conceitos, as definições e alguns exemplos de emprego de um desses conhecimentos fundamentais: as distribuições de probabilidade mais comuns e seu uso com o R. Como de costume, a Wikipedia traz boas referências para um estudo mais aprofundado sobre as distribuições de probabilidade.

No que se segue, assume-se apenas um conhecimento básico de probabilidade.

1. Tipos comuns de dados numéricos

Dados numéricos podem ser discretos ou contínuos.

Dados discretos, como o nome sugere, podem assumir apenas alguns valores específicos. Por exemplo, quando se joga um dado, os resultados possíveis são 1, 2, 3, 4, 5 ou 6, ou seja, números inteiros entre 1 e 6.

Dados contínuos, podem assumir qualquer valor dentro de um determinado intervalo de valores (domínio). Note que o domínio pode ser finito ou infinito. Por exemplo, a receita de venda de uma determinada empresa em um certo período ou o peso ou a altura de uma pessoa.

2. Funções no R

Todas as distribuições de probabilidade no R têm quatro funções. Há um nome básico para cada uma, por exemplo, o nome básico para a distribuição normal é norm. Este nome é prefixado por uma das quatro letras:

3. Tipos de distribuição de probabilidade

Bernoulli

Comecemos com a distribuição mais simples de todas: a distribuição de Bernoulli. Ela serve de modelo para, por exemplo, o lançamento de uma moeda, que pode mostrar um de dois resultados: “cara” ou “coroa”.

A distribuição de Bernoulli possui apenas dois resultados possíveis: 1 (sucesso) ou 0 (insucesso), e apenas uma tentativa (chamada de experimento). Então, definindo a variável aleatória X como sendo o resultado numérico do experimento, ela possui a distribuição de Bernoulli e pode assumir o valor 1 com a probabilidade de sucesso, digamos, p, e 0 com a probabilidade de insucesso q = 1 – p.

Aqui, a ocorrência de uma “cara” pode denotar um sucesso, enquanto uma “coroa” está associada a um insucesso (ou fracasso). Se a moeda for não-viciada, espera-se que as probabilidades de ocorrência de cada uma das faces sejam idênticas, ou seja, p = q = 0,5.

A função (massa) de probabilidade é uma função que associa a cada possível ocorrência de uma variável aleatória discreta uma probabilidade. No caso da distribuição de Bernoulli, temos \(\small p(x) = {p}^{x} {(1-p)}^{1-x}\), x \(\in\) {0, 1}.

Pode-se definir essa função como

\[p(x)=\left\{\begin{matrix} p, & x=1\\ 1-p, & x=0 \end{matrix}\right.\]

As probabilidades de sucesso e falha não precisam ser iguais. Por exemplo, considere um processo de prospecção de petróleo em um determinado campo no mar, onde foi estimada, por meio de estudos geológicos, que a probabilidade (chamada de probabilidade anterior, ou prior, isto é, antes de se realizar a perfuração) de haver petróleo é de 25%. Neste caso p = 0,25 e q = 0,75.

Um outro exemplo bastante comum refere-se à previsão de ocorrência de chuva em uma determinado período: se a previsão é de 60% para as próximas cinco horas, pode chover ou não em cada hora seguinte, com essa probabilidade. A previsão é realizada a partir de modelos que analisam as condições meteorológicas do passado e buscam estimar a probabilidade de chuva no futuro próximo.

Em R, para se simular cinco variáveis com esta distribuição, usa-se:

set.seed(1959) # Para garantir que o resultado possa ser repetido
rbinom(5, 1, 0.60) # Binomial com n = 1
## [1] 1 1 0 0 0

Nessa simulação, choverá apenas nas próximas duas horas! Na realidade, utilizamos a distribuição Binomial (veremos em breve!) para gerar as cinco variáveis Bernoulli.

Parâmetros da distribuição de Bernoulli

O valor esperado (ou expectância) de qualquer distribuição de probabilidade (mais precisamente, de uma variável aleatória com esta distribuição) é a média da função. O valor esperado de uma variável aleatória X com uma distribuição de Bernoulli é:

\[E(X)=1\times p \; + \; 0 \times (1-p)=p\]

A variância é:

\[\small Var(X)=E(X^{2})+(E(X))^{2}=p-p^{2}=p(1-p)\]

\(\color{blue}{\text{Uma questão:}}\)
Utilizando os resultados para a média e a variância de uma variável aleatória Bernoulli, se repetíssemos a simulação anterior 1000 vezes de modo independente, qual é o número esperado de vezes que choveria no quarto dia? Qual é a estimativa da variância desta estimativa?

Uniforme

Imagine o lançamento de um dado não-viciado com seis faces. Os resultados possíveis (discretos) são números de 1 a 6. A probabilidade de se obter qualquer um desses resultados é sempre a mesma, nesse caso 1/6. Essa é a base da distribuição uniforme.

O gráfico da distribuição uniforme (discreta, lançamento de um dado) pode ser produzido em R como se segue:

library(ggplot2)
dados <- data.frame(x = 1:6, y = rep(1/6, 6))
g <- ggplot(dados, aes(x = x, y = y)) +
        geom_point(color="blue", alpha = .6, size = 8) +
        labs(x = "Face",  y = "Probabilidade", title = "Lançamento de um dado") +
        scale_x_discrete(limits = c('1':'6'))
g
Figura 2 - Distribuição de probabilidade do lançamento de um dado

Figura 2 - Distribuição de probabilidade do lançamento de um dado

Uma variável aleatória contínua X possui a distribuição uniforme se sua função de densidade é:

\[f(x) = \frac{1} {b - a} \;\;\;\;\;\; \mbox{para} \;\; -\infty < \ a \le x \le b < \infty\] O gráfico da distribuição uniforme (contínua entre a e b) se parece com:

Figura 3 - A distribuição uniforme contínua

Figura 3 - A distribuição uniforme contínua

Nota-se que o formato da distribuição uniforme é retangular, e por isso ela é chamada às vezes de distribuição retangular. a e b são os parêmetros da distribuição.

Por exemplo, na exploração de petróleo, a posição do contato óleo-água em um local de perfuração é frequentemente considerada uma variável aleatória contínua distribuída uniformemente. Suponha que se tenha estimado que essa posição tenha valores possíveis entre 350m e 450m. Vamos tentar calcular a probabilidade de que o contato ocorra entre 395m e 405m.

Essa probabilidade é:

\[ (405-395)\times \frac{1}{450-350}=10\%\]

e a probabilidade que esta seja maior do que 420m é de 30%.

A partir de uma perspectiva teórica, essa distribuição é uma das principais na análise de risco; muitos algoritmos de simulação de Monte Carlo usam uma amostra dessa distribuição (entre zero e um) para gerar amostras aleatórias de outras distribuições (por inversão da forma cumulativa da respectiva distribuição).

O valor esperado de uma variável aleatória X com uma distribuição uniforme é:

\[ E(X)=\frac{a+b} {2}.\]

A variância é:

\[ Var(X)=\frac{(b-a)^2} {12}\]

Binomial

A distribuição (discreta) do número de sucessos em uma sequência de n eventos, quando apenas dois resultados são possíveis em cada um deles, como ganho ou perda, doente ou saudável, e onde as probabilidades de sucesso e de fracasso se mantêm inalteradas em todas as tentativas (ou experimentos) é chamada de distribuição binomial. Na realidade, cada uma das tentativas é uma variável aleatória Bernoulli.

Os resultados não precisam ser igualmente prováveis. Como no caso anterior, as probabilidades individuais podem ser distintas.

Cada experimento é independente de todos os demais. Um experimento com apenas dois resultados possíveis repetido n vezes é chamado binomial. Os parâmetros de uma distribuição binomial são n e p onde n é o número total de tentativas e p é a probabilidade de sucesso em cada uma delas. As propriedades de uma distribuição binomial são:

  1. Os eventos são independentes.
  2. Há apenas dois resultados possíveis em cada experimento: ou sucesso ou falha.
  3. n tentativas idênticas são realizadas.
  4. A probabilidade de sucesso é a mesma em cada tentativa.

A probabilidade de se obter x sucessos em n tentativas é

\[ f(x)=\binom{n}{x}p^x(1-p)^{n-x}\;\;\;\;\;onde \;\; x=0, 1,2,3,...,n\]
onde
\[ \binom{n}{x}=\frac{n!} {(n-x)!n!}\]

é a combinação de n à taxa x, representa de quantas maneiras diferentes é possível se obter x sucessos em n tentativas.

Como descrito em Funções do R há maneiras bastante simples de se calcular essas probabilidades. Argumentos opcionais estão descritos na documentação online.

Por exemplo, para se calcular \(\small P(X = 27)\) quando X é uma v.a. Bin(100, 0.25), isto é, Binomial com n = 100 e p = 0,25,

dbinom(27, size=100, prob=0.25)
## [1] 0.08064075

Um outro exemplo. Suponha que determinado componente produzido por uma empresa tem uma probabilidade de 0,5% de ser defeituoso. Cada pacote de componentes carrega 25 unidades. Qual é a probabilidade que um pacote selecionado ao acaso contenha no máximo um componente defeituoso, ou seja, quanto é \(\small P(X \le 1)\) quando X é Bin(25, 0,005)?

pbinom(1, 25, 0.005)
## [1] 0.9930519

Compare com a probabilidade de haver exatamente um item defeituoso no pacote:

dbinom(1, 25, 0.005)
## [1] 0.1108317

O código R abaixo cria dez distribuições binomiais (Figura 4) com n = 20 e p = 0,1, 0,2, 0,3, …, 1.

par(mfrow = c(2, 5))
for(p in seq(0.1, 1, len=10))
  {
     x <- dbinom(0:20, size = 20, p = p)
     barplot(x, names.arg = 0:20, space = 0, main = sprintf(paste('bin. dist. ', 20, p, sep = ':')))
  }
Figura 4 - Binomiais

Figura 4 - Binomiais

O valor esperado de uma variável aleatória X com uma distribuição binomial é:

\[\small E(X) = n \times p.\] A variância é:

\[\small Var(X) = n \times p \times q\]

Normal

A distribuição de muitas estatísticas é Normal (ou Gaussiana) ou, pelo menos, segue alguma forma que pode ser derivada da distribuição Normal. Falando filosoficamente, a distribuição Normal representa uma das poucas verdades elementares sobre a natureza geral da realidade a serem comprovadas empiricamente, e seu status pode ser comparado às leis fundamentais da ciência natural. A forma exata da distribuição Normal (a característica curva em formato de sino) é definida por uma função que possui apenas dois parâmetros: a média (\(\mu\)) e o variância (\(\sigma^2\)).

A distribuição Normal é definida matematicamente pela seguinte fdp:

\[ f(x)=\frac{1}{\sigma\sqrt{2\pi }}\;e^{-\frac{(x-\mu)^2}{2\sigma^2}}\] A distribuição normal padrão possui média zero e variância 1. Neste caso, a fdp se torna: \[ f(x)=\frac{1}{\sqrt{2\pi }}e^{-\frac{x^2}{2}}\]
e seu gráfico é

x <- pretty(c(-4,4), 80)
y <- dnorm(x)
n <- data.frame(x = x, y = y)

p <- ggplot(n, aes(x = x, y = y)) + 
       geom_line(color = "blue", lwd = 1.5) + 
       labs(y = "Probabilidade", title = "Distribuição Normal Padrão") +
       scale_x_discrete(limits = c('-4':'4'))  
p
Figura 5 - Distrubuição Normal Padrão

Figura 5 - Distrubuição Normal Padrão

O Teorema do Limite Central (que se constitui, sem sombra de dúvida, em uma das mais importantes descobertas de toda a matemática) estabelece que, se \(\small X_i , \; i = 1, 2, ..., n\) são variáveis aleatórias independentes e identicamente distribuídas (i.i.d.), distribuídas de acordo com \(\small f_X(x)\), onde \(\small f_X(x)\) é qualquer distribuição possuindo os dois primeiros momentos, então, quando \(\small n\rightarrow \infty\), \[f_z(z)\rightarrow \frac{1}{\sqrt{2\pi}}\: e^{-\frac{z^2}{2}}, \;\;\; \;\; z = \frac{\sqrt{n}\;(\bar{x}-\mu )}{\sigma}, \;\;\;\bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i\]

Poisson

Pacientes que chegam em uma sala de emergência, carros que dirigem até um posto de gasolina, átomos radioativos em decaimento, clientes chegando a um banco ou ao caixa de uma loja, esses eventos seguem tipicamente um processo de Poisson. A suposição é que os eventos são estatisticamente independentes e a taxa, \(\small \mu\), desses eventos (o número esperado de eventos por unidade de tempo) é constante. A lista de aplicações da distribuição de Poisson é muito longa. Para citar apenas alguns casos onde a distribuição de Poisson foi utilizada em trabalhos de pesquisa:

  • O número de soldados do exército prussiano mortos acidentalmente por coices de cavalos.
  • O número de mutações de uma determinada fita de DNA por unidade de tempo.
  • O número de falências em um determinado período.
  • O número de carros chegando a um lava-jato por hora.
  • O número de ataques por vírus em um servidor de data center em 24 hora.
  • O número de apagões no motor de um Airbus 330 por 100.000 horas de vôo.
  • O número de pacientes de asma chegando a uma clínica por hora.
  • O número de clientes famintos chegando a um restaurante McDonald’s.
  • O número de acidentes de trabalho em uma linha de produção em um determinado turno.
  • O número de nascimentos, mortes, casamentos, divórcios, suicídios e homicídios em um determinado período.
  • O número de clientes que originam reclamações sobre um serviço por mês.
  • O número de visitas a um web site por minuto.
  • O número de chamadas telefônicas por minuto em um determinado negócio.
  • O número de automóveis passando por uma cabine de pedágio entre 3h e 4h (madrugada).

A distribuição de Poisson é a distribuição de probabilidade de uma v.a. discreta e corresponde ao número (contagem) de eventos aleatórios estatisticamente independentes que ocorrem em uma dada unidade de tempo ou espaço.

\[f(x) = e^{-\mu} \; \frac {\mu^x}{x!} \;\;\;\;\;\: para \;\; x=0, 1, 2, ...\] Algumas notações normalmente utilizadas na distribuição de Poisson são:

  • \(\small \lambda\) é a taxa de ocorrência de eventos por unidade de tempo, por exemplo, o número acidentes de trabalho por semana.
  • t é o intervalo de tempo considerado.
  • \(\small \mu\) denota o número médio de eventos ocorrendo no intervalo de tamanho t, então \(\small \mu = \lambda \times t\)
  • X é o número de eventos ocorrendo neste intervalo.

A Figura 6 descreve a distribuição de Poisson com \(\small \mu = 5\) e \(\small \mu = 10\).

Figura 6 - Distribuição de Poisson: médias 5 e 10

Figura 6 - Distribuição de Poisson: médias 5 e 10

À medida que a média aumenta, a curva se desloca para a direita. A média e a variância da distribuição são iguais a \(\small \mu\).

Um exemplo
Se 12 carros atravessam uma ponte, em média, a cada minuto, qual é a probabilidade de 17 ou mais carros atravessarem a ponte em um minuto particular?

Solução
A probabilidade de haver 16 ou menos carros atravessando a ponte em um determinado minuto é dada pela função ppois().

ppois(16, lambda = 12)  # cauda inferior da distribuição
## [1] 0.898709

Portanto, a probabilidade de haver 17 ou mais carros atravessando a ponte neste minuto é a cauda superior da fdp.

ppois(16, lambda = 12, lower = FALSE)  # cauda superior
## [1] 0.101291

Resposta
Se 12 carros atravessam a ponte, em média, a cada minuto, a probabilidade de haver 17 ou mais carros em um minuto particular é de 10,13%.

Exponencial

A distribuição exponencial descreve o intervalo de tempo entre as ocorrências de dois eventos independentes e sequenciais. Se \(\small \mu\) é o intervalo de tempo médio de espera até a ocorrência do próximo evento recorrente, então \(\small \lambda = \frac {\mu} {t}\) é a taxa (rate) de ocorrência dos eventos. A função de densidade de probabilidade exponencial é:

\[f(x) = \lambda \; e^{-\lambda x}, \;\;\;\;\;\; \lambda > 0 \;\;\; e \;\;\; x > 0\]

A distribuição exponencial é largamente utilizada em análise de sobrevivência. Desde a análise da vida média de equipamentos até a expectativa de vida de humanos, o modelo apresenta resultados admiráveis.

Em análise de sobrevivência, \(\small \lambda\) é chamada de rate (taxa) de falha de um determinado equipamento (ou pessoa) em um instante t, dado que sobreviveu até o instante t.

O valor esperado de uma variável aleatória X com uma distribuição exponencial é:

\[\small E(X) = \frac {1} {\lambda}\] A variância é:

\[\small E(X) = \frac {1} {\lambda ^2} \]

A rate \(\small \lambda\) indica a velocidade de queda da distribuição, como pode ser visto no gráfico da Figura 7. O código abaixo gera três distribuições exponenciais.

# gráfico de três exponenciais
x <- seq(0, 20, 0.05)
df <- data.frame(lambda_0.25 = dexp(x, .25), 
                 lambda_0.5  = dexp(x, .5),
                 lambda_1.0  = dexp(x, 1))

library(ggplot2)

dfm <- reshape2::melt(df, value.name = "prob")
dfm$x <- rep(x, times = 3)

colours <- rainbow(3)
ggplot(dfm, aes(x = x, y = prob)) + 
    geom_line(aes(colour = variable), size = 2) + 
    scale_colour_manual(values = colours) + 
    labs(title = "Distribuição Exponencial", 
         x = "x", y = "probabilidade",
         colour = "Lambdas") # título da legenda
Figura 7 - Distribuição Exponencial: influência da rate

Figura 7 - Distribuição Exponencial: influência da rate

Algumas probabilidades da distribuição exponencial podem ser calculadas com facilidade:

  • \(\small P(X \le x) = 1 - e^{-\lambda x}\)
  • \(\small P(X > x) = e^{-\lambda x}\)

Um exemplo

Suponha que um determinado equipamento vital para a operação de seu negócio funcione ininterruptamente sem falhas, em média, por três meses. Qual é a probabilidade de haver uma avaria que implique no desligamento do equipamento em dois ou menos meses?

Solução

A taxa de avarias do equipamento é igual ao inverso do tempo médio entre falhas, conhecido como MTBF (Mean Time Between Failures). Portanto, \(\small \lambda = 1/3\). Podemos aplicar a função pexp para calcular a probabilidade.

pexp(2, rate = 1/3)
## [1] 0.4865829

Resposta A probabilidade é de 48.7%.

4. Relações entre distribuições

Bernoulli e binomial

  1. A distribuição de Bernoulli é um caso especial de distribuição binomial com uma única tentativa (n = 1)
  2. Há somente dois resultados possíveis na Bernoulli e na binomial: o sucesso e a falha.
  3. Bernoulli e binomial têm tentativas independentes.

Poisson e binomial

A distribuição de Poisson é um caso limitante de distribuição binomial nas seguintes condições:

  1. O número de tentativas é indefinidamente grande, ou seja, \(\small n \to \infty\).
  2. A probabilidade de sucesso para cada julgamento é igual e indefinidamente pequena, ou seja, \(\small p \to 0\).
  3. \(\small \lambda = n \times p\) é finito.

Binomial, Normal e Poisson

A distribuição Normal é o limite da distribuição binomial nas seguintes condições:

  1. O número de tentativas é indefinidamente grande, \(\small n \to \infty\).
  2. Ambos p e q não são indefinidamente pequenos.

A distribuição Normal também é um limite da distribuição de Poisson com o parâmetro \(\small \lambda \to \infty\).

Exponencial e Poisson

Se os tempos entre eventos aleatórios seguirem a distribuição exponencial com a taxa \(\small \lambda\), então o número total de eventos em um período de tempo de comprimento t segue a distribuição de Poisson com o parâmetro \(\mu = \lambda \times t\).


  1. Parte do conteúdo deste trabalho está baseado em texto publicado por ANALYTICS VIDHYA CONTENT TEAM, em 18 de setembro de 2017