close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

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)

testvarModel.data.zip (8.8 KB) - added by Víctor de Buen Remiro 10 years ago.
TOL Code and data to reproduce the error

Download all attachments as: .zip

Change History (4)

Changed 10 years ago by Víctor de Buen Remiro

Attachment: testvarModel.data.zip added

TOL Code and data to reproduce the error

comment:1 Changed 10 years ago by Víctor de Buen Remiro

Owner: changed from Víctor de Buen Remiro to jsperez
Status: newassigned

comment:2 Changed 10 years ago by Jorge

Owner: changed from jsperez to Jorge
Status: assignedaccepted

comment:3 Changed 10 years ago by Jorge

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.

Note: See TracTickets for help on using tickets.