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.

Opened 15 years ago

Closed 15 years ago

#123 closed task (fixed)

Referencia de parámetros

Reported by: josp Owned by: Pedro Gea
Priority: major Milestone: Model 0.5
Component: Models Keywords:
Cc:

Description

La referencia a los parámetros en "combinaciones" y "jerarquías" se hace
actualmente haciendo uso del nombre único del parámetro. Este nombre del
parámetro es generado a través de mecanismo internos en los cuales el
usuario no interviene y por tanto no conoce el nombre.

Creemos que un mecanismo más estructurado de hacer referencia a los
parámetros sería beneficioso en el uso de los mismo. Además permite
reducir el acople que existe entre el uso del parámetro y la forma de
construir este nombre.

Una propuesta puede ser:

[[ "obs", "submodel" "base_exp_term" "local_name" ]]

[[ "obs", "submodel" "base_exp_term" index ]]

[[ "hier", "hier_name" "local_name" ]]

[[ "hier", "hier_name" index ]]

por temas de compatibilidad podemos seguir haciendo uso de la referencia
por nombre único.

De esta forma una referencia a parámetro puede ser un Text o un Set.

Change History (2)

comment:1 Changed 15 years ago by josp

Status: newaccepted

comment:2 Changed 15 years ago by josp

Resolution: fixed
Status: acceptedclosed

Se ha realizado la "sobrecarga" de los métodos de acceso a parámetros, de
modo que podemos acceder a ellos, bien por su nombre único, bien mediante
un conjunto con su información elemental.
Esta forma de sobrecargar los métodos también se ha usado en el acceso de
restricciones y aprioris.

Los métodos desde @MMS.Model reciben un conjunto de 3 elementos de la
forma siguiente:

  • Parámetros ARIMA:
    [[ OutputName, "#ARIMA#", ParameterLocalName ]]
    [[ OutputName, "#ARIMA#", [[Period, Type, Degree]] ]]
    
    Ejemplo:
    @MMS.Parameter model::GetParameter([["OutputA", "#ARIMA#", "P1AR1"]]);
    @MMS.Parameter model::GetParameter([["OutputA", "#ARIMA#", [[1,"AR",1]]
    ]]);
    
  • Parámetros de residuos:
    [[ OutputName, "#Residuals#", ParameterLocalName ]]
    [[ OutputName, "#Residuals#", Degree ]]
    
    Ejemplo:
    @MMS.Parameter model::GetParameter([["OutputA", "#Residuals#",
    "Residual.1"]]);
    @MMS.Parameter model::GetParameter([["OutputA", "#Residuals#", 1 ]]);
    
  • Parámetros de omitido en el output:
    [[ OutputName, "#Output#", ParameterLocalName ]]
    [[ OutputName, "#Output#", Position ]]
    
    Ejemplo:
    @MMS.Parameter model::GetParameter([["OutputA", "#Output#",
    "y2007m10d01"]]);
    @MMS.Parameter model::GetParameter([["OutputA", "#Output#", y2007m10 ]]);
    
  • Parámetros de término explicativo:
    [[ OutputName, BaseExpTermName, ParameterLocalName ]]
    [[ OutputName, BaseExpTermName, [[Type, Degree]] ]]
    [[ OutputName, BaseExpTermName, Degree]] // Se supone lineal
    
    Ejemplo:
    @MMS.Parameter model::GetParameter([["OutputA", "ExpTermA1",
    "Deg0.Coef"]]);
    @MMS.Parameter model::GetParameter([["OutputA", "ExpTermA1", [["Linear",
    0]] ]]);
    @MMS.Parameter model::GetParameter([["OutputA", "ExpTermA1", 0 ]]);
    
  • Parámetros de omitido en el input:
    [[ BaseExpTermName, "#Input#", ParameterLocalName ]] // Sólo para UniInput
    [[ BaseExpTermName, "#Input#", Position ]] // Sólo para UniInput
    [[ BaseExpTermName, InputLocalName, ParameterLocalName ]]
    [[ BaseExpTermName, InputLocalName, Position ]]
    
    Ejemplo:
    @MMS.Parameter model::GetParameter([["ExpTermA1", "#Input#", "y2008m01d01"
    ]]);
    @MMS.Parameter model::GetParameter([["ExpTermA1", "#Input#", y2008 ]]);
    
  • Hyperparámetros:
    [[ HierarchyName, HierachyTermName, ParameterLocalName ]]
    [[ HierarchyName, HierachyTermName, [["Lineal", Degree]] ]]
    [[ HierarchyName, HierachyTermName, Degree]]
    
    Ejemplo:
    @MMS.Parameter model::GetParameter([["HierarchyA1", "Average", "Coef" ]]);
    @MMS.Parameter model::GetParameter([["HierarchyA1", "Average", [["Lineal",
    0]] ]]);
    @MMS.Parameter model::GetParameter([["HierarchyA1", "Average", 0 ]]);
    
Note: See TracTickets for help on using tickets.