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.
- Timestamp:
-
Feb 1, 2011, 7:17:40 PM (14 years ago)
- Author:
-
Víctor de Buen Remiro
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v18
|
v19
|
|
60 | 60 | En la práctica se observa que cuando hay muchas restricciones la cadena tiende a colapsar en un |
61 | 61 | punto de la frontera, lo cual impide que haya una convergencia real en un intervalo de tiempo |
62 | | razonable. |
| 62 | razonable. Si se utiliza un generador de tipo Gibbs le pasa exactamente lo mismo, pero la consecuencia |
| 63 | es que el método directamente fracasa y no es capaz de simular el siguiente punto. |
63 | 64 | |
64 | 65 | == Diseños de generadores de candidatos factibles == |
… |
… |
|
90 | 91 | |
91 | 92 | Al igual que se hace con los generadores simétricos habituales es necesario fijar un tamaño de paso |
92 | | máximo [[LatexEquation(s)]] para que se generen puntos no demasiado lejanos del acutual, de forma |
| 93 | máximo [[LatexEquation(s)]] para que se generen puntos no demasiado lejanos del actual, de forma |
93 | 94 | que el ratio de aceptación sea razonable. |
94 | 95 | De esta forma se podría definir el radio de la hiperesfera como |
… |
… |
|
102 | 103 | [[Image(source:/tolp/OfficialTolArchiveNetwork/BysSampler/doc/image/RandWalk.InPolytope.chart.726488582_b.png)]] |
103 | 104 | |
| 105 | Obsérvese como este método tendrá siempre dificultades al acercarse demasiado a la frontera, y especialmente |
| 106 | si se acerca a un vértice demasiado agudo. |
104 | 107 | |
105 | 108 | ==== Función de densidad ==== |
… |
… |
|
108 | 111 | [[LatexEquation( \ln Q\left(x,y\right) = n \ln \rho\left(x; s, \lambda\right))]] |
109 | 112 | |
110 | | el cual depende de la posición del punto de partida respecto a las fronteras del politopo y no es por |
111 | | tanto un generador simétrico necesariamente, auqnue sí puede serlo eventualmente si el la distancia |
112 | | del punto a la frontera es menor que el tamaño de paso actual. |
| 113 | La densidad depende por tanto del radio, el cual depende de la posición del punto de partida respecto |
| 114 | a las fronteras del politopo y no es por tanto un generador simétrico necesariamente, auqnue sí puede |
| 115 | serlo eventualmente si la distancia del punto a la frontera es menor que el tamaño de paso actual. |
| 116 | |
| 117 | En realidad podría usarse cualquier otra densidad truncada en la hiperesfera, como por ejemplo una |
| 118 | multinormal estandarizada, pero eso puede complicar demasiado el cálculo de la función de densidad, |
| 119 | la cual habrá que calcular dos veces por cada candidato o precandidato generado. |
113 | 120 | |
114 | 121 | ==== Función generatriz ==== |
… |
… |
|
128 | 135 | proporcional a la hipersuperficie de dimensión n-1 de la hiperesfera correspondiente[[BR]] [[BR]] |
129 | 136 | [[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]] |
| 137 | Para ello se genera una uniforme unitaria y se calcula la inversa de la función de distribución en ella [[BR]] [[BR]] |
| 138 | [[LatexEquation( \gamma \sim \left[0,1\rigt] )]] [[BR]] [[BR]] |
| 139 | [[LatexEquation( h = F^{-1}\left(\gamma\right) = \rho \gamma^{\frac{1}{n}})]] [[BR]] [[BR]] |
130 | 140 | 1. Si el punto está en la frontera o a una distancia menor de [[LatexEquation( \rho_0 )]] entonces se |
131 | 141 | retomará el último punto interior que cumplía dicha condición como origen de los |
132 | 142 | candidatos, y se ejecuta desde el principio el proceso, pero luego se compararán las probabilidades |
133 | 143 | de los candidatos con las del último punto generado, para asegurar así la convergencia, según el |
134 | | principio básico del [http://en.wikipedia.org/wiki/Detailed_balance balance-detallado]. |
| 144 | principio básico del [http://en.wikipedia.org/wiki/Detailed_balance balance-detallado]. |
| 145 | |
| 146 | Podríamos decir que se trata de un paseo aleatorio con retroceso, pues en ocasiones el origen de |
| 147 | candidatos puede retroceder. Esto es perfectamente lícito pues no hay ninguna regla que obligue a |
| 148 | que la distribución de los candidatos sea un paseo aleatorio. De hecho podría utilizarse perfectamente |
| 149 | un generador de candidatos con origen fijo, aunque sólo funcionaría en la práctica si se conoce una |
| 150 | buena aproximación de la función de densidad que sea fácil de generar y calcular. Aún así, como el |
| 151 | comportamiento mayoritario será el de un paseo aleatorio mantendremos la nomenclatura con todas las |
| 152 | reservas enunciadas. |
135 | 153 | |
136 | 154 | === Paseo aleatorio radial asimétrico === |
137 | | Otra forma similar a la anterior pero que podría adaptarse mejor caundo el punto se acerca |
138 | | demasiado a la frontera, e incluso es válido si está en la propia frontera. |
| 155 | A continuación de define otra forma de generador factible similar a la anterior pero que podría |
| 156 | adaptarse mejor cuando el punto se acerca demasiado a la frontera, e incluso es válida si está en |
| 157 | la propia frontera. |
139 | 158 | |
140 | 159 | Se trataría de tomar una dirección unitaria aleatoria [[LatexEquation(u \wedge \left\Vert u\right\Vert = 1)]], |
… |
… |
|
146 | 165 | [[LatexEquation(h \sim U\left[h^{-},h^{+}\right] \wedge h^{-} \le 0 \le h^{+} )]] |
147 | 166 | |
148 | | Los pasos para conseguirlo serían los siguientes |
| 167 | ==== Función de densidad ==== |
| 168 | La función de densidad en este caso es simplemente proporcional al inverso de la longitud del intervalo, |
| 169 | luego su logaritmo salvo una constante será |
| 170 | |
| 171 | [[LatexEquation( \ln Q\left(x,y\right) = -\ln\left(h^{+}-h^{-}\right) )]] |
| 172 | |
| 173 | Aunque no se explicita está claro que la longitud del intervalo depende del punto de origen por |
| 174 | lo que el generador no es simétrico. |
| 175 | |
| 176 | ==== Función generatriz ==== |
| 177 | Los pasos para muestrear un candidato serían los siguientes |
149 | 178 | 1. Si los puntos [[LatexEquation( x - s u)]] y [[LatexEquation( x + s u)]] son ambos factibles |
150 | 179 | entonces se toma [[LatexEquation( h^{-} = -s)]] y [[LatexEquation( h^{+} = +s )]] |