Distribuição uniforme no Excel: números aleatórios entre dois valores
Resumindo: todo valor entre um mínimo e um máximo é igualmente provável, como o lançamento de um dado, só que esticado sobre uma faixa.
Uma distribuição uniforme torna igualmente prováveis todos os valores entre um mínimo e um máximo. No Excel, =min + (max - min) * RAND() sorteia valores dela, e RANDBETWEEN(min, max) sorteia números inteiros. Para um preço unitário entre 40 e 60 (US$), a média é 50, o P10 é 42 e o P90, 58.
O que é a distribuição uniforme
Dois números a definem: o menor e o maior valor possíveis. Entre eles a densidade é plana, então qualquer trecho da faixa recebe uma fatia dos resultados proporcional à sua largura: com uma faixa de 20, cada unidade dela recebe 5,0% dos resultados, e o P10 fica a um décimo do caminho a partir do mínimo.
Como ler o gráfico: cada barra conta quantos dos 10.000 valores simulados caíram naquele trecho, e a linha é a curva teórica. Quanto mais alta a barra, mais vezes os valores caem ali. Aqui as barras têm todas mais ou menos a mesma altura: nenhuma parte da faixa é favorecida.
Fórmulas: média, desvio padrão, percentis
| Grandeza | Fórmula e exemplo |
|---|---|
| Média e mediana | (mín. + máx.) / 2 = 50 |
| Desvio padrão | (máx. − mín.) / √12 = 20 / 3,464 = 5,77 |
| Percentil p | mín. + p × (máx. − mín.) P10 = 42, P90 = 58 |
A distribuição uniforme no Excel
A própria RAND() (ALEATÓRIO no Excel em português) é uniforme entre 0 e 1. Esticada sobre qualquer faixa, ela dá um sorteio uniforme: em uma célula, =D9+(F9-D9)*RAND(), com o mínimo em D9 e o máximo em F9. Para números inteiros, RANDBETWEEN(min, max) (ALEATÓRIOENTRE) devolve um inteiro de min a max, com os dois extremos incluídos.
| Célula | Fórmula | Valor |
|---|---|---|
| Número aleatório u (I9) | =RAND() | |
| Sorteio (J9) | =D9+(F9-D9)*I9 | |
| Sorteio em uma célula | =D9+(F9-D9)*RAND() | |
| Média (K9) | =(D9+F9)/2 | 50 |
| P10 (L9) | =D9+(F9-D9)*0.1 | 42 |
| P90 (M9) | =D9+(F9-D9)*0.9 | 58 |
Conferir os números: valores exatos contra 10.000 sorteios do Excel e do xellstorm
| Exato | Excel, RAND() | xellstorm | |
|---|---|---|---|
| Média | 50,00 | 49,96 | 50,00 |
| Desvio padrão | 5,77 | 5,78 | 5,77 |
| P10 | 42,00 | 41,97 | 42,00 |
| P50 (mediana) | 50,00 | 49,91 | 50,00 |
| P90 | 58,00 | 57,95 | 58,00 |
O Excel sorteia com RAND(), totalmente ao acaso; o xellstorm distribui os sorteios de modo uniforme pela faixa (amostragem por Hipercubo Latino), por isso as estatísticas dele ficam mais perto dos valores exatos.
Quando a distribuição uniforme serve
Use quando você conhece uma faixa e nada mais: nenhum valor dentro dela é mais plausível que outro. Isso é mais raro do que parece. Se você apostaria no meio e não nas pontas, uma distribuição triangular ou PERT diz isso. Na mesma faixa de 40 a 60, uma triangular com pico em 50 põe 75,0% dos resultados entre 45 e 55; a uniforme põe só 50,0%, e o desvio padrão dela é 5,77 contra 4,08.
- Bons usos: um valor que cai em qualquer ponto de uma janela conhecida (uma chegada dentro de uma hora, uma posição ao longo de uma peça), um parâmetro que você quer varrer por uma faixa plausível para ver o quanto ele pesa, ou um primeiro rascunho do modelo antes de haver estimativas melhores.
- Maus usos: custos e durações, em que os extremos são menos prováveis que o meio, e qualquer grandeza sem limites firmes.
Como usar a distribuição uniforme no xellstorm
- Transforme a célula em entrada e, na etapa Distribuições, escolha Uniforme; informe mín. e máx. Para números inteiros, escolha Uniforme inteira.
- Com valores passados, “A partir de dados” no painel lateral compara uma uniforme com outras formas, para você ver se os dados são mesmo planos.
“Importar da planilha” converte células como =a + (b - a)*RAND() em entradas uniformes e RANDBETWEEN(a, b) em entradas uniformes inteiras; modelos de suplementos são convertidos a partir de RiskUniform, VoseUniform e PsiUniform.
Perguntas
Como gerar um número aleatório entre dois valores no Excel?
Use =min + (max - min) * RAND(), por exemplo =40 + (60 - 40) * RAND() para um valor entre 40 e 60. Para números inteiros, use =RANDBETWEEN(40, 60). As duas fórmulas sorteiam de novo a cada recálculo da planilha.
Quais são a média e o desvio padrão de uma distribuição uniforme?
A média é o ponto médio, (mín. + máx.) / 2, e o desvio padrão é (máx. − mín.) / √12, cerca de 0,29 vez a largura. De 40 a 60: média 50, desvio padrão 5,77.
Uniforme ou triangular?
Use a uniforme quando nenhum valor da faixa é mais provável que outro; use a triangular, ou a PERT, quando há um valor mais provável. A uniforme é a escolha mais dispersa para a mesma faixa: o desvio padrão dela é 5,77, contra 4,08 de uma triangular com pico no meio.
Veja também
- Guia
Qual distribuição de probabilidade usar? Guia para modelos de Monte Carlo
Encontre a distribuição de probabilidade certa em duas perguntas: PERT, triangular, normal, lognormal, Weibull, Poisson, binomial, beta e outras, com a finalidade de cada uma e a fórmula dela no Excel. - Guia
Distribuição triangular no Excel: fórmula, média e comparação com a PERT
A distribuição triangular transforma mínimo, mais provável e máximo em chances que variam em linha reta. A fórmula do Excel para sorteios e percentis, a média e a triangular x PERT. - Guia
Simulação de Monte Carlo no Excel, com ou sem suplemento
Três formas de rodar uma simulação de Monte Carlo em um modelo do Excel: RAND() e uma tabela de dados, um suplemento ou uma ferramenta no navegador, sem suplemento. Fórmula PERT incluída.
O xellstorm é uma ferramenta de simulação de Monte Carlo para modelos do Excel, que roda no navegador: sem suplemento, e o arquivo nunca sai do seu computador.