Exemplo n.º 1
0
 void MVT::mle() {
   const double eps = 1e-5;
   double dloglike = eps + 1;
   double loglike = this->loglike(vectorize_params());
   double old = loglike;
   Vector Nu(1, nu());
   while (dloglike > eps) {
     Estep();
     mvn->mle();
     MvtNuTF f(this);
     loglike = max_nd1(Nu, Target(f), dTarget(f));
     set_nu(Nu[0]);
     dloglike = loglike - old;
     old = loglike;
   }
 }
Exemplo n.º 2
0
 void WishartModel::initialize_params(){
   SpdMatrix mean(suf()->sumW());
   mean/= suf()->n();
   set_nu(2*mean.nrow()); // out of thin air
   set_sumsq((mean/nu()).inv());
 };