Opened 14 years ago
Closed 14 years ago
#420 closed enhancement (fixed)
Redefinir la estructura ARIMA de un submodelo con la función SetNoise
Reported by: | igonzalez | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | Release 0.6 |
Component: | Models | Keywords: | ARIMA |
Cc: |
Description
Para redefinir una estructura ARIMA sería más eficiente no tener que volver a pasar todo el NameBlock a la función SetNoise (type, arimaLabel y sigma).
Si sólo queremos modificar el ARIMA, lo ideal es que dicha función te permita pasarle únicamente los argumentos que quieres modificar, ya que, en general, se querrá cambiar solo el "arimaLabel"
Change History (7)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
(In [2371]) Se introduce el método GetParent en todos los objetos del módulo de modelos para facilitar la comunicación entre objetos.
La cautela anterior por facilitar estos mecanismos no parece ya necesaria, tras desaparecer las clases @[MainObject]Kernel
Desaparecen los métodos intermedios _.AppendParameter y _.RemoveParameter. Las llamadas se hacen directamente sobre sus versiones en @Model.
Se introducen un nuevo método _.UpdateIdentifier con el que un objeto padre advierte a objetos hijos que hay cambios en los nombres que afecta a su identificador.
Se revisa (y se introduce en nuevas clases) el método _OnChangeIdentifier en el módulo de modelos.
Se modifican los mecanismos _Update[*]Name por una versión más general _.UpdateChildName
Se revisan todas las clases relacionadas con la gestión de las estructuras ARIMA. Se revisa el criterio de signos en los parámetros ARIMA.
Refs #528, #558, #420
comment:3 Changed 14 years ago by
El método SetNoise
se utiliza para modificar todo el objeto @Noise que representa al ruido. Para modificar la estructura ARIMA tan sólo (que es una parte de este ruido) utilícese alguna variante del método SetARIMABlocks
.
Real SetARIMABlocks_Label(Text label)
que recibe una etiqueta ARIMA.Real SetARIMABlocks_ARIMA(Set arima)
que recibe un conjunto ARIMA formado por estructuras @ARIMAStruct.
Hay dos funciones en TOL que nos permiten pasar de una a otra: GetArimaFromLabel
y GetLabelFromArima
. Nótese que el conjunto ARIMA es más informativo porque permite la elección de los valores iniciales de los parámetros.
Un objeto noise de tipo ARIMA (@NoiseARIMA) está formado por un conjunto de bloques (o factores multiplicativos de la estructura ARIMA). Cada bloque de éstos es equivalente conceptualmente a una estructura @ARIMAStruct de TOL.
Los bloques ARIMA se almacenan de manera ordenada de manera que es un índice entero la mejor manera de identificarlo, ya que se admite la posibilidad de introducir bloques iguales (por ejemplo, la etiqueta P1_1DIF0_0AR1_1MA0_0).
Un bloque ARIMA se implementa en el sentido "habitual" en el que no se guarda relación entre el periodo del bloque y los grados de los parámetros ARIMA.
La interpretación de los signos de los parámetros es la "habitual":
Polyn AR = 1 - Sum(parameterAR[i]*B^degreeAR[i]) Polyn MA = 1 - Sum(parameterMA[i]*B^degreeMA[i])
El polinomio de diferencias (que sí usa el periodo del bloque) es:
Polyn Dif = (1-B^period)^degreeDif
comment:4 Changed 14 years ago by
comment:5 Changed 14 years ago by
comment:6 Changed 14 years ago by
comment:7 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In [2342]) Se actualizan algunos comentarios de la clase @Noise y derivadas.
Refs #420