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

Closed 15 years ago

Last modified 15 years ago

#757 closed enhancement (fixed)

Allowing arbitrary covariance matrix on BSR Ascii and Import API's

Reported by: Víctor de Buen Remiro Owned by: Víctor de Buen Remiro
Priority: highest Milestone: BSR API
Component: Math Version: 2.0.1
Severity: blocker Keywords:
Cc:

Description (last modified by Víctor de Buen Remiro)

Kernel of BSR can handle with arbitrary covariance matrices but Ascii nor Import API's does it.

Internally, they are needed three matrices:

  1.  \Sigma : Simmetric positive define covariance matrix
  2.  L : Choleski decomposition of covariance,  \Sigma=L\cdot L^{T}
  3.  L^{-T} : Choleski decomposition of inverse of covariance  \Sigma^{-1}=L^{-T}\cdot L^{-1}

In real problems it's posible that we have precalculated some of these matrices. So, in order to be efficient, specially for large cases, it could be a good feature to admit at least one of these representations:

  1. Cov: When we have only the covariance. For example in prior nodes.
  2. CovInv : When we have the inverse of the covariance. For example, when it results from a previous linear regression.
  3. CovChol : When we have precalculate the Choleski decomposition
  4. CovInvChol : When we have precalculate the Choleski decomposition of inverse of covariance matrix.

In ASCII .bsr files these are all alternative ways to define covariance matrices and the corresponding method of NameBlock argument of Import API

  1. Fixed diagonal.
       ASCII: (<sigma2_name> | <sigma2_constant>)
       Import: No method 
    
  2. ARIMA covariance.
    ASCII: 
      (<sigma2_name> | <sigma2_constant>) * Cov =
        ArimaCovariance([[ARIMAStruct(...), ..., ARIMAStruct(...) ]])
    
    Import: 
      Text Get.ARIMA.Size  (Real unused);
      Set  Get.ARIMA.Factor(Real f);
    
  3. Explicit covariance.
    ASCII:
      (<sigma2_name> | <sigma2_constant>) * Cov =
        {$ <TOL simmetric positive definite VMatrix expression> $}
    
    Import: 
      Text Get.Cov(Real unused);
    
  4. Inverse of covariance.
    ASCII: 
      (<sigma2_name> | <sigma2_constant>) * CovInv =
        {$ <TOL simmetric positive definite VMatrix expression> $}
    
    Import: 
      Text Get.CovInv(Real unused);
    
  5. Choleski decomposition of covariance
    ASCII:
      (<sigma2_name> | <sigma2_constant>) * CovChol =
        {$ <TOL regular triangular VMatrix expression> $}
    
    Import: 
      Text Get.CovChol(Real unused)
    
  6. Choleski decomposition of inverse of covariance.
    ASCII:
      (<sigma2_name> | <sigma2_constant>) * CovInvChol =
        {$ <TOL regular triangular VMatrix expression> $}
    
    Import: 
      Text Get.CovInvChol(Real unused);
    

Change History (6)

comment:1 Changed 15 years ago by Víctor de Buen Remiro

Status: newaccepted

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

Description: modified (diff)

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

Resolution: fixed
Status: acceptedclosed

(In [1529]) Fixed #757

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

Description: modified (diff)

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

Description: modified (diff)

comment:6 Changed 15 years ago by Víctor de Buen Remiro

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