Changeset 2f89d9e in tol


Ignore:
Timestamp:
Apr 13, 2009, 11:12:35 AM (18 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
2237f44
Parents:
7dd5275
Message:

Using new standard API method BysMcmc::GetCycler instead of direct Estim methods

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

Location:
tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/_oneNode.tol

    r7dd5275 r2f89d9e  
    3737  };
    3838
    39   Text _.autodoc.member.BuildModelDef =
    40   "Creates a BSR model definition with structure of BSR.ModelDef\n"
     39  ///////////////////////////////////////////////////////////////////////////
     40  Class ModelData
     41  ///////////////////////////////////////////////////////////////////////////
     42  {
     43    Code LPI = BysMcmc::Bsr::OneNode::LPI;
     44  //Mandatory members
     45    Set  _.docInfo;        //BSR.DocInfo
     46    Set _.linearParamInfo; //Set of Bsr.OneNode.LinearParamInfo
     47    VMatrix _.Y;           //Output data
     48    VMatrix _.X;           //Input data 
     49    Real _.sigma;          //Sigma prior value, or ? to freely simulate it
     50  //Optional members
     51    Text _.segmentName = "Obs";        //Node name
     52    Set _.orderRelation = Copy(Empty); //Set of Bsr.OrderRelation.Info\n"
     53    Set _.arima  = Copy(Empty);        //Set of ARIMAStruct\n"
     54    Real _.sigmaPriorWeight = 0;       //Weight for Bsr.Sigma.Prior.InverseGamma\n"
     55    Set _.timeInfo = Copy(Empty)       //BSR.NoiseTimeInfo\n"
     56  };
     57
     58  ///////////////////////////////////////////////////////////////////////////
     59  Text _.autodoc.member.GetCycler =
     60  "Creates a BysMcmc:Cycler for a generic OneNode model\n"
    4161  "Model must have just one node, usually observational and dense."
    4262  "Model is defined as a BSR basic and an optional set of non linear filters."
    43   "BSR will be built from simplified data argument matching this API"
    44   "NameBlock data = \n"
    45   "[[\n"
    46   "//Mandatory members \n"
    47   "  Set  _.docInfo         //BSR.DocInfo \n"
    48   "  Text _.segmentName;    //Node name\n"
    49   "  Set _.linearParamInfo; //Set of Bsr.OneNode.LinearParamInfo\n"
    50   "  Anything _.Y;          //Output data (Matrix or VMatrix)\n"
    51   "  Anything _.X;          //Input data (Matrix or VMatrix)\n"
    52   "  Real _.sigma;          //Sigma prior value, or ? to freely simulate it\n"
    53   "//Optional members \n"
    54   "  Set _.orderRelation;   //Set of Bsr.OrderRelation.Info\n"
    55   "  Set _.arima;           //Set of ARIMAStruct\n"
    56   "  Real _.sigmaPriorWeight;  //Weight for Bsr.Sigma.Prior.InverseGamma\n"
    57   "  Set _.timeInfo;        //BSR.NoiseTimeInfo\n"
    58   "]];\n";
    59   Set BuildModelDef(NameBlock data, Config config_)
    60   ///////////////////////////////////////////////////////////////////////////
    61   {
    62     Text _MID = "[EstimOneNode]";
     63  "BSR will be built from simplified data argument";
     64  Cycler GetCycler(ModelData data, Set nonLinFil, Config config_)
     65  ///////////////////////////////////////////////////////////////////////////
     66  {
     67    Text _MID = "[BysMcmc::Bsr::OneNode::GetCycler]";
    6368  //WriteLn(_MID+" TRACE 1");
    6469    //Output matrix
    65     VMatrix Y = If(ObjectExist("VMatrix","data::_.Y"),
    66       data::_.Y, Mat2VMat(data::_.Y,FALSE,1,0));
     70    VMatrix Y = data::_.Y;
    6771  //WriteLn(_MID+" TRACE 2");
    6872    //Input matrix
    69     VMatrix X = If(ObjectExist("VMatrix","data::_.X"),
    70       data::_.X, Mat2VMat(data::_.X,FALSE,1,0));
     73    VMatrix X = data::_.X;
    7174
    7275  //WriteLn(_MID+" TRACE 3");
    … …  
    236239  //WriteLn(_MID+" TRACE 9");
    237240    //Building generic model definition
    238     BSR.ModelDef (
     241    Set modelDef = BSR.ModelDef (
    239242      docInfo = data::_.docInfo,
    240243      linearBlock,
    … …  
    248251      VMatrix a = domain.a << order.a,
    249252      VMatrix A = domain.A << order.A
    250     )
    251   };
    252 
    253   Text _.autodoc.member.Estim =
    254   "Estimates a model with just one node, usually observational and dense."
    255   "Model is defined as a BSR basic and an optional set of non linear filters."
    256   "BSR will be built from simplified data argument matching this API"
    257   "NameBlock data = \n"
    258   "[[\n"
    259   "//Mandatory members \n"
    260   "  Set  _.docInfo         //BSR.DocInfo \n"
    261   "  Text _.segmentName;    //Node name\n"
    262   "  Set _.linearParamInfo; //Set of Bsr.OneNode.LinearParamInfo\n"
    263   "  Anything _.Y;          //Output data (Matrix or VMatrix)\n"
    264   "  Anything _.X;          //Input data  (Matrix or VMatrix)\n"
    265   "  Real _.sigma;          //Sigma prior value, or ? to freely simulate it\n"
    266   "//Optional members \n"
    267   "  Set _.orderRelation;   //Set of Bsr.OrderRelation.Info\n"
    268   "  Set _.arima;           //Set of ARIMAStruct\n"
    269   "  Real _.sigmaPriorWeight;  //Weight for Bsr.Sigma.Prior.InverseGamma\n"
    270   "  Set _.timeInfo;        //BSR.NoiseTimeInfo\n"
    271   "]];\n";
    272   Set Estim(NameBlock data, Set nonLinFil, Config config_)
    273   ///////////////////////////////////////////////////////////////////////////
    274   {
    275     Text _MID = "[EstimOneNode]";
    276     //Data source for model defining
    277     Set modelDef = BuildModelDef(data, config_);
    278     Set result = If(Not(config_::mcmc.sampleLength), [[data, modelDef]],
    279     {
    280     //WriteLn(_MID+" TRACE 10");
    281       //Calling BSR simulator
    282       Set aux = BysMcmc::Bsr::Gibbs::EstimParsed
    283       (
    284         modelDef,
    285         nonLinFil,
    286         config_,
    287         BysMcmc::NoNotifier(0)
    288       );
    289       //WriteLn(_MID+" TRACE 11");
    290       //Adding data source information
    291       [[data]]<<aux
    292     });
    293     //Checks unique name and prepares for hashed searching by name
    294     Real SetIndexByName(result);
     253    );
     254    BysMcmc::Cycler cycler = BysMcmc::Bsr::Gibbs::GetCyclerFromParsed
     255   (
     256      modelDef,
     257      nonLinFil,
     258      config_,
     259      BysMcmc::NoNotifier(0)
     260    );
     261    Set Append(cycler::auxInfo,[[data]]);
    295262  //WriteLn(_MID+" TRACE 12");
    296     result
    297   };
     263    cycler
     264  };
     265
     266  ///////////////////////////////////////////////////////////////////////////
     267  Class Probit
     268  ///////////////////////////////////////////////////////////////////////////
     269  {
     270    BysMcmc::Estimation _.estim;
     271    Matrix _.param;
    298272   
    299   ///////////////////////////////////////////////////////////////////////////
    300   Text _.autodoc.member.EstimProbit =
    301   "Estimates a probit model with just one node, usually observational and "
    302   "dense."
    303   "Model is defined as a BSR basic and an non linear ProbitFilter."
    304   "BSR will be built from simplified data argument matching the same API "
    305   "used by BysMcmc::Bsr::Gibbs::EstimOneNode, fixing _.sigma to 1"
    306   "NameBlock data = \n"
    307   "[[\n"
    308   "//Mandatory members \n"
    309   "  Set  _.docInfo         //BSR.DocInfo \n"
    310   "  Text _.segmentName;    //Node name\n"
    311   "  Set _.linearParamInfo; //Set of Bsr.OneNode.LinearParamInfo\n"
    312   "  Anything _.Y;          //Output data (Matrix or VMatrix)\n"
    313   "  Anything _.X;          //Input data (Matrix or VMatrix)\n"
    314   "  Real _.sigma = 1;      //Sigma value or ? to simulate it\n"
    315   "//Optional members \n"
    316   "  Set _.orderRelation;   //Set of Bsr.OrderRelation.Info\n"
    317   "  Set _.arima;           //Set of ARIMAStruct\n"
    318   "  Set _.timeInfo;        //Set of BSR.NoiseTimeInfo\n"
    319   "]];\n";
    320     NameBlock EstimProbit(NameBlock data, Config config_)
     273    //////////////////////////////////////////////////////////////////////////
     274    Text _.autodoc.member.GetProbPoint =
     275    "Returns output probabilities for given input matrix and parameters "
     276    "vector";
     277    Matrix GetProbPoint(Matrix X, Matrix beta)
     278    //////////////////////////////////////////////////////////////////////////
     279    {
     280      F01(X*beta)
     281    };
     282    //////////////////////////////////////////////////////////////////////////
     283    Text _.autodoc.member.GetProbAvg =
     284    "Returns output probabilities for given input matrix and average vector "
     285    "of simulated parameters";
     286    Matrix GetProbAvg(Matrix X)
     287    //////////////////////////////////////////////////////////////////////////
     288    {
     289      GetProbPoint(X,_.param)
     290    };
     291    //////////////////////////////////////////////////////////////////////////
     292    Text _.autodoc.member.GetProb =
     293    "Returns output probabilities for given input matrix integrated "
     294    "over all simulated vectors of parameters";
     295    Matrix GetProb(Matrix X)
     296    ////////////////////////////////////////////////////////////////////////
     297    {
     298      Real numSim = Rows(_.estim::report::mcmc);
     299      Matrix prob = Rand(Rows(X),1,0,0);
     300      Set For(1,numSim,Real (Real sim)
     301      {
     302        Matrix pr=GetProbPoint(X,Tra(SubRow(_.estim::report::mcmc,[[sim]])));
     303        Matrix prob := prob + pr;
     304        0
     305      });
     306      prob*(1/numSim)
     307    }
     308  };
     309
     310  ///////////////////////////////////////////////////////////////////////////
     311  Text _.autodoc.member.GetCyclerProbit =
     312  "Creates a BysMcmc:Cycler for a probit OneNode model\n"
     313  "Model is defined as a BSR basic and an non linear ProbitFilter.";
     314  Cycler GetCyclerProbit(ModelData data, Config config_)
    321315  //////////////////////////////////////////////////////////////////////////////
    322316  {
    … …  
    328322      Real enabled = True,
    329323      data::_.segmentName,
    330       data::_.Y,
     324      VMat2Mat(data::_.Y),
    331325      UnknownDate,
    332326      UnknownDate)
    333327    ]]};
     328    BysMcmc::Cycler cycler = BysMcmc::Bsr::OneNode::GetCycler
     329      (data, nonLinFil, config_);
     330    cycler
     331  };
     332
     333  ///////////////////////////////////////////////////////////////////////////
     334  Text _.autodoc.member.GetProbit =
     335  "Creates a BysMcmc::Bsr::OneNode::Probit object from an estimated model";
     336  Probit GetProbit(Estimation estim)
     337  //////////////////////////////////////////////////////////////////////////////
     338  {
     339    BysMcmc::Bsr::OneNode::Probit probit =
    334340    [[
    335       Set _.estim = BysMcmc::Bsr::OneNode::Estim
    336         (data, nonLinFil, config_);
    337       Matrix _.param = If(Not(config_::mcmc.sampleLength), Rand(0,0,0,0),
    338                           Tra(_.estim::param.average));
    339      
    340       //////////////////////////////////////////////////////////////////////////
    341       Text _.autodoc.member.GetProbPoint =
    342       "Returns output probabilities for given input matrix and parameters "
    343       "vector";
    344       Matrix GetProbPoint(Matrix X, Matrix beta)
    345       //////////////////////////////////////////////////////////////////////////
    346       {
    347         F01(X*beta)
    348       };
    349       //////////////////////////////////////////////////////////////////////////
    350       Text _.autodoc.member.GetProbAvg =
    351       "Returns output probabilities for given input matrix and average vector "
    352       "of simulated parameters";
    353       Matrix GetProbAvg(Matrix X)
    354       //////////////////////////////////////////////////////////////////////////
    355       {
    356         GetProbPoint(X,_.param)
    357       };
    358       //////////////////////////////////////////////////////////////////////////
    359       Text _.autodoc.member.GetProb =
    360       "Returns output probabilities for given input matrix integrated "
    361       "over all simulated vectors of parameters";
    362       Matrix GetProb(Matrix X)
    363       ////////////////////////////////////////////////////////////////////////
    364       {
    365         Real numSim = Rows(_.estim::report::mcmc);
    366         Matrix prob = Rand(Rows(X),1,0,0);
    367         Set For(1,numSim,Real (Real sim)
    368         {
    369           Matrix pr=GetProbPoint(X,Tra(SubRow(_.estim::report::mcmc,[[sim]])));
    370           Matrix prob := prob + pr;
    371           0
    372         });
    373         prob*(1/numSim)
    374       }
     341      BysMcmc::Estimation _.estim = estim;
     342      Matrix _.param = If(Not(_.estim::cycler::_.config::mcmc.sampleLength),
     343                          Rand(0,0,0,0),
     344                          Tra(_.estim::param.average))
    375345    ]]
    376346  }
     347
    377348]];
  • tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.estim.tol

    r7dd5275 r2f89d9e  
    88////////////////////////////////////////////////////////////////////////////
    99//Stores in database CODA report information of a given estimation
    10 Real SaveParamStats(Text dbName, Text model, Text session, Set estim)
     10Real SaveParamStats(Text dbName, Text model, Text session, Estimation estim)
    1111////////////////////////////////////////////////////////////////////////////
    1212{
    … …  
    208208};
    209209
     210////////////////////////////////////////////////////////////////////////////
     211Notifier DBNotifier(Text dbName,
     212                    Text model,
     213                    Text session)
     214////////////////////////////////////////////////////////////////////////////
     215{
     216  //Creates the data base notifier of current status
     217  BysMcmc::Notifier dbNotifier =
     218  [[
     219    Text _.dbName = dbName;
     220    Text _.model  = model;
     221    Text _.session  = session;
     222    Real _.nErr = Copy(NError);
     223    Real _.nWar = Copy(NWarning);
     224    NameBlock _table = BysMcmc::Bsr::DynHlm::DBApi::_.table;
     225
     226    //Generic events notifier
     227    Real notify_messages(Real unused)
     228    {
     229      Real DBExecQuery(
     230      "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
     231      "SET nu_error = "+IntText(NError-_.nErr)+" \n"+
     232      "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
     233      Real DBExecQuery(
     234      "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
     235      "SET nu_warning = "+IntText(NWarning-_.nWar)+" \n"+
     236      "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
     237      1
     238    };
     239    //Generic events notifier
     240    Real notify_process(Text processField)
     241    {
     242      WriteLn("[dbNotifier] notify_process("+processField+")");
     243      Real notify_messages(0);
     244      Real DBExecQuery(
     245      "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
     246      "SET "+processField+" = "+
     247      BysMcmc::Bsr::DynHlm::DBApi::SqlFormatDate(Now)+" \n"+
     248      "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
     249      1
     250    };
     251
     252    //Model load event notifier
     253    Real loading(Real unused)
     254    {
     255      Real notify_process("dh_loading")
     256    };
     257    //Model parser event notifier
     258    Real parsing(Real unused)
     259    {
     260      Real notify_process("dh_parsing")
     261    };
     262    //Initialization event notifier
     263    Real initializing(Real numVar, Text path)
     264    {
     265      Real notify_process("dh_initializing");
     266      Real DBExecQuery(
     267      "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
     268      "SET nu_mcmc_var = "+IntText(numVar)+" \n"+
     269      "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
     270      Real DBExecQuery(
     271      "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
     272      "SET te_path_data_out = '"+path+"' \n"+
     273      "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
     274      1
     275    };
     276    //Simulation events notifier
     277    Real simulating(Real numSim, Real timeAvg)
     278    {
     279      Real If(!numSim, notify_process("dh_simulating"), notify_messages(0));
     280      Real DBExecQuery(
     281      "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
     282      "SET nu_mcmc_currentLength = "+IntText(numSim)+" \n"+
     283      "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
     284      Real DBExecQuery(
     285      "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
     286      "SET vl_mcmc_time_avg = "<<timeAvg+" \n"+
     287      "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
     288      1
     289    };
     290    //Report event notifier
     291    Real reporting(Real unused)
     292    {
     293      Real notify_process("dh_reporting")
     294    };
     295    //Evaluation event notifier
     296    Real evaluating(Real unused)
     297    {
     298      Real notify_process("dh_evaluating")
     299    };
     300    //Evaluation event notifier
     301    Real saving(Real unused)
     302    {
     303      Real notify_process("dh_saving")
     304    };
     305    //Process termination event notifier
     306    Real ending(Real unused)
     307    {
     308      Real notify_process("dh_ending");
     309      BysMcmc::Bsr::DynHlm::DBApi::ModSes.SetBlocked(
     310        _.dbName, _.model, _.session, false);
     311      1
     312    }
     313  ]]
     314};
     315
    210316
    211317////////////////////////////////////////////////////////////////////////////
    … …  
    214320//Returns the MCMC, the CODA report and the evaluation time series and
    215321//effects using parameter average.
    216 Set Estim(Text dbName,
    217           Text model,
    218           Text session,
    219           Text resultRootPath,
    220           NameBlock seriesHandler,
    221           NameBlock config)
     322Cycler GetCycler(Text dbName,
     323                 Text model,
     324                 Text session,
     325                 Text resultRootPath,
     326                 NameBlock seriesHandler,
     327                 NameBlock config)
    222328////////////////////////////////////////////////////////////////////////////
    223329{
    … …  
    253359    "NULL)");  //dh_ending
    254360
    255   //Creates the data base notifier of current status
    256   BysMcmc::Notifier dbNotifier =
    257   [[
    258     Text _.dbName = dbName;
    259     Text _.model  = model;
    260     Text _.session  = session;
    261     Real _.nErr = Copy(NError);
    262     Real _.nWar = Copy(NWarning);
    263 
    264     //Generic events notifier
    265     Real notify_messages(Real unused)
    266     {
    267       Real DBExecQuery(
    268       "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
    269       "SET nu_error = "+IntText(NError-_.nErr)+" \n"+
    270       "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
    271       Real DBExecQuery(
    272       "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
    273       "SET nu_warning = "+IntText(NWarning-_.nWar)+" \n"+
    274       "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
    275       1
    276     };
    277     //Generic events notifier
    278     Real notify_process(Text processField)
    279     {
    280       WriteLn("[dbNotifier] notify_process("+processField+")");
    281       Real notify_messages(0);
    282       Real DBExecQuery(
    283       "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
    284       "SET "+processField+" = "+
    285       BysMcmc::Bsr::DynHlm::DBApi::SqlFormatDate(Now)+" \n"+
    286       "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
    287       1
    288     };
    289 
    290     //Model load event notifier
    291     Real loading(Real unused)
    292     {
    293       Real notify_process("dh_loading")
    294     };
    295     //Model parser event notifier
    296     Real parsing(Real unused)
    297     {
    298       Real notify_process("dh_parsing")
    299     };
    300     //Initialization event notifier
    301     Real initializing(Real numVar, Text path)
    302     {
    303       Real notify_process("dh_initializing");
    304       Real DBExecQuery(
    305       "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
    306       "SET nu_mcmc_var = "+IntText(numVar)+" \n"+
    307       "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
    308       Real DBExecQuery(
    309       "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
    310       "SET te_path_data_out = '"+path+"' \n"+
    311       "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
    312       1
    313     };
    314     //Simulation events notifier
    315     Real simulating(Real numSim, Real timeAvg)
    316     {
    317       Real If(!numSim, notify_process("dh_simulating"), notify_messages(0));
    318       Real DBExecQuery(
    319       "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
    320       "SET nu_mcmc_currentLength = "+IntText(numSim)+" \n"+
    321       "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
    322       Real DBExecQuery(
    323       "UPDATE "+_.dbName+"."+_table::EstimStatus+"\n"+
    324       "SET vl_mcmc_time_avg = "<<timeAvg+" \n"+
    325       "WHERE id_model='"+_.model+"' AND id_session='"+_.session+"';");
    326       1
    327     };
    328     //Report event notifier
    329     Real reporting(Real unused)
    330     {
    331       Real notify_process("dh_reporting")
    332     };
    333     //Evaluation event notifier
    334     Real evaluating(Real unused)
    335     {
    336       Real notify_process("dh_evaluating")
    337     };
    338     //Evaluation event notifier
    339     Real saving(Real unused)
    340     {
    341       Real notify_process("dh_saving")
    342     };
    343     //Process termination event notifier
    344     Real ending(Real unused)
    345     {
    346       Real notify_process("dh_ending");
    347       BysMcmc::Bsr::DynHlm::DBApi::ModSes.SetBlocked(
    348         _.dbName, _.model, _.session, false);
    349       1
    350     }
    351   ]];
    352 
     361  BysMcmc::Notifier dbNotifier = DBNotifier(dbName,model,session);
    353362  Real dbNotifier::loading(0);
    354363  NameBlock model.def = BysMcmc::Bsr::DynHlm::DBApi::LoadModelDef
    … …  
    360369    seriesHandler
    361370  );
    362   Set bsr.estim_ = BysMcmc::Bsr::Gibbs::EstimAndNotify
    363   ( model.def, config, dbNotifier);
    364   Set bsr.estim = If(Not(config::do.linear.effects),bsr.estim_,
     371  BysMcmc::Cycler cycler =
     372    BysMcmc::Bsr::Gibbs::GetCycler(model.def, config, dbNotifier);
     373  Set Append(cycler::auxInfo, [[series.handler]]);
     374  cycler
     375};
     376
     377////////////////////////////////////////////////////////////////////////////
     378Real CloseModel(Estimation estim)
     379////////////////////////////////////////////////////////////////////////////
     380{
     381  BysMcmc::Config config = estim::cycler::_.config;
     382  Real If(config::do.linear.effects,
    365383  {
    366     Set linear.effects = GetLinearBlkEffects(
    367       bsr.estim_::report::colNames,
    368       bsr.estim_::param.average,
    369       bsr.estim_::sampler,
    370       series.handler);
    371     bsr.estim_ << [[linear.effects]]
     384    Set estim::linear.effects := GetLinearBlkEffects(
     385      estim::report::colNames,
     386      estim::param.average,
     387      estim::cycler::_.sampler,
     388      estim::cycler::auxInfo::series.handler);
     389    1
    372390  });
    373   Real SetIndexByName(bsr.estim);
    374391  Real If(config::do.save.DBApi.Estim.Oza,
    375392  {
    376     Real dbNotifier::saving(0);
    377     Real Ois.Store(bsr.estim, bsr.estim::ascii+".estim.oza");
     393    Real estim::cycler::_.notifier::saving(0);
     394    Real Ois.Store([[estim]], estim::cycler::auxInfo::ascii+".estim.oza");
    378395    1
    379396  });
    380397  Real If(config::do.report,BysMcmc::Bsr::DynHlm::DBApi::SaveParamStats
    381398  (
    382     dbName,
    383     id_model,
    384     id_session,
    385     bsr.estim
     399    estim::cycler::_.notifier::_.dbName,
     400    estim::cycler::_.notifier::_.model,
     401    estim::cycler::_.notifier::_.session,
     402    estim
    386403  ));
    387   Real dbNotifier::ending(0);
    388   bsr.estim
     404  Real estim::cycler::_.notifier::ending(0);
     405  1
    389406};
    390407
Note: See TracChangeset for help on using the changeset viewer.