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 16 years ago

Last modified 13 years ago

#79 accepted task

Testeo de informacion a priori coherente: Comprobación de combinaciones lineales — at Version 6

Reported by: lmperez Owned by: Pedro Gea
Priority: critical Milestone: Dev.1 Diagnosis
Component: Tests Keywords:
Cc:

Description (last modified by Pedro Gea)

Comprobar si existe alguna combinación lineal entre parámetros de un nodo observacional, teniendo en cuenta si éste tiene o no una distribución a priori y/o está dentro de una jerarquía. Y además debe informar cuál es la combinación lineal.

Se adjuntan funciones.tol las siete funciones que hacen este proceso en BSRLayer, una llama a las otras, pero usan sets de información que no existen en MMS, si decidís usarlas como guía preguntadme cualquier duda que tengáis.
Al final, si detecta una combinación lineal, escribe los parámetros que la forman en un fichero log, en forma de query.

Una cosa a tener en cuenta. El proceso en general funcionaba en torno a la función SVD de tol, sin embargo, como esta función no es exacta sino aproximada, se probaron los diferentes métodos: Golub_Reinsch, Jacobi y Sparse. De todos ellos, el más fiable fué el primero. El Sparse era muy rápido cuando las matrices a factorizar tenían densidades pequeñas (<0.01), y el Jacobi mostraba una salto de nivel muy claro entre los autovalores de las variables que no son combinaciones lineales de los que sí lo son. Sin embargo éstos dos últimos fallaban a veces, detectando combinaciones lineales donde no las había o al revés. Por defecto se
decidió usar Golub_Reinsch con un redondeo en 10-10.

Change History (7)

comment:1 Changed 16 years ago by lmperez

Component: Definición de ModelosGeneral
Milestone: Strategy & Adapter 0.5
Owner: changed from Pedro Gea to josp
Priority: criticalmajor

comment:2 Changed 15 years ago by lmperez

Priority: majorcritical

Se ha vuelto a solicitar la necesidad de tener una herramienta para
testear los inputs: #122.

comment:3 Changed 15 years ago by Pedro Gea

Description: modified (diff)
Milestone: Release 0.5Release 0.6
version: 0.50.6

comment:4 Changed 15 years ago by irobles

Buenos días,

lo de las combinaciones lineales, en algunos proyectos hemos estado haciendo alguna cosa para ir comprobandolas, pues ahora mismo el unico error que da es el de CholeskiSolve, y hemos estado haciendo alguna cosa para que nos indique cuales son los inputs problematicos, pero al final el problema es que cada proyecto tendra sus funciones, por eso pedimos que esten centralizadas en MMS.

Si quereis os puedo poner ejemplos de funciones que son las que ha puesto Luis arriba pero adaptadas a MMS, por si os sirven de ayuda. Si es asi pedirmelas.

De todas formas como entiendo que tener bien controladas las combinaciones lineales es un trabajo que puede ser complicado, lo que si os pido es que nos vayais faciltando comprobaciones como la indicada en el ticket 122.

Lo recuerdo aqui

Cuando un input es nulo o no está definido en el rango temporal de un
output al estimarlo devuelve un error de combinación lineal. Se podría
incorporar un proceso chequease los inputs y eliminase estas
posibilidades?

También indicar que lo indicado arriba muchas veces nos pasa a los analistas al meter un input y despues diferenciarlo, o retardarlo. Si nos da un mensaje de Warning diciendo cual es el input problematico nos ayudaria mucho.

Gracias

comment:5 Changed 15 years ago by Pedro Gea

Component: GeneralTests
Description: modified (diff)
Owner: changed from josp to Pedro Gea
Priority: criticalblocker
Status: newaccepted

Changed 15 years ago by Pedro Gea

Attachment: funciones.tol added

comment:6 Changed 15 years ago by Pedro Gea

Description: modified (diff)
Note: See TracTickets for help on using tickets.