Changeset 990 for library/bdm/estim/arx.cpp
- Timestamp:
- 05/26/10 18:42:26 (14 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/estim/arx.cpp
r979 r990 4 4 void ARX::bayes_weighted ( const vec &yt, const vec &cond, const double w ) { 5 5 6 bdm_assert_debug ( yt.length() == dimy, "ARX::bayes yt is smaller then dimensiony()");7 bdm_assert_debug ( (cond.length() == rgrlen - int(have_constant==true)) , "ARX::bayes dimension of cond is not rgrlen");6 bdm_assert_debug ( yt.length() == dimy, "ARX::bayes yt is of size "+num2str(yt.length())+" expected dimension is "+num2str(dimy) ); 7 bdm_assert_debug ( cond.length() == rgrlen , "ARX::bayes cond is of size "+num2str(cond.length())+" expected dimension is "+num2str(rgrlen) ); 8 8 double lnc; 9 9 //cache … … 227 227 dimy = yrv._dsize(); 228 228 bdm_assert(dimy>0,"ARX::yrv should not be empty"); 229 // rgrlen - including constant!!!230 229 rgrlen = rgr._dsize(); 231 230 … … 238 237 dimc = rgrlen; 239 238 rvc = rgr; 240 rgrlen += int ( have_constant == true );241 239 242 240 //init 243 241 shared_ptr<egiw> pri = UI::build<egiw> ( set, "prior", UI::optional ); 244 242 if (pri) 243 set_prior(pri.get()); 244 245 245 shared_ptr<egiw> alt = UI::build<egiw> ( set, "alternative", UI::optional ); 246 246 if ( alt ) { 247 247 bdm_assert ( alt->_dimx() == dimy, "alternative is not compatible" ); 248 bdm_assert ( alt->_V().rows() == dimy + rgrlen , "alternative is not compatible" );248 bdm_assert ( alt->_V().rows() == dimy + rgrlen + int(have_constant==true), "alternative is not compatible" ); 249 249 alter_est.set_parameters ( alt->_dimx(), alt->_V(), alt->_nu() ); 250 250 alter_est.validate(); … … 258 258 if ( eg ) { 259 259 bdm_assert ( eg->_dimx() == dimy, "prior is not compatible" ); 260 bdm_assert ( eg->_V().rows() == dimy + rgrlen , "prior is not compatible" );260 bdm_assert ( eg->_V().rows() == dimy + rgrlen + int(have_constant==true), "prior is not compatible" ); 261 261 est.set_parameters ( eg->_dimx(), eg->_V(), eg->_nu() ); 262 262 est.validate(); 263 263 } else { 264 est.set_parameters ( dimy, zeros ( dimy + rgrlen ) ); 265 est.validate(); 264 est.set_parameters ( dimy, zeros ( dimy + rgrlen +int(have_constant==true)) ); 266 265 set_prior_default ( est ); 267 266 }