Opened 13 years ago
Closed 13 years ago
#820 closed defect (fixed)
Previsión con modelos no temporales
Reported by: | imendez | Owned by: | Pedro Gea |
---|---|---|---|
Priority: | blocker | Milestone: | Release 0.6 |
Component: | Forecast | Keywords: | |
Cc: |
Description
[pgea: A partir de un correo en el que se planteaban estos errores]
Se encuentran errores al hacer un modelo de regresión lineal no temporal: no podemos sacar las observaciones, ni hacer previsión.
La ejecución de la previsión da el siguiente error:
============================================================================== Building Results Cache ============================================================================== ======= Pc_Prom_Cont (Submodel) ======= [Cache] Pc_Prom_Cont__Cov_1__Linear.0___GetValue.Random (MMS::@Parameter.PointForecast) [Cache] Pc_Prom_Cont__Cov_1___GetInput.Extended (MMS::@ExpTermOmega.PointForecast) ERROR: [113] inputE no es un objeto valido para el tipo Serie.
Al pedirle las Observations de estimación, el error es distinto:
Warning: [40] Intento de acceso no valido de la funcion Sub(observationsE,1,1,10000,1)
Change History (10)
comment:1 Changed 13 years ago by
Status: | new → accepted |
---|
comment:2 Changed 13 years ago by
La cuestión de la advertencia al obtener resultados, sí que es un bug.
comment:3 Changed 13 years ago by
comment:4 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Para la cuestión sobre la ampliación de las previsiones nos remitiremos a #363.
comment:5 Changed 13 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Hola, sigue habiendo problemas para obtener los resultados. El error es difícil de aislar, porque en función del orden que utilices para obtener las series de estimación da o no da. Dejo en B:\mms\tickets\820 los archivos Est.KPI1.0.oza y .sne para poder reproducir lo que os digo.
Reproduzco una combinación de pasos (desde la interfaz) para ver el error y, posteriormente, solucionarlo (sic):
1.- Ir al submodelo de resultados y pedirle que obtenga los resultados de estimación. Seleccionar sólo el Filer.
Da el siguiente error:
[Cache] Pc_Prom_Cont_GetFilter.Extended (MMS::@Submodel.Results)
ERROR: [44] inputE no es un objeto valido para el tipo Serie.
2.- A continuación, repetir el mismo proceso pero extraer sólo los Residuals. Curiosamente, los devuelve como Matrix, no da error.
3.- Por último, repetir el paso 1, pidiéndole el Filter. Problema resuelto, lo devuelve como Matrix.
Con eso conseguimos obtener el output, filter, residuals, prediction...
Sin embargo, el filter y la prediction son todo ceros, y por tanto los residuals coinciden con el output. ¿Es un error de MMS o estoy definiendo mal el modelo? Pienso que es lo primero, porque los parámetros están estimados correctamente (sin entrar en si el modelo es o no bueno, que de momento es una prueba).
Un saludo.
comment:6 Changed 13 years ago by
En vuestro modelo matricial, ¿por qué habeis definido los términos explicativos como @ExpTermOmega?.
Es normal que estando así definidos se vaya a buscar una serie, no la encuentre y genere error.
comment:7 Changed 13 years ago by
Hola MA, hemos definido el modelo con ModelExcel. En ningún sitio decimos explícitamente que sea @ExpTermOmega. Lo que sí es cierto es que en la hoja "Parameters" hay una columna llamada "degree" en la que hemos puesto "0".
¿Qué tenemos que hacer para definir bien los explicative terms desde ModelExcel para un modelo matricial? ¿Dejar el "degree" a null?
Gracias de antemano.
comment:8 Changed 13 years ago by
A partir de ahora los términos explicativos se crean en función del valor de la columna degree en parameters. Si tienen valor nulo los términos explicativos serán de tipo "Linear". En caso contrario son de tipo "Omega".
Se crea el método CreateParameterLinear en def_exp_termuni_linear.tol
comment:9 Changed 13 years ago by
Milestone: | Next → Release 0.6 |
---|---|
version: | → 0.6 |
Es necesario intentar asegurar que la creación de términos explicativos multillineales no genera conflictos al utilizar modelos matriciales.
La cuestión de las previsiones en modelos dinámicos ya se planteó hace un tiempo (véase #363) sin embargo aún no se han dedicado recursos a implementarla.
Hasta ahora creo que se están tratando soluciones basadas en la creación de una nueva estimación en todo el rango que se desea (incluido el segmento de previsión) a la que se establecen los resultados (sin tener que estimarla) de la estimación parcial, vía el método
::SetResults
.