wiki:upgrade/estimations
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 4 (modified by Pedro Gea, 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);