예제 #1
0
파일: MvtModel.cpp 프로젝트: cran/Boom
 double MVT::complete_data_loglike() const {
   Vector params = vectorize_params();
   params.pop_back();
   double ans = mvn->loglike(params);
   Vector nu_vector(1, nu());
   ans += wgt->loglike(nu_vector);
   return ans;
 }
예제 #2
0
파일: MvtModel.cpp 프로젝트: cran/Boom
 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;
   }
 }
예제 #3
0
 void WishartModel::mle1(){
   Vector theta = vectorize_params();
   dLoglikeTF target(this);
   max_nd1(theta, Target(target), dTarget(target));
   unvectorize_params(theta);
 }