Opened 10 years ago
Last modified 10 years ago
#1790 accepted defect
Wrong estimation with VarModel
Reported by: | Víctor de Buen Remiro | Owned by: | Jorge |
---|---|---|---|
Priority: | normal | Milestone: | Mantainance |
Component: | Math | Version: | head |
Severity: | normal | Keywords: | |
Cc: |
Description
No entiendo muy bien cómo ha podido pasar pero tengo un modelo VAR de tres series estacionarias (ya han sido diferenciadas previamente) que al estimarlo con VarModel, los residuos de una de las series da mayor error estándar que la propia serie.
Me gustaría saber qué es lo que hace exactamente varModel y comprobar si en el código R también ocurre lo mismo o hay algo mal en la implementación TOL o en el código usado que adjunto.
Attachments (1)
Change History (4)
Changed 10 years ago by
Attachment: | testvarModel.data.zip added |
---|
comment:1 Changed 10 years ago by
Owner: | changed from Víctor de Buen Remiro to jsperez |
---|---|
Status: | new → assigned |
comment:2 Changed 10 years ago by
Owner: | changed from jsperez to Jorge |
---|---|
Status: | assigned → accepted |
comment:3 Changed 10 years ago by
Si las series ya son estacionarias, entonces no se debe eestimar como un modelo VEC sino como un VAR. El codigo de abajo muestra una estimacion VAR para esos datos:
#Require VarModel; //There is a set of three stationary time series Set Y = { Include("testvarModel.data.oza") }; VarModel::@VarModel model = VarModel::@VarModel::New([[Y]]); Real model::SetConstant(1); VarModel::@VarEstimation varest = VarModel::@VarEstimation::New(model, [[Real p = 5]]); Set View([[varest::_.maxLLK, varest::_.R2, varest::_.B, varest::_.Ohm]], ""); WriteLn(""); Set residual = model::GetResiduals(varest); Set fit = model::GetFit(varest); Set forecast = model::GetForecast( varest, Copy(Empty), model::GetMaxEstimationDate(?), 100); Set Y << fit << residual << forecast; Set wold = varest::ComputeWoldMA(50); Set irf = varest::ComputeIRFFromWoldMA(wold); Set roots = varest::ComputeCharacteristicRoots(?); Set View(roots, ""), WriteLn("");
Al modelo se le ha especificado una constante.
TOL Code and data to reproduce the error