Atualmente, estou usando uma amostragem Latin Hypercube (LHS) para gerar números aleatórios uniformes bem espaçados para procedimentos de Monte Carlo. Embora a redução de variância que eu obtenho do LHS seja excelente para 1 dimensão, ela não parece ser eficaz em 2 ou mais dimensões. Vendo como o LHS é uma técnica bem conhecida de redução de variância, pergunto-me se posso interpretar mal o algoritmo ou usá-lo de alguma forma.
Em particular, o algoritmo LHS que eu uso para gerar variáveis aleatórias uniformes espaçadas em dimensões é:
Para cada dimensão , gere um conjunto de números aleatórios distribuídos uniformemente modo que , ...
Para cada dimensão , reordene aleatoriamente os elementos de cada conjunto. O primeiro produzido por LHS é o vetor dimensional a contém o primeiro elemento de cada conjunto reordenado, o segundo produzido por LHS é o vetor dimensional a contém o segundo elemento de cada conjunto reordenado, e assim por diante ...
Incluí algumas plotagens abaixo para ilustrar a redução de variância que recebo em e para um procedimento de Monte Carlo. Nesse caso, o problema envolve estimar o valor esperado de uma função de custo que e é uma variável aleatória dimensional distribuída entre . Em particular, os gráficos mostram a média e o desvio padrão de 100 estimativas médias de para tamanhos de amostra de 1000 a 10000.
Eu obtenho o mesmo tipo de resultados de redução de variação, independentemente de eu usar minha própria implementação ou a lhsdesign
função no MATLAB. Além disso, a redução de variância não muda se eu permutar todos os conjuntos de números aleatórios em vez de apenas os correspondentes a .
Os resultados fazem sentido, uma vez que a amostragem estratificada em significa que devemos amostrar a partir de quadrados em vez de quadrados que garantem uma boa distribuição.