| Version 5 (modified by , 15 years ago) (diff) |
|---|
Actualización a MMS_0.6
Estimaciones
Las estimaciones en MMS_0.6 tienen una estructura parecida a MMS_0.5 como se puede ver a continuación:
Código en MMS_0.5
Real MMS::CreateEstimation([[
Text _.name = <name>;
@MMS.Model _.model = model;
@MMS.SettingsBSR _.settings = [[
...
]]
]]);
@MMS.Estimation estimation = MMS::GetEstimation([[
model::GetName(?),
model::GetVersion(?),
<name>
]]);
Código en MMS_0.6
MMS::@Estimation estimation = MMS::Container::CreateEstimation([[
Text _.name = <name>;
Text _.version = "test.1" // opcional
MMS::@Model _.model = model;
MMS::@SettingsBSR _.settings = [[
...
]]
]]);
Nótese sin embargo que la identificación de las estimaciones es distinta
en MMS_0.6. Mientras que en MMS_0.5 la identificación estaba formada por
el identificador del modelo (nombre y versión) más el nombre de la estimación,
en MMS_0.6 el objeto MMS::@Estimation como otro objeto principal se
identifica por el par nombre-versión (la versión de la estimación).
// Modo 1 (por nombre) MMS::@Estimation estimation.1 = MMS::Container::GetEstimation(<name>); // Modo 2 (por nombre y versión) MMS::@Estimation estimation.2 = MMS::Container::GetEstimation([[<name>,"test.1"]]);
Estrategias de estimación
Las estrategias de estimación en MMS_0.6 se reducen a dos:
- La estrategia BSR, que como en MMS_0.5 utiliza BSR para estimar el modelo completo.
- La estrategia máximo-verosímil múltiple (Multi-MLE). A diferencia de la estrategia BSR no
disponemos de ningún estimador máximo-verosímil para resolver un modelo completo.
Sin embargo disponemos de diferentes estimadores para estimar los diferentes submodelos
(
Estimate,Logit,Probit, ...) por separado. En MMS_0.6 la estrategia máximo-verosímil múltiple (Multi-MLE) atribuye a cada submodelo una subestrategia correspondiente dependiendo del tipo de submodelo.
El objeto de configuraciones de esta estrategia une las configuraciones de las antiguas estrategias máximo-verosímil:MMS::@SettingsMultiMLE _.settings = [[ // Configuración por defecto Real _.Tolerance = 1e-005; // GLM Real _.RelativeTolerance = 1e-005; Real _.MaxIter = 40; // GLM Real _.CGMaxIter = 3; Real _.DiffDist = 1e-006; Real _.MarqFactor = 3; Real _.DoDiagnostics = True; Real _.DoStatistics = True; Real _.NullInitResiduals = False; Real _.MinOutlierLikelyhood = 4; Real _.MarqLinMet = 1; Real _.showTraces = True; Text _.logitEstimator = "Logit" // Opciones: "Logit", "VLogit" ]];
Configuración de las estrategias
En MMS_0.6 desaperecen métodos específicos para configurar las estrategias
como ::SetSampleLength. Para consultas y modificar las configuraciones
existen los métodos:
Anything settingValue = strategy::GetSetting(Text settingName); Real strategy::SetSetting(settingName, newValue);
Por ejemplo en lugar de:
strategy::SetSampleLength(1000);
haríamos:
strategy::SetSetting("mcmc.sampleLength", 1000);
Condicionamiento
El condicionamiento en MMS_0.6 deja de ser un tipo de objeto especial como en MMS_0.5 (@MMS.Conditioning)
para convertirse simplemente en un conjunto de parámetros ya estimados o fijados.
Los parámetros del condicionamiento han de ser reales o variables aleatorias de tipo real (Real o @Real.Random)
con el nombre del parámetro al que desean condicionar.
En el caso en el que los parámetros sean reales (Real) el resultado de la estimación es equivalente al hecho de
que el parámetro hubiese sido fijado en definición.
![(please configure the [header_logo] section in trac.ini)](/mms/chrome/site/logomms.png)