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.

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#1562 closed defect (fixed)

BSR: Uso de la matriz COV

Reported by: Pedro Gea Owned by: Víctor de Buen Remiro
Priority: highest Milestone: Mantainance
Component: Kernel Version: 3.1
Severity: critical Keywords:
Cc:

Description

Al hacer algunas pruebas de uso de la matriz de covarianzas con BSR (véanse #757 y #1231) se aprecia un comportamiento inesperado en la interpretación de esa matriz.

Revisando el código de BSR se observa que la matriz L obtenida en: tol_bvmat_bsr_impl.h (línea 930) no cumple la condición COV = L'·L esperada.

Change History (5)

comment:1 Changed 13 years ago by Pedro Gea

El comportamiento del código con CholeskiFactor utilizado que se considera inesperado puede reproducirse así:

VMatrix cov = Mat2VMat(Matrix Row(0.01,0)<<Row(0,0.04));
VMatrix mL = CholeskiFactor(cov, "XtX");

comment:2 Changed 13 years ago by Víctor de Buen Remiro

Efectivamente parece que se ha colado el modo ECFO_XtX cuando debería ser ECFO_X.
Lo que está haciendo es descomponer cov'*cov lo cual no tiene ningún sentido.
Cuando cov es la identidad el resultado es el mismo pero no en otro caso.
En TOL se uede ver cómo esto sí que funciona bien:

VMatrix cov = Mat2VMat(Matrix Row(0.01,0)<<Row(0,0.04));
VMatrix Lf = CholeskiFactor(cov, "X");
VMatrix L = Convert(Lf,"Cholmod.R.Sparse");
VMatrix cov_ = L*Tra(L);
Real quality = 1-VMatMax(Abs(cov-cov_));

comment:3 Changed 13 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: newclosed

(In [4810]) Fixes #1562

comment:4 Changed 13 years ago by Víctor de Buen Remiro

(In [4811]) Fixes #1562 in 3.1

comment:5 Changed 13 years ago by Víctor de Buen Remiro

En ese fichero estaban intercambiados los papeles de los flags ECFO_XtX y ECFO_X
He comprobado que en el resto de ficheros C++ estaban bien utilizados.
En principio no debería haber consecuencias para los modelos estimados hasta ahora con MMS pues siempre se tomaba la identidad.

Note: See TracTickets for help on using tickets.