Opened 13 years ago
Closed 13 years ago
#1500 closed doubt (fixed)
GetCov en BsrImport
Reported by: | Jorge | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | high | Milestone: | BSR Interface |
Component: | BysMCMC | Version: | 3.1 |
Severity: | major | Keywords: | |
Cc: |
Description
El API Import
de BSR
define un segmento de regresión mediante un NameBlock
. Este NameBlock
puede tener un método GetCov
que retorna la matriz de covarianza conocida del segmento (en realidad se retorna una expresión que al evaluarse construye la matriz de covarianza).
El API
asume el convenio de que si el método no está definido entonces se asume covarianza identidad. En MMS
este método siempre está definido ya que el NameBlock
es una instancia de una clase.
En relación a este convenio nos preguntamos si ¿hay diferencias de eficiencias entre retornar "Eye(100)"
o no definir el método? En caso de que haya diferencia significativa en eficiencia, y teniendo en cuenta que en MMS
el método GetCov
está siempre definido, ¿pudiera ampliarse el convenio y asumir que si se retorna ""
implica el mismo comportamiento que no definir el método?
En el ejemplo anterior 100
es una dimensión arbitraria usada solo a modo de ejemplo.
No hay ninguna diferencia de eficiencia entre definir explícitamente la matriz de covarianzas o dejar implícitas las unitarias, porque al final, a la hora de la simulación de Gibbs del bloque lineal, siempre va a haber una matriz de covarianzas que se multiplicará por la matriz diagonal de las sigmas resultantes del bloque de varianzas. Al tratarse matrices sparse es equivalente a multiplicar por un escalar, así que el tiempo empleado será en cualquier caso insignificante.