Usando o MCMC para avaliar o valor esperado de uma função de alta dimensão

10

Estou trabalhando em um projeto de pesquisa relacionado à otimização e recentemente tive uma ideia de usar o MCMC nessa configuração. Infelizmente, sou bastante novo nos métodos do MCMC, por isso tive várias perguntas. Começarei descrevendo o problema e depois fazendo minhas perguntas.

Nosso problema se resume a estimar o valor esperado de uma função de custo que é uma variável aleatória regional com uma densidade f (\ omega) .ω = ( ω 1 , Q 2 , . . . ω h ) h f ( ω )c(ω)ω=(ω1 1,ω2,...ωh)hf(ω)

No nosso caso, uma versão de formulário fechado de c(ω) não existe. Isso significa que temos que usar métodos de Monte Carlo para aproximar o valor esperado. Infelizmente, verifica-se que as estimativas de E[c(ω)] geradas usando métodos de MC ou QMC têm muita variação para serem úteis em um ambiente prático.

Uma ideia de que tivemos que usar uma distribuição de amostragem importante para gerar pontos de amostra que produziriam uma estimativa de baixa variância de E[c(ω)] . No nosso caso, a distribuição ideal da amostra de importância, g(ω) , deve ser aproximadamente proporcional a c(ω)f(ω) . Vendo como g(ω) é conhecido como constante, pergunto-me se posso usar o MCMC junto com a distribuição da proposta c(ω)f(ω) para eventualmente gerar amostras de g(ω) .

Minhas perguntas aqui são:

  • O MCMC pode ser usado nessa configuração? Em caso afirmativo, qual método MCMC seria apropriado? Como estou trabalhando no MATLAB, tenho preferência por qualquer coisa que já tenha uma implementação do MATLAB.

  • Existem técnicas que eu possa usar para acelerar o período de recuperação do MCMC. E como posso saber que a distribuição estacionária foi alcançada? Nesse caso, leva um bom tempo para calcular para um determinado .ωc(ω)ω

Berk U.
fonte
erro de digitação no último parágrafo? vez de ? c ( w )C(W)c(W)
Mvctas 17/03/11
Você não precisa usar os métodos de Monte Carlo para integrais de alta dimensão apenas porque não existe um formulário fechado. Você pode usar métodos baseados em grades esparsas . Mas eu não conheço os prós e os contras.
onestop 17/03
@ onestop - você tem razão, as redes esparsas funcionam um pouco melhor no meu caso, embora eu também queira testar essa idéia.
Berk U.
Soa um pouco como finanças.
Wok
11
Pode ser aplicado ao financiamento. Nós estamos usando isso para a gestão optimizada de sistemas de energia embora :)
Berk U.

Respostas:

4

Eu sempre lembraria que o MCMC é apenas uma ferramenta de integração numérica (e uma ferramenta bastante ineficiente). Não é uma coisa mágica / mística. É muito útil porque é razoavelmente fácil de aplicar. Não requer muita reflexão em comparação com algumas outras técnicas de integração numérica. Por exemplo, você não precisa fazer derivativos. Você só precisa gerar "números aleatórios".

No entanto, como qualquer método de integração numérica, não é uma ferramenta universal para capturar todas as informações. Existem condições quando é útil e condições quando não é.

Pode ser mais sábio configurar outra técnica. Dependendo do tamanho do , da velocidade do seu computador e de quanto tempo você está preparado para aguardar resultados. Uma grade uniforme pode fazer o trabalho (embora isso exija pouco h ou uma longa quantidade de espera). O "trabalho" é avaliar a integral - a equação não se importa com o significado que você ou eu atribuímos ao resultado (e, portanto, não se importa se obtivemos o resultado aleatoriamente ou não).hh

Além disso, se suas estimativas de forem bastante precisas, f ( ω ) terá um pico acentuado e se assemelhará a uma função delta, de modo que a integral está efetivamente substituindo ω ω m a x .ωf(ω)ωωmumax

Outra técnica de integração numérica está usando uma série de taylor sob a integral. f(ω)f(ωmumax)+(ω-ωmumax)f(ωmumax)+1 12(ω-ωmumax)2f(ωmumax)+

Esta é uma estratégia útil quando os momentos de são facilmente obtidos.ω

Edwin Jaynes tem uma boa citação sobre isso:

sempre que existe uma maneira aleatória de fazer algo, existe uma maneira não aleatória que produz melhores resultados, mas requer mais reflexão

Uma maneira "mais pensante" é usar o "MCMC estratificado" para fazer a integral. Então, em vez de escolher "aleatoriamente" um ponto em todo o espaço de parâmetros: divida-o em "estratos". Esses "estratos" devem ser selecionados para que você tenha uma boa faixa da parte alta da integral. Em seguida, faça uma amostragem aleatória em cada estrato. Mas isso exigirá que você escreva seu próprio código, eu imagino (ou seja, mais pensamento).

probabilityislogic
fonte
Muito obrigado pela sua postagem. Eu gosto muito da sua ideia estratificada de MC. Eu queria saber se você sabia sobre algum recurso para que eu pudesse ler sobre isso? Qualquer coisa com um exemplo em ação seria muito apreciada.
Berk U.
Esta é uma ideia que tive, por isso não conheço nenhum recurso. Ele pode ser colocado na estrutura do MCMC, adicionando outra camada que define os estratos. E uma das minhas principais fraquezas é fazer coisas - eu sou um pensador de coração! Sei que isso não ajuda muito e peço desculpas por isso. Mas certamente não sou a única pessoa que pensou nisso. Qualquer um que tenha feito estatísticas "baseadas em design" e "estatísticas bayesianas" certamente pensaria nisso.
probabilityislogic
2

Não há nenhuma indicação de que suas variáveis ​​aqui estão correlacionadas, então não sei por que você usaria o MCMC em oposição ao Monte Carlo regular. Existem muitos métodos de amostragem diferentes, incluindo a amostragem estratificada mencionada (hipercubo latino) e o QMC. Os métodos de quadratura esparsa são muito bons se a dimensão do problema não for muito alta (não mais que 10), pois as grades de quadratura esparsas crescem geometricamente (maldição da dimensionalidade).

Mas parece que você está no caminho certo em relação à amostragem de importância. A chave aqui é escolher uma distribuição tendenciosa que tenha grande probabilidade concentrada perto da sua região de interesse e que tenha caudas mais grossas que a distribuição nominal.

Eu gostaria de acrescentar que esse é um problema de pesquisa aberto, portanto, se você puder criar algo bom, será de grande interesse para a comunidade!

Gary
fonte
Obrigado por isso! Você poderia elaborar um pouco mais sobre a relação entre a eficácia do MCMC e a correlação entre as variáveis? Eu sempre pensei que o MCMC forneceria uma vantagem sobre as técnicas de integração numérica existentes quando as variáveis ​​estiverem correlacionadas - embora eu não possa fornecer uma boa razão para isso.
Berk U.
0

g(ω)

Além disso, convém procurar técnicas de redução de variação no campo de integração do MC. Um excelente conjunto de recursos independentes são os capítulos de livros gratuitos disponíveis na Art Owen em Stanford. Especificamente nos capítulos 8, 9 e 10.

Lá você encontrará tratamentos detalhados de amostragem adaptativa, recursão e outras técnicas.

JKnight
fonte