close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 13 years ago

Closed 13 years ago

#763 closed defect (fixed)

Incumplimiento de las constraints en la simulación

Reported by: libarra Owned by: mafernandez
Priority: blocker Milestone: Release 0.6
Component: StrategyBSR Keywords:
Cc:

Description

Buenos días, me encuentro estimando un output que tiene parte de sus input fijos y otra parte sin fijar.

En la diagnosis inicial de las constraint todo está OK:

[@MasterSampler BSR__PrecioHor.02.Log.y2011m10d18] Method givenByUser matches constraints.
[@BlockSampler @BSR.MainLinBlock.BSR__PrecioHor.02.Log.y2011m10d18] [_.fullBlock] Given init values matches constrain inequations.
[@BlockSampler @BSR.MainLinBlock.BSR__PrecioHor.02.Log.y2011m10d18] [_.freeBlock] Given init values matches constrain inequations.

Pero en la tercera ronda de 100 simulaciones me retorna el siguiente warning:

<W>
Warning: [3] Cannot apply (I) TruncStdGaussian to a (empty interval [1/0,-1/0]) virtual matrix Blas.R.Dense(21x1) </W>
[@BlockSampler @BSR.MainLinBlock.BSR__PrecioHor.02.Log.y2011m10d18] [_.freeBlock]  Found a point that doesn't match constrains Max(D*z-d)=0.2556894364659335
 Trying again
 Simulating iterations   201-  300 [done   4.90%] [time/sim: 0.162519 s] [remaining    634 s]
<W>

Finalmente retorna el error siguiente:

<W>
Warning: [18] Cannot apply (I) TruncStdGaussian to a (empty interval [1/0,-1/0]) virtual matrix Blas.R.Dense(21x1) </W>
<E>
ERROR: [1] Cannot apply TruncStdGaussian to a (non feasible initial point) virtual matrix Cholmod.R.Sparse(21x1) </E>

Y finalmente no estima los parámetros.

Os adjunto el oza del objeto estimate.

Change History (4)

comment:1 Changed 13 years ago by mafernandez

Owner: changed from Pedro Gea to mafernandez
Status: newaccepted

comment:2 Changed 13 years ago by mafernandez

Copio un email de Jorge:

El fallo de muestro ocurre en una rutina de muestro multinormal truncado. Este sistema es transformado según la matriz de covarianza de los parámetros en cada paso. Si esta matriz de covarianza es mal condicionado puede hacer que los límites de alguna de las inecuaciones se inviertan. Todavía no hemos aislado del todo el problema.

El mensaje del fallo de muestreo truncado muestra los intervalos vacios, ej.

<W>
Warning: [4] Cannot apply (I) TruncStdGaussian to a (empty interval
[1/0,-1/0])
virtual matrix Blas.R.Dense(119x1) </W>

<W>
Warning: [6] Cannot apply (I) TruncStdGaussian to a (empty interval
[2.148104375625019,2.148104036820838]) virtual matrix Blas.R.Dense(119x1)
</W>

Por otra parte no descarto que estemos ante un error en esa rutina y por
eso estamos todavía depurandolo.

Mientras investigamos este tema puedes avanzar especificando estas setting en la estrategia de BSR:

bsr.linBlk.MH.useAfterIter = 1;
bsr.linBlk.MH.maxRejected = 1/0
bsr.linBlk.MH.maxConsecutive = 1/0

esto activa un mecanismo de muestreo para el bloque lineal basado en un MH, en lugar de utilizar el muestreo directo que ahora está fallando.

comment:3 Changed 13 years ago by mafernandez

Resolution: fixed
Status: acceptedclosed

Se da por cerrado el tique, ya que Lander pudo realizar la estimación.

comment:4 Changed 12 years ago by (none)

Los archivos adjuntos con datos privados se han ubicado en la unidad local B.

Note: See TracTickets for help on using tickets.