Simulation

Bonjour,

J'ai une densité produit, disons $f(x,y,z) = f_1(x)f_1(y)f_1(z)$, où $f_1$ est la densité d'une loi "standard" (une logistique dans mon cas). J'ai une matrice $A$ de taille $3 \times 2$ et un vecteur $b$ de longueur $3$. Je veux simuler la loi sur $\R^2$ dont la densité est proportionnelle à $(u,v) \mapsto f\bigl(A\cdot(u,v) + b\bigr)$. Quelle méthode pourrais-je utiliser ?

Réponses

  • Ah oui au fait, $A$ est de rang $2$, c'est la moindre des choses.

    Aussi, je ne sais pas si ça change quelque chose, mais ses deux colonnes sont orthogonales et chacune d'elles est normalisée.
  • Cher Saturne, je ne crois pas que ton problème admette en général une solution. Si $\alpha$ et $\beta$ sont les colonnes de $A$, alors la va $(U,V)$ de $\R^2$ est telle que $W=U\alpha+V\beta+b\sim (X,Y,Z)^T.$ Mais le support de $W$ est un plan affine de $\R^3,$ ce qui n'est pas le cas de $(X,Y,Z)^T.$
  • Merci @P. Je t'ai envoyé un message privé, je ne sais pas si tu as vu.
  • Je n'ai pas encore compris ton argument @P. Selon l'article en question la simulation est possible, il propose un "importance sampling" (je ne trouve plus le livre de C. Robert et je ne sais plus comment on dit ça en français). Mais j'ai besoin de simuler un petit échantillon, je ne comprends pas comment faire ça avec un importance sampling.
    Le truc que je t'ai envoyé en privé me semble louche, ça passe bizarrement d'une intégrale sur $\R^3$ à un intégrale sur $\R^2$.
  • Saturne a écrit:
    un "importance sampling" (je ne trouve plus le livre de C. Robert et je ne sais plus comment on dit ça en français)
    Échantillonage préférentiel.

    Je viens de comprendre je crois: on simule un long échantillon et on fait un tirage multinomial dedans.

    Auriez-vous une suggestion pour la loi instrumentale ("proposal distribution") qu'on pourrait utiliser ?
  • Pas recu de MP cher Saturne. Et tes messages me sont obscurs. De quel article parles-tu?
  • L'article en question (c'est une thèse en fait) décrit un algorithme de simulation, dans lequel une étape consiste à simuler la distribution dont la densité est proportionnelle à $(u,v) \mapsto f\bigl(A\cdot(u,v) + b\bigr)$.

    J'essaye de le faire avec échantillonnage préférentiel, mais il faut une loi instrumentale pour cela, et je ne sais pas quoi prendre.
  • Bien sûr, j'avais mal lu ta question.

    En théorie donc tu travailles avec la loi conditionnelle de $M=(X,Y,Z)$ sachant que $M$ appartient au plan affine $P=\{u\alpha+v\beta+b\mid u,v\in \R^2\}.$ Le vecteur $M$ est dans $P$ si et seulement si $M-b$ est dans le plan vectoriel $P_0=\{u\alpha+v\beta\mid u,v\in \R^2\}$ dont tu dis d'ailleurs que $\alpha,\beta$ sont orthonormaux. Soit $\gamma$ le vecteur tel que $(\alpha,\beta,\gamma)$ soit orthonormale (directe ? pas important ici). Le conditionnement est donc l'événement $A$ égal à $\langle \frac{M-b}{\|M-b\|},\gamma\rangle=0.$ Pour simuler avec un conditionnement par un événement de probabilité zéro, on approche celui-ci par un événement de probabilité petite, par exemple $A_{\epsilon}$ défini par $$\langle \frac{M-b}{\|M-b\|},\gamma\rangle^2\leq \epsilon.$$ Après cela tu simules un grand nombre de $M_n$, tu ne gardes que ceux qui tombent dans $A_{\epsilon}.$ Tu as encore besoin des bons $M_n$ pour calculer $$u_n=\langle M_n-b,\alpha\rangle,\ v_n=\langle M_n-b,\beta\rangle.



    $$ Si tu n'es pas content du résultat, tu rétrécis $\epsilon$ mais cela prendra plus de temps machine.

    J'espere que c'est faisable, car ce sont les propos de quelqu'un qui a fait peu de simulations.


    Edit :
    Un autre choix pour l'evenement approximant $A_{\epsilon}$ est que le carre de la distance de $M-b$ au plan $P_0$ soit petit, c'est-a-dire
    $$\|M-b\|^2-\langle \alpha,M-b\rangle^2-\langle \beta,M-b\rangle^2\leq \epsilon.$$ Pour $M=M_n$ cela utilise les $u_n,v_n$ ci dessus dont on aura de toute facon besoin si $M_n$ est retenu.
  • Merci @P !

    C'est une piste à explorer.

    Si maintenant $A$ est de taille $4 \times 2$, pour le premier événement $A_\epsilon$, dois-je prendre ceci:
    $$\left\langle \frac{M-b}{\|M-b\|},\gamma_1\right\rangle^2 + \left\langle \frac{M-b}{\|M-b\|},\gamma_2\right\rangle^2 \leq \epsilon,$$
    où $\gamma_1$ et $\gamma_2$ sont deux colonnes qui complètement $(\alpha,\beta)$ en une base orthonormée ?
  • Oui si tu veux mais le dernier choix (carre de la distance au plan $P_0$) qu'on te proposait est plus simple, car il n'exige pas de completer $(\alpha,\beta)$ explicitement en une base orthonormale.
  • Je ne trouve pas de bon $\epsilon$. Le problème c'est que la dimension n'est pas constante dans l'algo. Par exemple $\dim=5$ au premier passage puis $\dim=12$ au suivant, et ça va jusque $\dim = 25$. Si je prends un $\epsilon$ qui consomme 1 minute pour $\dim = 5$, il consomme 10 minutes pour $\dim = 12$.
  • J'ai trouvé un package qui simule une distribution en donnant seulement la densité non normalisée !!! Terrifique !!!
    Je vous tiens au courant, faut que j'investigue tout ça.
  • Ça a l'air de marcher. Il me reste à voir si les intervalles de confiance à 95% ont bien une probabilité de couverture de 95% :-D

    C'est avec UNU.RAN que je simule directement la loi conditionnelle. Cette librairie est terrifique.
  • Rappelons que $f(x,y,z) = f_1(x)f_1(y)f_1(z)$ et $g(u,v) = f\bigl(A\cdot(u,v) + b\bigr)$. Sachant que $f_1(x) = \tfrac{e^{-x}}{{(1+e^{-x})}^2}$, pensez-vous qu'il est possible d'obtenir une expression analytique de $\sup \sqrt{g(u,v)}$ ?
  • Comme $\log f_1 $ est proportionnel a $\log \cosh(x/2)$, si $A=(\alpha,\beta,b)$ avec $(\alpha,\beta,\gamma)$ base orthonormale de $\R^3$ il faut trouver $(u,v)$ tels que
    $$\sum_{i=1}^3 \alpha_i W_i=\sum_{i=1}^3 \beta_i W_i=0$$ avec $W_i=\tanh( (\alpha_iu+\beta_i v+ b_i)/2).$ Cad qu'il faut trouver $\lambda$ tel que $\gamma=\lambda W$ ou encore
    $u\alpha_i+v\beta_i=c_i$ avec
    $$c_i=-b_i+\mathrm{argth}\frac{\gamma}{\lambda }=-b_i+\log \frac{\lambda+\gamma_i}{\lambda-\gamma_i}.$$ Un tel couple $(u,v)$ n'existe que si $\det (\alpha,\beta,c)=0.$ Cela donne une horrible equation en $\lambda,$ mais dont la solution numerique permet de calculer $(u,v).$
  • Merci @P, je vais étudier ça.

    Pour info, la librairie UNU.RAN qui simule ma loi utilise la méthode "ratio of uniforms", qui est présentée ici. Très bonne alternative à ces laborieux MCMC.
Connectez-vous ou Inscrivez-vous pour répondre.