Changeset 40a7081 in tol
- Timestamp:
- Mar 27, 2009, 11:59:53 AM (18 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 96696c3
- Parents:
- 44ae460
- Location:
- tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs
- Files:
-
- 1 added
- 5 edited
-
_basicMaster.tol (modified) (8 diffs)
-
_gibbs.tol (modified) (1 diff)
-
_inputMissingBlock.tol (modified) (1 diff)
-
_mainLinearBlock.tol (added)
-
_outputMissingBlock.tol (modified) (1 diff)
-
_stdLinearBlock.tol (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_basicMaster.tol
r44ae460 r40a7081 32 32 Text _.autodoc.description="Gibbs sampler for model "+_.name; 33 33 Text _MID = "[BSR."+_.name+"] "; 34 NameBlock _. lin.blk = BysMcmc::Bsr::Gibbs::StdLinearBlock34 NameBlock _.mln.blk = BysMcmc::Bsr::Gibbs::MainLinearBlock 35 35 ( 36 36 "BSR.MainLinBlock."+_.name, … … 46 46 _.modelDef->NoiseDistrib, 47 47 2, 48 _. lin.blk::_.blockDef::_.lastCol+1,48 _.mln.blk::_.blockDef::_.lastCol+1, 49 49 _config 50 50 ); … … 79 79 Set _.blocks = 80 80 [[ 81 _. lin.blk,81 _.mln.blk, 82 82 _.sig.blk, 83 83 _.arm.blk, … … 199 199 //////////////////////////////////////////////////////////////////////////// 200 200 { 201 //WriteLn("TRACE"+_MID+" _.lin.blk.init 1");201 //WriteLn("TRACE"+_MID+" init 1"); 202 202 Matrix aux=SetCol(EvalSet(_.modelDef->LinearBlock,Real(BSR.LinearBlock b) 203 203 { b->InitialValue })); 204 204 VMatrix _.YplusV := _.outMis.blk::filter(_.Y); 205 //WriteLn("TRACE"+_MID+" _.lin.blk.init 6");205 //WriteLn("TRACE"+_MID+" init 6"); 206 206 VMatrix _.XplusU := _.inpMis.blk::filter(_.modelDef->X); 207 //WriteLn("TRACE"+_MID+" _.lin.blk.init 2");207 //WriteLn("TRACE"+_MID+" init 2"); 208 208 VMatrix beta0 = findMatchingBeta(Mat2VMat(aux)); 209 //WriteLn("TRACE"+_MID+" _.lin.blk.init 3");210 Real ok = _. lin.blk::initialize(beta0, _.modelDef->A, _.modelDef->a);211 //WriteLn("TRACE"+_MID+" _.lin.blk.init 4");212 VMatrix _.beta := _. lin.blk::_.blockDef::_.store;209 //WriteLn("TRACE"+_MID+" init 3"); 210 Real ok = _.mln.blk::initialize(beta0, _.modelDef->A, _.modelDef->a); 211 //WriteLn("TRACE"+_MID+" init 4"); 212 VMatrix _.beta := _.mln.blk::getStore(0); 213 213 Real DoExternalFilter(0); 214 214 VMatrix sig_0 = _.sig.blk::draw(0, _.Y - _.modelDef->X*_.beta); 215 //WriteLn("TRACE"+_MID+" _.lin.blk.init 7");215 //WriteLn("TRACE"+_MID+" init 7"); 216 216 VMatrix _.filter := _.XplusU*_.beta; 217 217 VMatrix _.noise := _.YplusV-_.filter; … … 263 263 VMatrix X01 = _.arm.blk::filter(si*_.XplusU); 264 264 //WriteLn("TRACE"+_MID+" draw.sig.lin 8"); 265 VMatrix _.beta := If(Not(_.lin.blk::_.blockDef::_.numCol),Rand(0,1,0,0), 266 { 267 Real _.lin.blk::solve(numSim, Y01, X01); 268 _.lin.blk::draw(numSim, Y01, X01) 269 }); 265 VMatrix _.beta := If(Not(_.mln.blk::_.N),Rand(0,1,0,0), 266 _.mln.blk::draw(numSim, Y01, X01)); 270 267 //WriteLn("TRACE"+_MID+" draw.sig.lin 9"); 271 268 _.beta << sig << arm << im << om … … 309 306 VMatrix X01 = _.arm.blk::filter(si*_.XplusU); 310 307 //WriteLn("TRACE"+_MID+" draw.sig.lin 8"); 311 VMatrix _.beta := If(Not(_. lin.blk::_.blockDef::_.numCol),Rand(0,1,0,0),312 _. lin.blk::maxLikelihood(numSim, Y01, X01));308 VMatrix _.beta := If(Not(_.mln.blk::_.N),Rand(0,1,0,0), 309 _.mln.blk::maxLikelihood(numSim, Y01, X01)); 313 310 //WriteLn("TRACE"+_MID+" draw.sig.lin 9"); 314 311 _.beta << sig << arm << im << om … … 397 394 VMatrix _.XplusU := _.inpMis.blk::filter(_.modelDef->X); 398 395 //WriteLn("TRACE"+_MID+" eval 4"); 399 VMatrix _.beta := _. lin.blk::_.blockDef::_.store;396 VMatrix _.beta := _.mln.blk::getStore(0); 400 397 VMatrix fullFilter = _.modelDef->X*_.beta; 401 398 VMatrix fullFilter.full = _.XplusU*_.beta; … … 767 764 //////////////////////////////////////////////////////////////////////////// 768 765 { 769 NameBlock lin = _. lin.blk::_.blockDef;766 NameBlock lin = _.mln.blk::_.lin.blk::_.blockDef; 770 767 NameBlock sig = _.sig.blk::_.blockDef; 771 768 -
tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_gibbs.tol
r44ae460 r40a7081 15 15 Set _linBlk = Include("_stdLinearBlock.tol"); 16 16 Code StdLinearBlock; 17 18 //Linear blocks related methods 19 Set _mnlBlk = Include("_mainLinearBlock.tol"); 20 Code MainLinearBlock; 17 21 18 22 //Sigma block related methods -
tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_inputMissingBlock.tol
r44ae460 r40a7081 211 211 NameBlock ls = buildLinearSystem(arima,si,beta,Z); 212 212 Real _.lin.blk::solve(numSim, ls::Y01, ls::X01); 213 VMatrix _.blockDef::_.store := _.lin.blk::draw(numSim , ls::Y01, ls::X01);213 VMatrix _.blockDef::_.store := _.lin.blk::draw(numSim); 214 214 _.blockDef::_.store 215 215 }) -
tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_outputMissingBlock.tol
r44ae460 r40a7081 192 192 NameBlock ls = buildLinearSystem(arima,si,Z); 193 193 Real _.lin.blk::solve(numSim, ls::Y01, ls::X01); 194 VMatrix _.blockDef::_.store := _.lin.blk::draw(numSim , ls::Y01, ls::X01);194 VMatrix _.blockDef::_.store := _.lin.blk::draw(numSim); 195 195 _.blockDef::_.store 196 196 }) -
tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_stdLinearBlock.tol
r44ae460 r40a7081 288 288 Text _.autodoc.member.draw = 289 289 "Draws a simulation of a linear block in current case, constrained or not"; 290 VMatrix draw(Real numSim , VMatrix Y, VMatrix X)290 VMatrix draw(Real numSim) 291 291 //////////////////////////////////////////////////////////////////////////// 292 292 { 293 293 If(_.blockDef::enabled, 294 294 { 295 //Real solve(numSim,Y,X);296 295 VMatrix aux = _drawer(numSim); 297 296 //WriteLn("TRACE "+_MID+" draw");
Note: See TracChangeset
for help on using the changeset viewer.
