Version 4 (modified by 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
La transformación del input es algo más delicada ya que en sus transformaciones se usaban funciones de distinto tipos que no sólo transformaban los datos sino que los ampliaban o recortaban.
MMS_0.6 no acepta esto en las transformaciones de modo que para ello hay que acudir a mecanismos del módulo de variables. Quizá hay varias maneras de solucionar esta situación e incluso puede ser muy interesante considerar el uso que se ha hecho en algunos proyectos de las transformaciones para enriquecer más el módulo de variables.
A través de Variables Calculadas
A continuación proponemos una solución basada en la construcción de variables calculadas cuando se presente la necesidad de transformar una variable.