Changeset 679 for library/bdm/stat/exp_family.h
- Timestamp:
- 10/23/09 00:05:25 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/stat/exp_family.h
r678 r679 96 96 97 97 //! Weighted update of sufficient statistics (Bayes rule) 98 virtual void bayes (const vec &data, const double w) {};98 virtual void bayes_weighted (const vec &data, const vec &cond=empty_vec, const double w=1.0) {}; 99 99 //original Bayes 100 void bayes (const vec & dt);100 void bayes (const vec &yt, const vec &cond=empty_vec); 101 101 102 102 //!Flatten the posterior according to the given BMEF (of the same type!) … … 436 436 //! Sets sufficient statistics to match that of givefrom mB0 437 437 void set_statistics (const BM* mB0) {const multiBM* mB = dynamic_cast<const multiBM*> (mB0); beta = mB->beta;} 438 void bayes (const vec & dt) {438 void bayes (const vec &yt, const vec &cond=empty_vec) { 439 439 if (frg < 1.0) {beta *= frg;last_lognc = est.lognc();} 440 beta += dt;440 beta += yt; 441 441 if (evalll) {ll = est.lognc() - last_lognc;} 442 442 } 443 double logpred (const vec & dt) const {443 double logpred (const vec &yt) const { 444 444 eDirich pred (est); 445 445 vec &beta = pred._beta(); … … 452 452 else{lll = pred.lognc();} 453 453 454 beta += dt;454 beta += yt; 455 455 return pred.lognc() - lll; 456 456 } … … 832 832 } 833 833 void condition (const vec &cond) { 834 iepdf._mu() = A * cond + mu_const; 834 if (cond.length()>0) { 835 iepdf._mu() = A * cond + mu_const; 836 } else { 837 iepdf._mu() = mu_const; 838 } 835 839 double zeta; 836 840 //ugly hack!