コード例 #1
0
ファイル: DafePcrSubject.cpp プロジェクト: comenerv/Boom
    DAFE::DafePcrSubject(Ptr<Subject> Sub, Ptr<SubjectPrior> Pri,
			 Ptr<IMP> Imp, double Tdf)
      : subject(Sub),
	pri(Pri),
	imp(Imp),
	sigsq(1.644934066848226), // pi^2/6
	mean(Sub->Nscales()),
	Ivar(Sub->Nscales())
    {
      SubjectTF target(subject, pri, imp);
      uint dim = subject->Nscales();
      Spd Ominv(dim);
      Ominv.set_diag(1.0);
      prop = new MvtIndepProposal(Vec(dim), Ominv, Tdf);
      sampler = new MetropolisHastings(target, prop);
    }
コード例 #2
0
    //======================================================================
    ISAM::DafePcrItemSampler(Ptr<PCR> Mod, Ptr<DafePcrDataImputer> Imp,
                 Ptr<MvnModel> Prior, double Tdf, RNG &seeding_rng)
      : PosteriorSampler(seeding_rng),
  mod(Mod),
    prior(Prior),
    imp(Imp),
    sigsq(1.644934066848226) // pi^2/6
    {
      Matrix X(Mod->X(1.0));
      xtx = SpdMatrix(X.ncol());
      xtu = Vector(X.ncol());

      ItemDafeTF target(mod, prior, imp);
      uint dim = mod->beta().size();
      SpdMatrix Ominv(dim);
      Ominv.set_diag(1.0);
      prop = new MvtIndepProposal(Vector(dim), Ominv, Tdf);
      sampler = new MetropolisHastings(target, prop);
    }