J'utilise actuellement un Latin Hypercube Sampling (LHS) pour générer des nombres aléatoires uniformes bien espacés pour les procédures de Monte Carlo. Bien que la réduction de variance que j'obtiens du LHS soit excellente pour 1 dimension, elle ne semble pas être efficace dans 2 dimensions ou plus. Voyant comment le LHS est une technique bien connue de réduction de la variance, je me demande si je peux mal interpréter l'algorithme ou le mal utiliser d'une manière ou d'une autre.
En particulier, l'algorithme LHS que j'utilise pour générer variables aléatoires uniformes espacées en dimensions est:
Pour chaque dimension , générez un ensemble de nombres aléatoires uniformément distribués tels que , ...
Pour chaque dimension , réorganisez au hasard les éléments de chaque ensemble. Le premier produit par LHS est le vecteur dimensionnel contenant le premier élément de chaque ensemble réorganisé, le second produit par LHS est le vecteur dimensionnel contenant le second élément de chaque ensemble réorganisé, et ainsi de suite ...
J'ai inclus quelques graphiques ci-dessous pour illustrer la réduction de variance que j'obtiens en et pour une procédure de Monte Carlo. Dans ce cas, le problème consiste à estimer la valeur attendue d'une fonction de coût où , et est une variable aléatoire de dimension répartie entre . En particulier, les graphiques montrent la moyenne et l'écart type de 100 estimations moyennes d'échantillon de pour des tailles d'échantillon de 1 000 à 10 000.
J'obtiens le même type de résultats de réduction de variance, que j'utilise ma propre implémentation ou la lhsdesign
fonction dans MATLAB. De plus, la réduction de variance ne change pas si je permute tous les ensembles de nombres aléatoires au lieu de seulement ceux correspondant à .
Les résultats sont logiques puisque l'échantillonnage stratifié en signifie que nous devrions échantillonner à partir de carrés au lieu de carrés qui sont garantis d'être bien répartis.