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
Status: | new → accepted |
---|---|
Type: | defect → doubt |
comment:2 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
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érminoExtended
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