Changeset 990 for library/bdm/estim/arx.h
- Timestamp:
- 05/26/10 18:42:26 (14 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/estim/arx.h
r979 r990 49 49 //! RV of regressor 50 50 RV rgr; 51 //! length of the regressor 51 //! length of the regressor (without optional constant) 52 52 int rgrlen; 53 53 //! posterior density … … 139 139 est.validate(); 140 140 //if dimc not set set it from V 141 if ( dimc == 0 ) { 142 dimc = posterior()._V().rows() - dimy - int ( have_constant == true ); 141 if(dimy>0) {//statistics is assigned 142 if (posterior()._V().rows()>dimy) {//statistics is assigned 143 rgrlen=posterior()._V().rows() - dimy - int ( have_constant == true ); 144 } 145 } else{ 146 bdm_error("No posterior or yrv assigned matrix assigned"); 143 147 } 144 145 if ( have_constant ) {146 dyad = ones ( dimy + dimc + 1 );147 } else {148 dyad = zeros ( dimy + dimc);148 dimc =rgrlen; 149 150 if(est._dimx()==0) { // no prior 151 est.set_parameters(dimy, zeros(dimy+rgrlen+int(have_constant==true))); 152 set_prior_default(est); 149 153 } 150 154 if (alter_est.dimension()==0) alter_est=est; 155 156 dyad = ones ( est._V().rows() ); 151 157 } 152 158 //! function sets prior and alternative density … … 194 200 195 201 void bayes ( const vec &val, const vec &cond ) { 196 int arx_cond_size=rgrlen -int(have_constant==true); 197 bdm_assert_debug(cond.size()>arx_cond_size, "ARXfrg: Insufficient conditioning, frg not given."); 198 frg = cond ( arx_cond_size ); // the first part after rgrlen 199 ARX::bayes ( val, cond.left(arx_cond_size) ); 202 bdm_assert_debug(cond.size()>rgrlen, "ARXfrg: Insufficient conditioning, frg not given."); 203 frg = cond ( rgrlen); // the first part after rgrlen 204 ARX::bayes ( val, cond.left(rgrlen) ); 200 205 } 201 206 void validate() {