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
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.
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.
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:
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.
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?
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
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
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}\]
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:
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
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\]
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
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\]
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:
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:
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
À 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%.
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
Algumas probabilidades da distribuição exponencial podem ser calculadas com facilidade:
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%.
A distribuição de Poisson é um caso limitante de distribuição binomial nas seguintes condições:
A distribuição Normal é o limite da distribuição binomial nas seguintes condições:
A distribuição Normal também é um limite da distribuição de Poisson com o parâmetro \(\small \lambda \to \infty\).
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\).
Parte do conteúdo deste trabalho está baseado em texto publicado por ANALYTICS VIDHYA CONTENT TEAM, em 18 de setembro de 2017↩