void Test(int niter, int time_dimension, int burn = 0) { SimulateData(time_dimension); BuildModel(); CreateObservationSpace(niter); if (burn > 0) { Burn(burn); } RunMcmc(niter); Check(); }
TDenseMatrix SimulateData(int T, const TDenseMatrix &A0, const TDenseMatrix &Aplus, bool IsConstant, int burn_in) { int n_vars=A0.cols, n_lags=NumberLags(A0,Aplus,IsConstant); TDenseVector initial_value(Aplus.cols), mean; try { mean=UnconditionalMean(A0,Aplus,IsConstant); } catch (dw_exception &e) { mean.Initialize(n_vars,0.0); } for (int i=0; i < n_lags; i++) initial_value.Insert(i*n_vars,mean); if (IsConstant) initial_value(initial_value.dim-1)=1.0; return SimulateData(T,A0,Aplus,IsConstant,initial_value,burn_in); }