| Version 7 (modified by , 15 years ago) (diff) |
|---|
Actualización a MMS_0.6
Previsiones
La implementación de las previsiones varía sustancialmente en MMS_0.6. Los cambios son fruto de un conjunto de reuniones y discusiones (véase el acta Reunión sobre previsiones?).
Creación de una previsión
Una previsión en MMS_0.6 está compuesta por:
- un modelo (
MMS::@Model) - un conjunto de parámetros estimados (
SetOf{Real|MMS::@Real.Random}) - un conjunto de intervalos de previsión (
SetOf{MMS::@FInterval}) - un conjunto de escenarios de previsión (
SetOf{MMS::@FScenario}) - un conjunto de configuraciones
Código en MMS_0.5
// Se crea el objeto previsión:
Real MMS::CreateForecast([[
Text _.name = <nombre>;
@MMS.Estimation _.estimation = estimation;
@MMS.SettingsEstimate _.settings = [[
Real _.showTraces = False
]] // -> Previsión puntual
]]);
@MMS.Forecast forecast = MMS::GetForecast([[
estimation::GetModel(?)::GetName(0),
estimation::GetModel(?)::GetVersion(0),
<nombre>
]]);
//Se definen los intervalos de previsión
Real forecast::SetForecastInterval(
?, // para todos los outputs
<firstForecast>, // fecha inicial
<lastForecast> // fecha final
);
//Se ejecuta la previsión
Real forecast::Execute(?)
Código en MMS_0.6
MMS::@Forecast forecast = MMS::Container::CreateForecast[ReplaceForecast]([[
Text _.name = <nombre>;
MMS::@Model _.model = <model>;
MMS::@Estimation _.estimation = <estimation>;
MMS::@SettingsForecast _.settings = [[
Text _.mode = <mode>; // Modo de la previsión "Point" o "Sample"
..... // Resto de settings compatible con el _.mode de la previsión
.....
]];
// Aquí se indica las fechas de comienzo y fin de la previsión, el primer campo expresa el nombre del submodelo al que se le asocian esas fechas.
// Se admiten comodines, en el ejemplo "*" significa todos los submodelos, "All*" indicaría todos los submodelos que comiencen con "All".
Set _.fIntervals = [[
Set [["*", Date <beginprev>, Date <endprev>]]
]]
]]);
//Se ejecuta la previsión
Real forecast::Execute(?);
Uso de Escenarios
Imaginemos que tenemos variables creadas que están un determinado escenario y queremos que la previsión se realice con ellas:
Anything dataset::CreateVariable([[ Text _.name = "Input1"; Text _.scenario = "Escenario1"; Text _.expression = "Serie Input1;" ]]);
En el ejemplo se ve la variable "Input1" con el Escenario "Escenario1".
Para especificar a la previsión que se ejecute con las variables en ese escenario usaremos:
Real forecast::SetFScenarios([[ [[ "*", "Escenario1" ]] ]]);
Esto hará que para todos los submodelos (usando el comodín "*") se use el escenario "Escenario1". Si queremos restringir o ampliar los submodelos que usen un escenario dado tendremos que indicarlo convenientemente:
Real forecast::SetFScenarios([[ [[ "submodelo1", "Escenario1" ]], [[ "submodelo2", "Escenario2" ]], ..... ]]);
![(please configure the [header_logo] section in trac.ini)](/mms/chrome/site/logomms.png)