Implementação do método de Monte Carlo no Matlab

Escrito por chris daniels | Traduzido por aline kachel araujo
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Implementação do método de Monte Carlo no Matlab
A estimativa de Monte Carlo prevê a distribuição de parâmetros desconhecidos (Goodshoot/Goodshoot/Getty Images)

O método de Monte Carlo é um procedimento de estimativa matemática usado para calcular a distribuição de parâmetros desconhecidos em uma relação, sabendo-se a distribuição de parâmetros existentes. O método de Monte Carlo aproveita o poder da computação de estimar combinações aleatoriamente de diferentes parâmetros de entrada e calcula a distribuição de parâmetros de saída. As operações otimizadas de vetores no MATLAB fazem com que seja simples programar uma estimativa de Monte Carlo.

Outras pessoas estão lendo

O método de Monte Carlo

O procedimento das simulações de Monte Carlo é o seguinte: suponha uma série de parâmetros conhecidos de uma distribuição aleatória e faça uma estimativa de outros parâmetros ou de resultados futuros a partir dessas suposições. Quando é repetida várias vezes, a simulação de Monte Carlo pode fornecer uma série precisa de possibilidades, assim como suas probabilidades. O método de Monte Carlo é mais adequado a relações lineares nas quais apenas um parâmetro é desconhecido.

Configuração do método

Comece a se preparar para a simulação de Monte Carlo examinando a equação da relação que você deseja simular. Por exemplo, considere "A/B sen (C θ) = X". Os parâmetros A, B e C devem ser conhecidos e o ângulo θ pode ser aproximado do intervalo de 0 a 2π. Você precisa saber o intervalo dos parâmetros A, B e C e também como esses valores são distribuídos pelo intervalo. Por exemplo, A e B podem ser distribuídos uniformemente entre 5 e 10 e o C pode ter uma distribuição normal em torno do valor 2 e variância igual a 1. Você também vai precisar decidir os números adequados aos testes para estimar corretamente a distribuição potencial de X.

Procedimento no MATLAB

A função "rand()" do MATLAB fornece números pseudoaleatórios em uma distribuição uniforme no intervalo (0,1).

nTrials = 1000; A = 5rand(nTrials,1) + 5; B = 5rand(nTrials,1) + 5;

A função "normrnd()"fornece números pseudoaleatórios em uma distribuição normal.

C = normrnd(2,1,nTrials,1);

O intervalo do ângulo θ é estimado entre 0 e 2π e um interno de 0,05.

teta = 0:0.05:2*pi;

O resultado vai ser uma matriz de tamanho nTrials pelo comprimento de θ.

X = (A./B) * sin( C * teta) ;

Limitações

O método de Monte Carlo limita-se à simulação de relações matemáticas que são conhecidas, nas quais a maioria dos parâmetros pode ser aproximada em uma distribuição conhecida. As relações lineares são as que funcionam melhor, uma vez que o erro de estimativa pode aumentar muito em relações não lineares. Relações com um grande número de parâmetros ou intervalos grandes de distribuição podem levar muito tempo para serem estimadas usando o método de Monte Carlo.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível