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 (14 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