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 Initial Version and Version 1 of Ticket #849


Ignore:
Timestamp:
Jan 19, 2010, 4:15:35 PM (15 years ago)
Author:
Víctor de Buen Remiro
Comment:

Aunque no he tenido tiempo imagino que el problema es que la distribución coin restricciones de igualdad está degenerada por definición y el método empleado no está preparado para ello. No sé si se podrá modificar para que lo admita pero no lo creo. En estos casos lo mejor es aplciar ingeniería inversa, es decir, reducir las dimensiones al caso del rango completo y generar en la nueva base para luego, mediante las ecuaciones de reducción invertir el cambio de base y obtener las simulaciones en el espacio original.

En este caso el cambio de variable es

Y = X1+X2 ~ N(nu_y = 0.2+0.8=1, var_y=1+1=2);
Y>=0

1º) Se genera una realización y de Y con una Normal(1,2) truncada en [0,+Inf)

2º) Se genera una realización x1 de X1 condicionado a Y=y con una Normal(0.2,1) truncada en [0,y]

3º) Se calcula la realización x2 de X2 que es determinista condicionada a X1=x1 e Y=y x2 = y - x1

Espero que te sirva. Para un caso general puede ser bastante complicado invertir las condiones de desigualdad pero iré pensando en cómo resolverlo.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #849

    • Property Status changed from new to accepted
    • Property Version changed from to 2.0.1
    • Property Component changed from BSR to Math
    • Property Milestone changed from to Manteinance
  • Ticket #849 – Description

    initial v1  
    1 Hola Victor estoy intentando muestrear dos variables aleatorias cuya suma sea igual a uno  x1+x2=1 y  x1>0, x2>0
     1Hola Victor estoy intentando muestrear dos variables aleatorias cuya suma sea igual a uno {{{ x1+x2=1 }}} y {{{ x1>0, x2>0 }}}
    22 
    33Si embargo con la función RandConstrainedMNormal no lo consigo
    4  
    5  
     4{{{
    65Matrix mu = Col(0.2,0.8);
    76Matrix Cov =((1,0),(0,1));
     
    1413Matrix b = Col(1,1,0,0);
    1514Matrix sample = RandConstrainedMNormal(mu, Cov, B, b);
     15}}}