wiki:Results
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.

Version 1 (modified by Pedro Gea, 15 years ago) (diff)

--

Resultados

A lo largo del desarrollo de MMS han ido apareciendo distintos métodos de acceso a los resultados provocando quizá en los usuarios cierta confusión.

A continuación explicamos cuáles son estos métodos, por qué aparecen y cuáles debemos utilizar:

Resultados por evaluación del modelo

Estos fueron los primeros métodos de acceso a resultados. Su diseño se basa en la idea de que el modelo (como cada una de sus partes) es capaz de evaluar los resultados si conoce los parámetros estimados.

Para ello se añadieron unos métodos de obtención de resultados con la forma Get[Result].E(Set resultingParameters) en las clases adaptadaras del modelo (@MMS.ModelAdapter y complementarias).

Así en el código de los ejemplos nos encontrábamos con expresiones del tipo:

// Obtención de todo los parámetros estimados (@MMS.ResultingParameter)
Set rPars = estimation::GetParameters(?);

para obtener los parámetros estimados, luego:

@MMS.SubmodelAdapter submodel = estimation::GetModelAdapter(?)
  ::GetSubmodel("Veh.Tur.Mat");

para obtener el objeto adaptado al que pedirle los resultados y finalmente llamadas como:

Serie outputE = submodel::GetOutput.E(rPars)::GetExpectedValue(?);
Serie noiseE = submodel::GetNoise.E(rPars)::GetExpectedValue(?);
Serie filterE =  submodel::GetFilter.E(rPars)::GetExpectedValue(?);
Serie residualsE = submodel::GetResiduals.E(rPars)::GetExpectedValue(?);

para obtener los resultados deseados.

Ventajas

La única ventaja de estos métodos es que nos permitían obtener un conjunto de resultados para un determinado conjunto de parámetros estimados, fuesen verdaderamente estimados o no.

Inconvenientes

El principal inconveniente es su lentitud, muy notable en modelos grandes, ya que cada llamada al método concatenaba una multitud de cálculos que se repetían sin poder reutilizarse. Por ejemplo, para obtener la serie de residuos anterior residualsE internamente se volvían a calcular todos loes efectos, el filtro (filterE), etc. aún cuando acababan de ser calculados, pues no hay una forma natural de almacenar esa información pues depende del argumento rPars.