Utilisation de MCMC pour évaluer la valeur attendue d'une fonction de grande dimension


10

Je travaille sur un projet de recherche lié à l'optimisation et j'ai récemment eu l'idée d'utiliser MCMC dans ce cadre. Malheureusement, je suis relativement nouveau dans les méthodes MCMC, donc j'ai eu plusieurs questions. Je vais commencer par décrire le problème puis poser mes questions.

Le problème se résume à l' estimation de la valeur attendue d'une fonction de coût ω = ( ω 1 , ω 2 , . . . Ω h ) est un h variable de -dimentional aléatoire avec une densité f ( ω ) .c(ω)ω=(ω1,ω2,...ωh)hf(ω)

Dans notre cas, il n'existe pas de version sous forme fermée de . Cela signifie que nous devons utiliser des méthodes de Monte Carlo pour approximer la valeur attendue. Malheureusement, il s'avère que les estimations de E [ c ( ω ) ] qui sont générées à l'aide des méthodes MC ou QMC ont trop de variance pour être utiles dans un cadre pratique.c(ω)E[c(ω)]

Une idée que nous avons dû utiliser une distribution d'échantillonnage d'importance pour générer des points d'échantillonnage qui produiront une estimation de faible variance de . Dans notre cas, la distribution d'échantillonnage d'importance idéale, g ( ω ) , doit être à peu près proportionnelle à c ( ω ) f ( ω ) . Voyant comment g ( ω ) est connu jusqu'à constante, je me demande si je peux utiliser MCMC avec la distribution de proposition c ( ω ) f ( ω )E[c(ω)]g(ω)c(ω)f(ω)g(ω)c(ω)f(ω)pour éventuellement générer des échantillons à partir de .g(ω)

Mes questions ici sont:

  • MCMC peut-il être utilisé dans ce paramètre? Si oui, quelle méthode MCMC serait appropriée? Je travaille dans MATLAB, j'ai donc une préférence pour tout ce qui a déjà une implémentation MATLAB.

  • Y a-t-il des techniques que je peux utiliser pour accélérer la période de rodage pour MCMC. Et comment puis-je savoir que la distribution stationnaire a été atteinte? Dans ce cas, il faut en fait un peu de temps pour calculer pour un ω donné .c(ω)ω


faute de frappe dans le dernier paragraphe? au lieu de c ( w ) ? C(w)c(w)
mpiktas

Vous ne devez utiliser des méthodes de Monte Carlo pour Intégrales de grande dimension juste parce qu'une forme fermée n'existe pas. Vous pouvez utiliser des méthodes basées sur des grilles clairsemées . Je ne connais cependant pas les avantages et les inconvénients.
onestop

@onestop - vous avez raison, les grilles clairsemées fonctionnent un peu mieux dans mon cas, même si j'aimerais également tester cette idée.
Berk U.17

Cela ressemble un peu à la finance.
Wok

1
Il pourrait être appliqué au financement. Nous l'utilisons cependant pour la gestion optimale des systèmes d'alimentation :)
Berk U.

Réponses:


4

Je me souviendrai toujours, que MCMC n'est qu'un outil d'intégration numérique (et plutôt inefficace). Ce n'est pas quelque chose de magique / mystique. Il est très utile car il est relativement facile à appliquer. Il ne nécessite pas beaucoup de réflexion par rapport à certaines autres techniques d'intégration numérique. Par exemple, vous n'avez pas à faire de dérivés. Il suffit de générer des "nombres aléatoires".

Cependant, comme toute méthode d'intégration numérique, ce n'est pas un outil universel. Il y a des conditions quand c'est utile et des conditions quand ça ne l'est pas.

Il peut être plus judicieux de mettre en place une autre technique. Selon la taille de , la vitesse de votre ordinateur et le temps que vous êtes prêt à attendre pour obtenir des résultats. Une grille uniforme peut faire le travail (bien que cela nécessite un petit h ou une longue période d'attente). Le «travail» consiste à évaluer l'intégrale - l'équation ne se soucie pas de la signification que vous ou moi attachons au résultat (et donc peu importe si nous avons obtenu le résultat au hasard ou non).hh

De plus, si vos estimations de sont tout à fait précis, le f ( ω ) sera fortement atteint un sommet et ressemble beaucoup à une fonction delta, de sorte que l'intégrale est effectivement substitution ω ω m un x .ωf(ω)ωωmax

Une autre technique d'intégration numérique utilise une série de taylor sous l'intégrale. f(ω)f(ωmax)+(ωωmax)f(ωmax)+12(ωωmax)2f(ωmax)+

C'est une stratégie utile lorsque les moments de sont facilement obtenus.ω

Edwin Jaynes a une belle citation à ce sujet:

chaque fois qu'il y a une façon aléatoire de faire quelque chose, il y a une manière non aléatoire qui donne de meilleurs résultats, mais nécessite plus de réflexion

Une façon «plus réfléchie» consiste à utiliser «MCMC stratifié» pour faire l'intégrale. Donc, plutôt que de choisir "au hasard" un point sur tout l'espace des paramètres: divisez-le en "strates". Ces "strates" doivent être choisies de manière à obtenir une bonne plage de la partie haute de l'intégrale. Ensuite, échantillonnez au hasard dans chaque strate. Mais cela vous obligera à écrire votre propre code, j'imagine (c'est-à-dire plus de réflexion).


Merci beaucoup pour votre message. J'aime beaucoup votre idée de MC stratifié. Je me demandais si vous connaissiez des ressources à ce sujet pour que je puisse le lire? Tout ce qui a un exemple en action serait très apprécié.
Berk U.18

C'est une idée que j'ai eue, donc je ne connais aucune ressource. Il pourrait être intégré au framework MCMC, en ajoutant une autre couche qui définit les strates. Et l'une de mes principales faiblesses est de faire des choses - je suis un penseur dans l'âme! Je sais que cela ne vous aide pas beaucoup et je m'en excuse. Mais je ne suis sûrement pas la seule personne à avoir pensé à ça. Quiconque a fait des statistiques «basées sur la conception» et des «statistiques bayésiennes» y aurait sûrement pensé.
probabilitéislogic

2

Il n'y a aucune indication que vos variables ici sont corrélées, donc je ne sais pas pourquoi vous utiliseriez MCMC par opposition à Monte Carlo normal. Il existe de nombreuses méthodes d'échantillonnage différentes, y compris l'échantillonnage stratifié mentionné (hypercube latin) et QMC. Les méthodes de quadrature clairsemée sont très bonnes si la dimension du problème n'est pas trop élevée (pas plus de 10) car les grilles de quadrature clairsemées se développent géométriquement (malédiction de dimensionnalité).

Mais il semble que vous soyez sur la bonne voie en ce qui concerne l'échantillonnage d'importance. La clé ici est de choisir une distribution biaisée qui a une grande probabilité concentrée près de votre région d'intérêt et qui a des queues plus épaisses que la distribution nominale.

Je voudrais ajouter qu'il s'agit d'un problème de recherche ouvert, donc si vous pouvez trouver quelque chose de bon, cela serait d'un grand intérêt pour la communauté!


Merci pour cela! Pourriez-vous nous en dire un peu plus sur la relation entre l'efficacité du MCMC et la corrélation entre les variables? J'avais toujours pensé que MCMC fournirait un avantage sur les techniques d'intégration numérique existantes lorsque les variables sont corrélées - bien que je ne puisse pas fournir une bonne raison pour laquelle cela se produirait.
Berk U.22

0

g(ω)

En outre, vous pouvez rechercher des techniques de réduction de variance dans le domaine de l'intégration MC. Un grand ensemble autonome de ressources sont les chapitres de livres gratuits disponibles auprès d'Art Owen à Stanford. Plus précisément les chapitres 8, 9 et 10.

Vous y trouverez des traitements approfondis d'échantillonnage adaptatif, de récursivité et d'autres techniques.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.