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 12 years ago

Closed 12 years ago

#1117 closed doubt (fixed)

Comportamiento raro del método ::GetEffects.Extended(?) de los submodelos ejecutados

Reported by: CN=Javier Marinero Ramos Owned by: Pedro Gea
Priority: major Milestone: Maintenance
Component: General Keywords:
Cc:

Description

Buenas

Tenemos una función que hace diagnosis de los forecast que hacemos y que como parte de la previsión de la mediana llamaba a:

Serie filExt = SetSumC((sbmF::GetEffects.Extended(?)));

para generar el filtro en previsión. Pero hemos visto que no hace lo esperado y que genera unas series raras. Lo hemos cambiado en nuestra función por una llamada a:

Serie filExt = sbmF::GetFilter.WithForecast.Mean(?);

No obstante, entiendo que la extensión de los efectos que está haciendo arriba no es correcta. ¿podríais echarle un ojo y corregirme si me estuviese equivocando?

Adjunto un forecast ejecutado con un submodelo (En principio tenemos todos los lastYear y demás metidos correctamente) y este código para comprobar con rapidez a lo que me refiero:

NameBlock sbmF = MMS::Container::GetForecast(1)::GetModel.Forecast(?)::GetSubmodel(1);

Serie filExt = SetSumC((sbmF::GetEffects.Extended(?)));
Serie filExt2 = sbmF::GetFilter.WithForecast.Mean(?);

Por cierto, la parte del pasado de filExt (del 2009 hacia atrás tampoco es correcta). Estoy utilizando tol 3.2 y mms 1.21

Un saludo

Change History (2)

comment:1 Changed 12 years ago by Pedro Gea

Status: newaccepted
Type: defectdoubt

comment:2 Changed 12 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed

El problema no es más que una cuestión de conceptos.

En MMS, los métodos GetOutput, GetFilter, GetNoise, etc. devuelven las series sólo en el intervalo de estimación que se usó para estimarlas.

Sin embargo, en ocasiones, estas series tienen más datos de los usados en la estimación, pero se decidió estimar en un intervalo menos, a menudo para comparar la previsión con estos datos descartados.

Para obtener las series completas (con datos reales, no previsión) se crearon los métodos *.Extended que devuelven esta información out of sample: GetOutput.Extended, GetFilter.Extended, GetNoise.Extended, etc.

Todos estos métodos son propios de los resultados de una estimación, aunque, por supuesto, pueden utilizarse sobre un objeto previsión.

Los resultados de una previsión, amplían el conjunto de métodos anteriores con los métodos *.Forecast.* que devuelven las previsiones: GetOutput.Forecast.Mean, GetFilter.Forecast.Mean, GetNoise.Forecast.Mean, etc.

Para hacer la previsión, y sólo para ello, se utilizan los datos extendidos de las variables GetData.Extended y supongo que es este mismo término Extended el que ha generado la confusión.

Obsérvese:

  • GetEffects -> <variable>::GetData (recortado al intervalo de estimación).
  • GetEffects.Extended -> <variable>::GetData (sin recortar).
  • GetEffects.Forecast.Mean -> <variable>::GetData.Extended

Los métodos WithForecast concatenan la previsión con los datos reales usados en estimación (recortados):

  • GetEffects.WithForecast.Mean -> GetEffects << GetEffects.Forecast.Mean
Note: See TracTickets for help on using tickets.