O que é a simulação de Monte Carlo?
A simulação de Monte Carlo é uma técnica matemática que prevê possíveis resultados de um evento incerto. Os programas de computador usam esse método para analisar dados passados e prever uma série de resultados futuros com base em uma escolha de ação. Por exemplo, para estimar as vendas do primeiro mês de um novo produto, você pode fornecer ao programa de simulação de Monte Carlo seu histórico de dados de vendas. O programa estimará diferentes valores de vendas com base em fatores como condições gerais de mercado, preço do produto e orçamento de publicidade.
Por que a simulação de Monte Carlo é importante?
A simulação de Monte Carlo é um modelo probabilístico que pode incluir um elemento de incerteza ou aleatoriedade na previsão. Ao usar um modelo probabilístico para simular um resultado, você obterá resultados diferentes a cada vez. Por exemplo, a distância entre sua casa e seu trabalho é fixa. No entanto, uma simulação probabilística pode prever diferentes tempos de viagem considerando fatores como congestionamento, clima e avarias no veículo.
Em contraste, os métodos convencionais de previsão são mais determinísticos. Eles fornecem uma resposta definitiva para a previsão e não conseguem levar em consideração a incerteza. Por exemplo, podem indicar o tempo mínimo e máximo de viagem, mas as duas respostas são menos precisas.
Benefícios da simulação de Monte Carlo
A simulação de Monte Carlo fornece vários resultados possíveis e a probabilidade de cada um deles com base em um grande conjunto de amostras de dados aleatórios. Ela oferece uma imagem mais compreensível do que a previsão determinística. Por exemplo, prever riscos financeiros requer a análise de dezenas ou centenas de fatores de risco. Os analistas financeiros usam a simulação de Monte Carlo para produzir a probabilidade de todos os resultados possíveis.
História da simulação de Monte Carlo
John von Neumann e Stanislaw Ulam inventaram a simulação de Monte Carlo, ou o método de Monte Carlo, na década de 1940. O nome é uma homenagem ao famoso local de jogo em Mônaco, pois o método compartilha a mesma característica aleatória de um jogo de roleta.
Quais são os casos de uso da simulação de Monte Carlo?
As empresas usam métodos de Monte Carlo para avaliar riscos e fazer previsões exatas de longo prazo. Veja alguns exemplos de casos de uso.
Comercial
Líderes empresariais usam métodos de Monte Carlo para projetar cenários realistas ao tomar decisões. Por exemplo, um profissional de marketing precisa decidir se é viável aumentar o orçamento de publicidade para um curso de ioga online. Poderiam usar o modelo matemático de Monte Carlo em fatores ou variáveis incertos, como:
- Taxa de assinatura
- Custo de publicidade
- Taxa de inscrição
- Retenção
A simulação preveria o impacto das alterações nesses fatores para indicar se a decisão é lucrativa.
Finanças
Os analistas financeiros geralmente fazem previsões de longo prazo sobre os preços das ações e orientam os clientes sobre estratégias apropriadas. Ao fazer isso, devem considerar fatores de mercado que podem causar mudanças drásticas no valor do investimento. Como resultado, usam a simulação de Monte Carlo para prever resultados prováveis para corroborar com suas estratégias.
Jogos online
Regulamentos rígidos regem o setor de jogos e apostas online. Os clientes esperam que o software de jogos seja justo e imite as características da contraparte física. Portanto, os programadores de jogos usam o método de Monte Carlo para simular resultados e garantir uma experiência de jogo justo.
Engenharia
Os engenheiros devem garantir a confiabilidade e a robustez de cada produto e sistema que criam antes de disponibilizá-lo ao público. Utilizam métodos de Monte Carlo para simular a provável taxa de falha de um produto com base nas variáveis existentes. Por exemplo, engenheiros mecânicos usam a simulação de Monte Carlo para calcular a durabilidade de um motor quando ele opera em várias condições.
Como funciona a simulação de Monte Carlo?
O princípio básico da simulação de Monte Carlo está na ergodicidade, que descreve o comportamento estatístico de um ponto móvel em um sistema fechado. O ponto móvel acabará passando por todos os locais possíveis em um sistema ergódico. Isso passa a ser a base da simulação de Monte Carlo, na qual o computador executa simulações suficientes para produzir o resultado final de diferentes entradas.
Por exemplo, um dado de seis lados tem um sexto de chance de cair em um número específico. Se você lançar o dado seis vezes, talvez ele não caia em seis números diferentes. Porém, você alcançará a probabilidade teórica de um sexto para cada número quando continuar rolando por tempo indeterminado. A precisão do resultado é proporcional ao número de simulações. Em outras palavras, executar 10 mil simulações produz resultados mais precisos do que 100 simulações.
A simulação de Monte Carlo funciona da mesma forma. Ela usa um sistema de computador para executar simulações suficientes para produzir resultados diferentes que imitam resultados da vida real. O sistema usa geradores de números aleatórios para recriar a incerteza inerente dos parâmetros de entrada. Os geradores de números aleatórios são programas de computador que produzem uma sequência imprevisível de números aleatórios.
A simulação de Monte Carlo em comparação com o machine learning
Machine learning (ML) é uma tecnologia de computador que usa uma grande amostra de dados de entrada e saída (E/S) para treinar software para entender a correlação entre ambos. Uma simulação de Monte Carlo, por sua vez, usa amostras de dados de entrada e um modelo matemático conhecido para prever os resultados prováveis que ocorrem em um sistema. Utiliza-se modelos de ML para testar e confirmar os resultados em simulações de Monte Carlo.
Quais são os componentes de uma simulação de Monte Carlo?
Uma análise de Monte Carlo consiste em variáveis de entrada, variáveis de saída e um modelo matemático. O sistema de computador alimenta variáveis independentes em um modelo matemático, simula-as e produz variáveis dependentes.
Variáveis de entrada
As variáveis de entrada são valores aleatórios que afetam o resultado da simulação de Monte Carlo. Por exemplo, a qualidade da fabricação e a temperatura são variáveis de entrada que influenciam a durabilidade de um smartphone. É possível expressar variáveis de entrada como um intervalo de amostras de valores aleatórios para que os métodos de Monte Carlo possam simular os resultados com valores de entrada aleatórios.
Variável de saída
A variável de saída é o resultado da análise de Monte Carlo. Por exemplo, a expectativa de vida de um dispositivo eletrônico é uma variável de saída, com seu valor sendo um tempo como seis meses ou dois anos. O software de simulação de Monte Carlo mostra a variável de saída em um histograma ou grafo que distribui o resultado em uma faixa contínua no eixo horizontal.
Modelo matemático
O modelo matemático é uma equação que descreve a relação entre as variáveis de saída e de entrada na forma matemática. Por exemplo, o modelo matemático para lucratividade é lucro = receita - despesas.
O software de Monte Carlo substitui receitas e despesas por valores prováveis com base no tipo de distribuição de probabilidade. Em seguida, repete a simulação para obter um resultado altamente preciso. A simulação de Monte Carlo pode levar horas para ser executada quando o modelo matemático envolve muitas variáveis aleatórias.
O que são as distribuições de probabilidade na simulação de Monte Carlo?
As distribuições de probabilidade são funções estatísticas que representam um intervalo de valores distribuídos entre os limites. Especialistas em estatística usam distribuições de probabilidade para prever a possível ocorrência de uma variável incerta, que pode consistir em valores discretos ou contínuos.
A distribuição de probabilidade discreta é representada por números inteiros ou por uma sequência de números finitos. Cada valor discreto tem uma probabilidade maior que zero. Os estatísticos plotam a distribuição de probabilidade discreta em uma tabela, mas eles plotam a distribuição de probabilidade contínua como uma curva entre dois pontos dados no eixo x de um grafo. Abaixo estão os tipos comuns de distribuições de probabilidade que uma simulação de Monte Carlo consegue modelar.
Distribuição normal
A distribuição normal, também conhecida como curva de sino, tem o formato simétrico de um sino e representa a maioria dos eventos da vida real. A possibilidade de um valor aleatório na mediana é alta, e a probabilidade diminui consideravelmente em direção a ambas as extremidades da curva do sino. Por exemplo, uma amostragem aleatória repetida do peso dos alunos em uma sala de aula específica fornece um gráfico de distribuição normal.
Distribuição uniforme
A distribuição uniforme refere-se a uma representação estatística de variáveis aleatórias com chance igual. Quando plotadas em um gráfico, as variáveis uniformemente distribuídas aparecem como uma linha plana horizontal em todo o intervalo válido. Por exemplo, a distribuição uniforme representa a probabilidade de lançar e cair de cada lado de um dado.
Distribuição triangular
A distribuição triangular usa valores mínimos, máximos e mais prováveis para representar variáveis aleatórias. Sua probabilidade atinge o pico no valor mais provável. Por exemplo, as empresas usam a distribuição triangular para prever os próximos volumes de vendas, estabelecendo o valor mínimo, máximo e moda do triângulo.
Quais são as etapas para realizar a simulação de Monte Carlo?
O método de Monte Carlo abrange as etapas a seguir.
Estabelecer o modelo matemático
Defina uma equação que reúna as variáveis de saída e de entrada. Os modelos matemáticos podem variar de fórmulas básicas comerciais a equações científicas complexas.
Determinar os valores de entrada
Escolha entre os diferentes tipos de distribuições de probabilidade para representar os valores de entrada. Por exemplo, a temperatura operacional de um telefone celular provavelmente será uma curva de sino, pois o dispositivo funciona em temperatura ambiente na maioria das vezes.
Criar um conjunto de dados de amostra
Crie um grande conjunto de dados de amostras aleatórias com base na distribuição de probabilidade escolhida. O tamanho da amostra deve estar na faixa de 100 mil para produzir resultados precisos.
Configurar o software de simulação de Monte Carlo
Use os exemplos de entrada e o modelo matemático para configurar e executar o software de simulação de Monte Carlo. Os tempos de resultado podem variar de acordo com o número de variáveis de entrada, e talvez você precise esperar pelos resultados.
Analisar os resultados
Verifique os resultados simulados para descobrir como a saída se distribui no histograma. Use ferramentas estatísticas para calcular parâmetros, como valor médio, desvio padrão e variante, para determinar se o resultado está dentro de sua expectativa.
Quais são os desafios da simulação de Monte Carlo?
Estes são dois desafios comuns ao usar simulações de Monte Carlo:
- A simulação de Monte Carlo é altamente dependente de valores de entrada e distribuição. Erros cometidos ao eleger a distribuição de entrada e probabilidade podem levar a resultados imprecisos.
Pode ser necessário ter capacidade computacional excessiva para realizar experimentos de Monte Carlo. A computação com o método de Monte Carlo pode levar horas ou dias para ser concluída em um único computador.
Como o AWS Batch pode ajudar com a simulação de Monte Carlo?
O AWS Batch é um serviço que os analistas de dados usam para executar workloads em lotes em ambientes da AWS. Analistas de dados usam o AWS Batch para escalar recursos de computação em nuvem para simulações de Monte Carlo automaticamente. Em seguida, simulam sistemas e variáveis complexos em um período mais curto. O AWS Batch oferece os seguintes recursos:
- Os cientistas de dados se concentram em analisar os resultados em vez de gerenciar a alocação de recursos.
- O AWS Batch elimina a necessidade de supervisão e intervenção manuais ao realizar simulações de Monte Carlo.
- Não há necessidade de instalar software de computação em lote separado em seus ambientes da AWS.
Comece a usar o método de Monte Carlo criando uma conta da AWS hoje mesmo.