예제 #1
0
 void Test(int niter, int time_dimension, int burn = 0) {
   SimulateData(time_dimension);
   BuildModel();
   CreateObservationSpace(niter);
   if (burn > 0) {
     Burn(burn);
   }
   RunMcmc(niter);
   Check();
 }
예제 #2
0
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);
}