Changeset e06a79e in tol


Ignore:
Timestamp:
Apr 9, 2010, 10:21:08 AM (17 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
3e558bb
Parents:
b9fb9df
Message:

Mejora del método accept_reject

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@2089 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol_tests/tol/ARIMA/mcmc/mtrymh.tol

    rb9fb9df re06a79e  
    126126
    127127  ////////////////////////////////////////////////////////////////////////////
    128   VMatrix accept_reject(VMatrix y, Real pi_logDens_y)
     128  Real accept_reject(VMatrix y)
    129129  ////////////////////////////////////////////////////////////////////////////
    130130  {
    … …  
    133133    Real If(_.accept,
    134134    {
    135       Real _.num_accept := _.num_accept +1;
    136135      VMatrix _.x := Copy(y);
    137       Real _.pi_logDens_x := pi_logDens_y
     136      Real doAfterDraw(0);
     137      Real _.num_accept := _.num_accept +1
    138138    });
    139139    Real _.acceptRatio := _.num_accept / _.num_draw;
    … …  
    147147      Real _.s := _.s*_.sFactor
    148148    });
    149 
    150     Real doAfterDraw(0);
    151     _.x
     149    _.accept
    152150  };
    153151
    … …  
    160158    VMatrix y = Q_draw(_.x);
    161159    Real pi_logDens_y = pi_logDens(y);
    162     Real cumulate(y,pi_logDens_y,False);
    163 
    164160    Real _.r := Min(1, If(_.simetricQ,
    165161    {
    … …  
    170166          (_.pi_logDens_x + Q_logDens(_.x,   y)) )
    171167    }));
    172     accept_reject(y,pi_logDens_y)
     168    Real If(accept_reject(y), _.pi_logDens_x := pi_logDens_y);
     169    _.x
    173170  };
    174171
    … …  
    251248    Real _.r := Min(1,Exp(lwYjx_max-lwXjy_max)*(gYjx_sum/gXjy_sum));
    252249  //WriteLn("TRACE draw _.r=\n"<<_.r);
    253     Real pi_logDens_y = pi_logDens(y);
    254     accept_reject(y,pi_logDens_y)
     250    Real accept_reject(y);
     251    y
    255252  })}
    256253};
    … …  
    701698Real TolOprProfiler.Enabled := True;
    702699While(numSim<2500, append_draw(mtm_arima::draw_multiple_try(0)));
    703 Real TolOprProfiler.Dump("draw_multiple_try.02.csv");
     700Real TolOprProfiler.Dump("draw_multiple_try.03.csv");
    704701Real mtm.time = (Copy(Time) - mtm.t0)/numSim;
    705702WriteLn("Time by MTM simulation "<<mtm.time);
Note: See TracChangeset for help on using the changeset viewer.