| 1 | |
| 2 | = Resultados = |
| 3 | |
| 4 | A lo largo del desarrollo de MMS han ido apareciendo distintos |
| 5 | métodos de acceso a los resultados provocando quizá en los usuarios |
| 6 | cierta confusión. |
| 7 | |
| 8 | A continuación explicamos cuáles son estos métodos, por qué aparecen |
| 9 | y cuáles debemos utilizar: |
| 10 | |
| 11 | == Resultados por evaluación del modelo == |
| 12 | |
| 13 | Estos fueron los primeros métodos de acceso a resultados. |
| 14 | Su diseño se basa en la idea de que el modelo (como cada una de sus partes) |
| 15 | es capaz de evaluar los resultados si conoce los parámetros estimados. |
| 16 | |
| 17 | Para ello se añadieron unos métodos de obtención de resultados con la |
| 18 | forma {{{Get[Result].E(Set resultingParameters)}}} en las clases |
| 19 | adaptadaras del modelo ({{{@MMS.ModelAdapter}}} y complementarias). |
| 20 | |
| 21 | Así en el código de los ejemplos nos encontrábamos con expresiones del tipo: |
| 22 | {{{ |
| 23 | // Obtención de todo los parámetros estimados (@MMS.ResultingParameter) |
| 24 | Set rPars = estimation::GetParameters(?); |
| 25 | }}} |
| 26 | para obtener los parámetros estimados, luego: |
| 27 | {{{ |
| 28 | @MMS.SubmodelAdapter submodel = estimation::GetModelAdapter(?) |
| 29 | ::GetSubmodel("Veh.Tur.Mat"); |
| 30 | }}} |
| 31 | para obtener el objeto adaptado al que pedirle los resultados y finalmente llamadas como: |
| 32 | {{{ |
| 33 | Serie outputE = submodel::GetOutput.E(rPars)::GetExpectedValue(?); |
| 34 | Serie noiseE = submodel::GetNoise.E(rPars)::GetExpectedValue(?); |
| 35 | Serie filterE = submodel::GetFilter.E(rPars)::GetExpectedValue(?); |
| 36 | Serie residualsE = submodel::GetResiduals.E(rPars)::GetExpectedValue(?); |
| 37 | }}} |
| 38 | para obtener los resultados deseados. |
| 39 | |
| 40 | === Ventajas === |
| 41 | |
| 42 | La única ventaja de estos métodos es que nos permitían obtener un conjunto de resultados |
| 43 | para un determinado conjunto de parámetros estimados, fuesen verdaderamente estimados o no. |
| 44 | |
| 45 | === Inconvenientes === |
| 46 | |
| 47 | El principal inconveniente es su lentitud, muy notable en modelos grandes, ya que cada |
| 48 | llamada al método concatenaba una multitud de cálculos que se repetían sin poder reutilizarse. |
| 49 | Por ejemplo, para obtener la serie de residuos anterior {{{residualsE}}} internamente |
| 50 | se volvían a calcular todos loes efectos, el filtro ({{{filterE}}}), etc. aún cuando acababan |
| 51 | de ser calculados, pues no hay una forma natural de almacenar esa información pues depende |
| 52 | del argumento {{{rPars}}}. |
| 53 | |
| 54 | |
| 55 | |