95 | | 1. Primero se simulará un vector multinormal estandarizado [[BR]] [[BR]] |
96 | | [[LatexEquation(w\sim Normal\left(0,I\right)\in\mathbb{R}^{n} )]] [[BR]] [[BR]] |
97 | | 1. Dividiendo ese vector por su norma euclídea se obtendrá una dirección unitaria uniforme en la frontera |
98 | | de la hiperesfera de radio 1 centrada en el origen [[BR]] [[BR]] |
99 | | [[LatexEquation( u=\frac{w}{\left\Vert w\right\Vert _{2}} )]] [[BR]] [[BR]] |
100 | | 1. Luego se multiplica ese vector por un radio [[LatexEquation(h)]] con densidad directamente |
101 | | proporcional a la hipersuperficie de dimensión n-1 de la hiperesfera correspondiente[[BR]] [[BR]] |
102 | | [[LatexEquation( \begin{array}{c} F\left(h\right)=\intop_{0}^{h}c\cdot t^{n-1}\mathbf{d}t=\left.\frac{c}{n}t^{n}\right]_{0}^{h}=\frac{c}{n}h^{n}\\ F\left(\rho\right)=\frac{c}{n}\rho^{n}=1\Rightarrow c=n\rho^{-n}\\ F\left(h\right)=\left(\frac{h}{\rho}\right)^{n}\end{array} )]] [[BR]] [[BR]] |
| 96 | 1. Si el último punto generado es estrictamente interior al politopo y su distancia a la frontera es |
| 97 | mayor que cierta cota prefijada [[LatexEquation( \rho_0 )]] entonces usamos dicho punto como origen |
| 98 | de candidatos |
| 99 | 1. Primero se simulará un vector multinormal estandarizado [[BR]] [[BR]] |
| 100 | [[LatexEquation(w\sim N\left(0,I\right)\in\mathbb{R}^{n} )]] [[BR]] [[BR]] |
| 101 | 1. Dividiendo ese vector por su norma euclídea se obtendrá una dirección unitaria uniforme en la frontera |
| 102 | de la hiperesfera de radio 1 centrada en el origen [[BR]] [[BR]] |
| 103 | [[LatexEquation( u=\frac{w}{\left\Vert w\right\Vert _{2}} )]] [[BR]] [[BR]] |
| 104 | 1. Luego se multiplica ese vector por un radio [[LatexEquation(h)]] con densidad directamente |
| 105 | proporcional a la hipersuperficie de dimensión n-1 de la hiperesfera correspondiente[[BR]] [[BR]] |
| 106 | [[LatexEquation( \begin{array}{c} F\left(h\right)=\intop_{0}^{h}c\cdot t^{n-1}\mathbf{d}t=\left.\frac{c}{n}t^{n}\right]_{0}^{h}=\frac{c}{n}h^{n}\\ F\left(\rho\right)=\frac{c}{n}\rho^{n}=1\Rightarrow c=n\rho^{-n}\\ F\left(h\right)=\left(\frac{h}{\rho}\right)^{n}\end{array} )]] [[BR]] [[BR]] |
| 107 | 1. Si el punto está en la frontera o a una distancia menor de [[LatexEquation( \rho_0 )]] entonces se |
| 108 | retomará el último punto interior que cumplía dicha condición como origen de los |
| 109 | candidatos, y se ejecuta desde el principio el proceso, pero luego se compararán las probabilidades |
| 110 | de los candidatos con las del último punto generado, para asegurar así la convergencia, según el |
| 111 | principio básico del [http://en.wikipedia.org/wiki/Detailed_balance balance-detallado]. |
117 | | 1. Si los puntos [[LatexEquation( x - s u)]] y [[LatexEquation( x + s u)]] son ambos factibles |
118 | | entonces se toma [[LatexEquation( h^{-} = -s)]] y [[LatexEquation( h^{+} = +s )]] |
119 | | 1. Si [[LatexEquation( x - s u)]] no es factible habría que buscar mediante un método univariante |
120 | | como el de la bisectriz o el de Fibonacci el mínimo valor de [[LatexEquation( h^{-} )]] para el |
121 | | que el punto es factible, y que debe estar obligatoriamente en el intervalo |
122 | | [[LatexEquation(\left[-s,0\right] )]] |
123 | | 1. Análogamente, si [[LatexEquation( x + s u)]] no es factible habría que buscar el máximo valor |
124 | | de [[LatexEquation( h^{-} )]] para el que el punto es factible, y que debe estar obligatoriamente |
125 | | en el intervalo [[LatexEquation(\left[0,s\right] )]] |
126 | | 1. Si el intervalo es propio, es decir, si [[LatexEquation( h^{-} < h^{+})]], entonces ya se puede |
127 | | generar la uniforme anterior. |
128 | | 1. Si el intervalo resulta ser un punto, o sea, [[LatexEquation( h^{-} = 0 = h^{+})]] entonces |
129 | | quiere decir que estamos en un vértice del politopo y hemos tomado una dirección completamente |
130 | | exterior |
| 126 | 1. Si estamos en un punto interior: |
| 127 | 1. Si los puntos [[LatexEquation( x - s u)]] y [[LatexEquation( x + s u)]] son ambos factibles |
| 128 | entonces se toma [[LatexEquation( h^{-} = -s)]] y [[LatexEquation( h^{+} = +s )]] |
| 129 | 1. Si [[LatexEquation( x - s u)]] no es factible habría que buscar mediante un método univariante |
| 130 | como el de la bisectriz o el de Fibonacci el mínimo valor de [[LatexEquation( h^{-} )]] para el |
| 131 | que el punto es factible, y que debe estar obligatoriamente en el intervalo |
| 132 | [[LatexEquation(\left[-s,0\right] )]] |
| 133 | 1. Análogamente, si [[LatexEquation( x + s u)]] no es factible habría que buscar el máximo valor |
| 134 | de [[LatexEquation( h^{-} )]] para el que el punto es factible, y que debe estar obligatoriamente |
| 135 | en el intervalo [[LatexEquation(\left[0,s\right] )]] |
| 136 | 1. El intervalo ha de ser propio por partir de un punto interior, es decir, |
| 137 | [[LatexEquation( h^{-} < h^{+})]], con lo que ya se puede generar la uniforme anterior. |
| 138 | 1. Si el punto está en la frontera se tomará el último punto interior aceptado como origen de los |
| 139 | candidatos y se repite desde el principio generando una nueva dirección unitaria aleatoria, pero |
| 140 | se compararán las probabilidades de los candidatos con las del último punto generado, para asegurar |
| 141 | así la convergencia. |
| 142 | |
| 143 | === Paseo aleatorio mixto === |
| 144 | El paseo aleatorio hiperesférico tiene la ventaja de ser muy rápido pues sólo se necesita la distancia |
| 145 | a la frontera, pero tiene el inconveniente que no es capaz de acercarse demasiado a la frontera y menos |
| 146 | aún a los vértices donde a veces podría concentrarse la verosimilitud. |
| 147 | |
| 148 | El paseo aleatorio radial asimétrico tiene la ventaja de que puede acercarse mucho más a la frontera |
| 149 | pero resulta mucho más caro de evaluar, pues puede precisar resolver hasta dos problemas de optimización |
| 150 | univariante para cada generación y para cada evaluación de la log-densidad. |
| 151 | |
| 152 | Si dos métodos de generar cadenas de Markov cumplen la propiedad del |
| 153 | [http://en.wikipedia.org/wiki/Detailed_balance balance-detallado] |
| 154 | entonces cualquier mezcla de ellas también la cumple, por lo que es perfectamente lícito alternar ambos |
| 155 | métodos según convenga. |
| 156 | |
| 157 | En este caso podría utilizarse el método hiperesférico cuando el punto se ecuentre a una distancia mínima |
| 158 | de la frontera y el método radial asimétrico en otro caso. |