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 16 and Version 17 of TolDocModelPlanIntegracionSistemasEstimacion


Ignore:
Timestamp:
Jun 22, 2011, 8:42:33 AM (14 years ago)
Author:
Víctor de Buen Remiro
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TolDocModelPlanIntegracionSistemasEstimacion

    v16 v17  
    184184   de forma condicionada al resto de bloques. Es necesario crear un protocolo básico de
    185185   condicionamiento entre bloques que sea totalmente general y no implique que ni el master
    186    ni los propios bloques tengan que conocer los intríngulis de los demás, y sea al mismo tiempo
    187    suficientemente eficaz. Hay que tener en cuenta que la acción a llevar a cabo para condicionar
     186   ni los propios bloques tengan que conocer los intríngulis de los demás, sino tan solo una API
     187   mínima. Hay que tener en cuenta que la acción a llevar a cabo para condicionar
    188188   puede suponer desde modificar simplemente un valor escalar (como la sigma de un bloque de
    189189   regresión lineal normal), hasta modificar total o parcialmente un valor vectorial o matricial,
    190190   (como ocurre en el caso de los omitidos que deben trasladarse a un subconjunto arbitrariamente
    191    salteado de entre las celdas de la matriz de input o de output). Por este motivo no resulta
    192    ni mucho menos trivial condicionar de una forma genérica y eficiente.
    193    Posiblemente sea necesaria una función C++ a la que se le pase el miembro a modificar, los nuevos
    194    valores y una serie de argumentos opcionales para especificar modificaciones parciales, para
    195    que la acción se ejecute con la celeridad debida.
    196 {{{
    197 #!java
    198   Real ChangeValues({Real|Matrix|VMatrix} store, {Real|Matrix|VMatrix} newValues [, Set optArgs=Empty] )
    199 }}}
    200    La función {{{ChangeValues}}} será llamada desde el master para establecer, total o parcialmente según
    201    se indique en los argumentos opcionales {{{optArgs}}}, el nuevo valor o vector de valores {{{newValues}}}
    202    de cierto miembro de un bloque que será el dado por el argumento {{{store}}}.
    203    En la definición del master, el protocolo tendría la forma de una tabla con la estructura básica de
    204    condicionamiento, que en cada fila incluiría la información de condicionamiento de una variable o
    205    grupo de variables: [[BR]]
    206 {{{
    207   Real cnr_blk : Índice del bloque condicionador
    208   Set  cnr_idx : Índices de los parámetros del grupo dentro del bloque condicionador
    209   Real cnd_blk : Índice del bloque condicionado
    210   Text cnd_mbr : Nombre del miembro del bloque condicionado que se ha de modificar con {{{ChangeValues}}}
    211   Set  cnd_opt : Argumentos opcionales para pasar como {{{optArgs}}} a {{{ChangeValues}}}
    212 }}}
    213    Cada vez que se genera una muestra del i-ésimo bloque hay que modificar los valores correspondientes
    214    a los enlaces para los que {{{cnr_blk = i}}}. Primero habría que copiar el sub-vector del bloque recién
    215    generado en la posición correspondiente dentro del vector conjunto, que será el que se almacene en
    216    el disco como cadena MCMC. Luego habría que llevar a cabo el condicionamiento de cada uno de los bloques
    217    afectados llamando a {{{ChangeValues}}}.
     191   salteado de entre las celdas de la matriz de input o de output). Además, los valores con los
     192   que hay que sustituir los valores a condicionar no tienen porqué ser directamente los valores
     193   condicionadores, sino que en general serán el resultado de una función dependiente de los mismos.
     194   Por estos motivos no resulta ni mucho menos trivial condicionar de una forma genérica y eficiente.
     195   También habría que copiar el sub-vector del bloque recién generado en la posición correspondiente
     196   dentro del vector conjunto ubicado en el master, que será el que se almacene en el disco como cadena
     197   MCMC.
    218198 * Generación dentro de cada bloque tipo ''Metropolis-Hastings'' y derivados mediante {{{BysSampler}}} o
    219199   cualquier otra metodología alternativa con tal cumpla una API mínima, pero siempre basado únicamente
    220200   en el logaritmo, salvo una constante, de la función de densidad condicionada por el resto de bloques.
    221201   La parte más complicada a la hora de aplicar el condicionamiento es la que se refiere a la información
    222    a priori y restricciones que afectan a variables de distintos bloques. Cada bloque dispondrá de un método
    223    que devolverá un listado de los nombres de los miembros susceptibles de ser condicionados [[BR]]
    224 {{{
    225 #!java
    226   Set ConditionableList(Real void)
    227 }}}
    228 
     202   a priori y restricciones que afectan a variables de distintos bloques.
     203