close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 24 and Version 25 of OfficialTolArchiveNetworkBysSamplerRandWalkInPolytope


Ignore:
Timestamp:
Feb 2, 2011, 9:30:06 AM (16 years ago)
Author:
Víctor de Buen Remiro
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OfficialTolArchiveNetworkBysSamplerRandWalkInPolytope

    v24 v25  
    44== Descripción del problema ==
    55Tenemos que generar una cadena de Markov de muestras que se distribuyan con cierta función de la
    6 que se conoce su log-densidad salvo una constante, a la par que cumplen un conjunto de restricciones
     6que se conoce su log-densidad salvo una constante,
     7
     8  [[LatexEquation( \ln \pi \left( x \right) )]]
     9
     10
     11a la par que cumplen un conjunto de restricciones
    712de desigualdad lineal
    813
    9 [[LatexEquation( A x \le a \wedge x\in\mathbb{R}^{n} )]]
    10 
    11 [[LatexEquation( x\in\mathbb{R}^{n} )]]
    12 
    13 [[LatexEquation( a\in\mathbb{R}^{r} )]]
    14 
    15 [[LatexEquation( A\in\mathbb{R}^{r\times n} )]]
     14  [[LatexEquation( A x \le a \wedge x\in\mathbb{R}^{n} )]]
     15
     16  [[LatexEquation( x\in\mathbb{R}^{n} )]]
     17
     18  [[LatexEquation( a\in\mathbb{R}^{r} )]]
     19
     20  [[LatexEquation( A\in\mathbb{R}^{r\times n} )]]
    1621
    1722
    … …  
    7984Dado un punto [[LatexEquation(x)]] estrictamente interior al politopo
    8085
    81 [[LatexEquation(A x < a)]]
     86  [[LatexEquation(A x < a)]]
    8287
    8388la distancia al [[LatexEquation(i)]]-ésimo hiperplano viene dada por la fórmula
    8489
    85 [[LatexEquation( \left\langle x,\mathcal{H}\left(A_i,a_i\right)\right\rangle  = \frac{\left|\left(\overset{n}{\underset{j=1}{\sum}}A_{ij}x_{j}\right)-a_{i}\right|}{\overset{n}{\underset{j=1}{\sum}}A_{ij}^{2}}  \forall i=1\ldots r)]]
     90  [[LatexEquation( \left\langle x,\mathcal{H}\left(A_i,a_i\right)\right\rangle  = \frac{\left|\left(\overset{n}{\underset{j=1}{\sum}}A_{ij}x_{j}\right)-a_{i}\right|}{\overset{n}{\underset{j=1}{\sum}}A_{ij}^{2}}  \forall i=1\ldots r)]]
    8691
    8792Llamaremos distancia de un punto a la frontera del politopo a la menor de las distancias a cada uno de sus hiperplanos, la cual por ser el punto interior ha de ser forzosamente positiva
    8893
    89 [[LatexEquation( \left\langle x,\mathcal{P}\left(A,a\right)\right\rangle =  \underset{i=1\ldots r}{min}\left\{ \left\langle x,\mathcal{H}\left(A_i,a_i\right)\right\rangle \} > 0 )]]
     94  [[LatexEquation( \left\langle x,\mathcal{P}\left(A,a\right)\right\rangle =  \underset{i=1\ldots r}{min}\left\{ \left\langle x,\mathcal{H}\left(A_i,a_i\right)\right\rangle \} > 0 )]]
    9095
    9196Obsérvese que los hiperplanos inactivos nunca darán la distancia mínima para un punto factible por lo
    … …  
    9499será responsabilidad del analista no introducir demasiadas.
    95100
     101=== Búsqueda de un punto inicial estrictamente interior ===
     102
     103Para encontrar un punto estrictamente interior hay que encontrar un punto que cumpla las restricciones
     104artificialmente aumentadas
     105
     106  [[LatexEquation(A x \le a-\delta \wedge \delta>0 )]]
     107
     108que producirán un politopo reducido estrictamente interior al original.
     109ç
     110Es posible configurar el vector [[LatexEquation(\delta )]] para que la distancia mínima a la frontera
     111sea mayor que una cota mínima [[LatexEquation(\rho_0 )]] predefinida por el usuario
     112
     113  [[LatexEquation(\delta_i = \rho_0 {\overset{n}{\underset{j=1}{\sum}}A_{ij}^{2}} )]]
     114 
     115De esta forma si un punto está en el [[LatexEquation(i)]]-ésimo hiperplano del politopo reducido
     116
     117  [[LatexEquation(A_i x \le a_i-\delta_i = 0 )]]
     118 
     119entonces la distancia al politopo original será 
     120
     121  [[LatexEquation(\frac{\delta_i}{{\overset{n}{\underset{j=1}{\sum}}A_{ij}^{2}}} = \rho_0 )]]
     122 
     123Si se cuenta con un mecanismo capaz de optimizar la función de log-densidad con restricciones de desigualdad
     124
     125  [[LatexEquation( \min \ln \pi \left( x \right) )]]
     126  [[LatexEquation(A x \le a-\delta \wedge \delta>0 )]]
     127 
     128
    96129=== Paseo aleatorio hiperesférico ===
    97130Se propone en primer lugar utilizar un generador con distribución uniforme en una hiperesfera centrada
    … …  
    99132radio es menor que la distancia del punto a la frontera:
    100133
    101 [[LatexEquation( \begin{array}{c} y=x + h u\\ A y \leq a\\ \left\Vert u\right\Vert = 1 \\ 0 < h \le \rho < \left\langle x,\mathcal{P}\left(A,a\right)\right\rangle \end{array}  )]]
     134  [[LatexEquation( \begin{array}{c} y=x + h u\\ A y \leq a\\ \left\Vert u\right\Vert = 1 \\ 0 < h \le \rho < \left\langle x,\mathcal{P}\left(A,a\right)\right\rangle \end{array}  )]]
    102135
    103136Al igual que se hace con los generadores simétricos habituales es necesario fijar un tamaño de paso
    … …  
    106139De esta forma se podría definir el radio de la hiperesfera como
    107140
    108 [[LatexEquation(\rho=\rho\left(x; s, \lambda\right)=min\left\{ s,\left\langle x, \lambda \mathcal{P}\left(A,a\right)\right\rangle \right\}  \wedge 0<\lambda<1)]]
     141  [[LatexEquation(\rho=\rho\left(x; s, \lambda\right)=min\left\{ s,\left\langle x, \lambda \mathcal{P}\left(A,a\right)\right\rangle \right\}  \wedge 0<\lambda<1)]]
    109142
    110143Para poder muestrear puntos cercanos a la frontera sería conveniente que [[LatexEquation(\lambda)]]
    … …  
    120153La densidad del generador será porporcional al inverso del volumen de la hiperesfera y su logaritmo será, salvo una constante
    121154
    122 [[LatexEquation( \ln Q\left(x,y\right) = n \ln \rho\left(x; s, \lambda\right))]]
     155  [[LatexEquation( \ln Q\left(x,y\right) = n \ln \rho\left(x; s, \lambda\right))]]
    123156
    124157La densidad depende por tanto del radio, el cual depende de la posición del punto de partida respecto
    … …  
    174207uniforme en dicho intervalo
    175208
    176  [[LatexEquation( y = x + h u )]]
     209  [[LatexEquation( y = x + h u )]]
    177210 
    178  [[LatexEquation(u \wedge \left\Vert u\right\Vert = 1)]]
     211  [[LatexEquation(u \wedge \left\Vert u\right\Vert = 1)]]
    179212 
    180  [[LatexEquation(h \sim U\left[h^{-},h^{+}\right] \wedge h^{-} \le 0 \le h^{+}  )]]
     213  [[LatexEquation(h \sim U\left[h^{-},h^{+}\right] \wedge h^{-} \le 0 \le h^{+}  )]]
    181214
    182215[[Image(source:/tolp/OfficialTolArchiveNetwork/BysSampler/doc/image/RandWalk.InPolytope.chart.726488582_c.png)]]
    … …  
    207240
    208241Para evitar intervalos demasiado pequeños se puede relajar la condición del cuarto paso a que su
    209 longitud sea mayor que cierto valor positivo predefinido
    210 
    211 [[LatexEquation( h^{+} - h^{-} > h_0 > 0)]],
     242longitud sea mayor que la cota mínima predefinida
     243
     244  [[LatexEquation( h^{+} - h^{-} > \rho_0 > 0)]],
    212245
    213246