wiki:upgrade/transformations
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 3 (modified by Pedro Gea, 15 years ago) (diff)

--

Actualización a MMS_0.6

Transformaciones

El uso de las transformaciones (@MMS.Transformation) de MMS_0.5 en los proyectos ha sido muy variopinto dada la flexibilidad que ofrecían a los usuarios. Sin embargo, su diseño original no estaba pensado para ello y esto conlleva algunas dificultades sobre todo de cara a la persistencia. En MMS_0.6 las transformaciones se modifican y asumen un papel más definido y estricto, destinado a las transformaciones invertibles propias de la linealización de los modelos.

A continuación describimos cómo ha de modificarse la programación para conseguir los mismos resultados:

Transformación del Output

La transformación del output no suele presentar la flexibilidad en las transformaciones que comentábamos y se limita a la familia de transformaciones BoxCox. Éstas están implementadas en MMS_0.6.

Código en MMS_0.5

@MMS.Transformation _.transformation = BoxCox(0,0);

Código en MMS_0.6 Construcción de la transformación:

// Modo 1
@MMS.Transformation _.transformation.1 = @MMS.Transformation.BoxCox::Default(0,0);
// Modo 2
@MMS.Transformation _.transformation.2 = @MMS.Transformation::Family("BoxCox", [[0,0]]);
// Nombre de la transformación
Text _.transformation.2::GetName(?);
//> "BoxCox_0.0"

Alternativa en los argumentos de una MVariable:

// Modo 1 ó 2
NameBlock [_.output|_.input] = [[
  ...
  @MMS.Transformation _.transformation = ...
  ...
]]
// Modo 3 (por nombre)
NameBlock [_.output|_.input] = [[
  ...
  Text _.transformationLabel = "BoxCox_0.0";
  ...
]]

Transformación del Input