Changeset 2fa3a27 in tol for doc


Ignore:
Timestamp:
Sep 30, 2009, 1:23:45 PM (17 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
ea3e834
Parents:
eccc7ea
Message:

Documentación de la nueva API modular

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

Location:
doc/modeling/BSR
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • doc/modeling/BSR/BSR_P2_S3_Formato_ASCII_BSR.lyx

    reccc7ea r2fa3a27  
    1 #LyX 1.5.3 created this file. For more info see http://www.lyx.org/
    2 \lyxformat 276
     1#LyX 1.6.0 created this file. For more info see http://www.lyx.org/
     2\lyxformat 345
    33\begin_document
    44\begin_header
    … …  
    2828\hypersetup{urlbordercolor=0 0 0,pdfborder=0 0 1 [3 2]}
    2929\end_preamble
     30\use_default_options false
     31\begin_modules
     32theorems-ams
     33\end_modules
    3034\language spanish
    3135\inputencoding auto
    … …  
    3842\font_sf_scale 100
    3943\font_tt_scale 100
     44
    4045\graphics default
    4146\paperfontsize default
    4247\spacing single
     48\use_hyperref false
    4349\papersize default
    4450\use_geometry false
    … …  
    6571
    6672\begin_layout Chapter
    67 \begin_inset LatexCommand label
     73\begin_inset CommandInset label
     74LatexCommand label
    6875name "cha:El-formato-ASCII-BSR"
    6976
    … …  
    8491\begin_layout Standard
    8592La estructura de datos que deine un modelo básico BSR explicada en
    86 \begin_inset LatexCommand ref
     93\begin_inset CommandInset ref
     94LatexCommand ref
    8795reference "sec:Método-BysMcmc::Bsr::Gibbs::BasicMaster()"
    8896
    … …  
    110118\begin_layout Standard
    111119En los directorios test_01, test_02 y test_03 disponibles en
    112 \begin_inset LatexCommand htmlurl
    113 target "http://cvs.tol-project.org/viewcvs.cgi/tol/stdlib/math/stat/models/bayesian/bysMcmc/"
     120\begin_inset Flex URL
     121status collapsed
     122
     123\begin_layout Plain Layout
     124
     125http://cvs.tol-project.org/viewcvs.cgi/tol/stdlib/math/stat/models/bayesian/bysMcmc
     126/
     127\end_layout
    114128
    115129\end_inset
    … …  
    134148status open
    135149
    136 \begin_layout Standard
    137 
    138 ////////////////////////////////////////////////////////////////////////////////
    139 \end_layout
    140 
    141 \begin_layout Standard
     150\begin_layout Plain Layout
     151
     152///////////////////////////////////////////////////////////////////////////////
     153\end_layout
     154
     155\begin_layout Plain Layout
    142156
    143157// Bayesian Sparsed Regression
    144158\end_layout
    145159
    146 \begin_layout Standard
    147 
    148 ////////////////////////////////////////////////////////////////////////////////
    149 \end_layout
    150 
    151 \begin_layout Standard
    152 
    153 \end_layout
    154 
    155 \begin_layout Standard
     160\begin_layout Plain Layout
     161
     162///////////////////////////////////////////////////////////////////////////////
     163\end_layout
     164
     165\begin_layout Plain Layout
     166
     167\end_layout
     168
     169\begin_layout Plain Layout
     170
     171$BEGIN
     172\end_layout
     173
     174\begin_layout Plain Layout
     175
     176\end_layout
     177
     178\begin_layout Plain Layout
    156179
    157180Model.Name = "bysMcmc.test_03";
    158181\end_layout
    159182
    160 \begin_layout Standard
     183\begin_layout Plain Layout
    161184
    162185Model.Description =
    163186\end_layout
    164187
    165 \begin_layout Standard
     188\begin_layout Plain Layout
    166189
    167190"Randomly generation of a hierarchycal lineal model with these simple
    … …  
    170193\end_layout
    171194
    172 \begin_layout Standard
     195\begin_layout Plain Layout
    173196
    174197"structure:
    … …  
    177200\end_layout
    178201
    179 \begin_layout Standard
     202\begin_layout Plain Layout
    180203
    181204"  1: a set of K1 observational nodes with the same number n of variables
    … …  
    184207\end_layout
    185208
    186 \begin_layout Standard
     209\begin_layout Plain Layout
    187210
    188211"     and data length m
    … …  
    191214\end_layout
    192215
    193 \begin_layout Standard
     216\begin_layout Plain Layout
    194217
    195218"  2: a set of n latent nodes with one central parameter for each distinct
    … …  
    198221\end_layout
    199222
    200 \begin_layout Standard
     223\begin_layout Plain Layout
    201224
    202225"     observational variable with specified standard deviation
    … …  
    205228\end_layout
    206229
    207 \begin_layout Standard
     230\begin_layout Plain Layout
    208231
    209232"  3: a central prior equation for each latent variable with specified
    … …  
    212235\end_layout
    213236
    214 \begin_layout Standard
     237\begin_layout Plain Layout
    215238
    216239"     standard deviation
    … …  
    219242\end_layout
    220243
    221 \begin_layout Standard
     244\begin_layout Plain Layout
    222245
    223246"  4: a set of sparse linear inequalities over the observational variables
    … …  
    226249\end_layout
    227250
    228 \begin_layout Standard
     251\begin_layout Plain Layout
    229252
    230253"";
    231254\end_layout
    232255
    233 \begin_layout Standard
     256\begin_layout Plain Layout
    234257
    235258Session.Name = "RS_1483339472";
    236259\end_layout
    237260
    238 \begin_layout Standard
     261\begin_layout Plain Layout
    239262
    240263Session.Description =
    241264\end_layout
    242265
    243 \begin_layout Standard
     266\begin_layout Plain Layout
    244267
    245268"Random seed=1483339472";
    246269\end_layout
    247270
    248 \begin_layout Standard
     271\begin_layout Plain Layout
    249272
    250273Session.Authors = "vdebuen@tol-project.org";
    251274\end_layout
    252275
    253 \begin_layout Standard
    254 
    255 \end_layout
    256 
    257 \begin_layout Standard
     276\begin_layout Plain Layout
     277
     278\end_layout
     279
     280\begin_layout Plain Layout
    258281
    259282////////////////////////////////////////////////////////////////////////////////
    260283\end_layout
    261284
    262 \begin_layout Standard
     285\begin_layout Plain Layout
    263286
    264287// Regression Variables Declarations with initial values
    265288\end_layout
    266289
    267 \begin_layout Standard
     290\begin_layout Plain Layout
    268291
    269292////////////////////////////////////////////////////////////////////////////////
    270293\end_layout
    271294
    272 \begin_layout Standard
    273 
    274 \end_layout
    275 
    276 \begin_layout Standard
     295\begin_layout Plain Layout
     296
     297\end_layout
     298
     299\begin_layout Plain Layout
    277300
    278301NodeObs.1_Var.1 <- +0.53803037013858557;
    279302\end_layout
    280303
    281 \begin_layout Standard
     304\begin_layout Plain Layout
    282305
    283306NodeObs.1_Var.2 <- +0.46934376657009125;
    284307\end_layout
    285308
    286 \begin_layout Standard
     309\begin_layout Plain Layout
    287310
    288311NodeObs.1_Var.3 <- -0.22560517396777868;
    289312\end_layout
    290313
    291 \begin_layout Standard
     314\begin_layout Plain Layout
    292315
    293316NodeObs.2_Var.1 <- +0.86625403119251132;
    294317\end_layout
    295318
    296 \begin_layout Standard
     319\begin_layout Plain Layout
    297320
    298321NodeObs.2_Var.2 <- -0.15567512763664126;
    299322\end_layout
    300323
    301 \begin_layout Standard
     324\begin_layout Plain Layout
    302325
    303326NodeObs.2_Var.3 <- -0.075121806003153324;
    304327\end_layout
    305328
    306 \begin_layout Standard
     329\begin_layout Plain Layout
    307330
    308331NodeLat.1_Var.nu <- +0.15836594998836517;
    309332\end_layout
    310333
    311 \begin_layout Standard
     334\begin_layout Plain Layout
    312335
    313336NodeLat.2_Var.nu <- -0.85943601280450821;
    314337\end_layout
    315338
    316 \begin_layout Standard
     339\begin_layout Plain Layout
    317340
    318341NodeLat.3_Var.nu <- +0.18600673880428076;
    319342\end_layout
    320343
    321 \begin_layout Standard
    322 
    323 \end_layout
    324 
    325 \begin_layout Standard
     344\begin_layout Plain Layout
     345
     346\end_layout
     347
     348\begin_layout Plain Layout
    326349
    327350////////////////////////////////////////////////////////////////////////////////
    328351\end_layout
    329352
    330 \begin_layout Standard
     353\begin_layout Plain Layout
    331354
    332355// Regression Missing Input Declarations
    333356\end_layout
    334357
    335 \begin_layout Standard
     358\begin_layout Plain Layout
    336359
    337360////////////////////////////////////////////////////////////////////////////////
    338361\end_layout
    339362
    340 \begin_layout Standard
    341 
    342 \end_layout
    343 
    344 \begin_layout Standard
     363\begin_layout Plain Layout
     364
     365\end_layout
     366
     367\begin_layout Plain Layout
    345368
    346369MissInp.NodeObs.3.13 ? ~ Normal(0.896203693933785,0.2007952652551403);
    347370\end_layout
    348371
    349 \begin_layout Standard
     372\begin_layout Plain Layout
    350373
    351374MissInp.NodeObs.6.30 ? ~ Normal(0.6046165255829692,0.09139028575200531);
    352375\end_layout
    353376
    354 \begin_layout Standard
     377\begin_layout Plain Layout
    355378
    356379MissInp.NodeObs.3.2 ? ~ TruncatedNormal(0.9820013050921261,0.2410816408006598,0,9.8200
    … …  
    358381\end_layout
    359382
    360 \begin_layout Standard
     383\begin_layout Plain Layout
    361384
    362385MissInp.NodeObs.5.40 ? ~ Normal(-0.7318465355783701,0.1338998379095156);
    363386\end_layout
    364387
    365 \begin_layout Standard
    366 
    367 \end_layout
    368 
    369 \begin_layout Standard
     388\begin_layout Plain Layout
     389
     390\end_layout
     391
     392\begin_layout Plain Layout
    370393
    371394////////////////////////////////////////////////////////////////////////////////
    372395\end_layout
    373396
    374 \begin_layout Standard
     397\begin_layout Plain Layout
    375398
    376399// Regression Missing Output Declarations
    377400\end_layout
    378401
    379 \begin_layout Standard
     402\begin_layout Plain Layout
    380403
    381404////////////////////////////////////////////////////////////////////////////////
    382405\end_layout
    383406
    384 \begin_layout Standard
    385 
    386 \end_layout
    387 
    388 \begin_layout Standard
     407\begin_layout Plain Layout
     408
     409\end_layout
     410
     411\begin_layout Plain Layout
    389412
    390413MissOut.NodeObs.31 ? <- -0.4157893265383703;
    391414\end_layout
    392415
    393 \begin_layout Standard
     416\begin_layout Plain Layout
    394417
    395418MissOut.NodeObs.40 ? <- -0.3029720514576624;
    396419\end_layout
    397420
    398 \begin_layout Standard
    399 
    400 \end_layout
    401 
    402 \begin_layout Standard
     421\begin_layout Plain Layout
     422
     423\end_layout
     424
     425\begin_layout Plain Layout
    403426
    404427////////////////////////////////////////////////////////////////////////////////
    405428\end_layout
    406429
    407 \begin_layout Standard
     430\begin_layout Plain Layout
    408431
    409432// Regression Residuals Declarations Normal(0,sigma^2)
    410433\end_layout
    411434
    412 \begin_layout Standard
     435\begin_layout Plain Layout
    413436
    414437////////////////////////////////////////////////////////////////////////////////
    415438\end_layout
    416439
    417 \begin_layout Standard
    418 
    419 \end_layout
    420 
    421 \begin_layout Standard
     440\begin_layout Plain Layout
     441
     442\end_layout
     443
     444\begin_layout Plain Layout
    422445
    423446NodeObs.1_Residuals[20 dating Daily from y2008m08d09 until y2008m08d28] ~
    … …  
    426449\end_layout
    427450
    428 \begin_layout Standard
     451\begin_layout Plain Layout
    429452
    430453NodeObs.2_Residuals[20 dating Daily from y2008m08d09 until y2008m08d28] ~
    … …  
    433456\end_layout
    434457
    435 \begin_layout Standard
     458\begin_layout Plain Layout
    436459
    437460NodeLat.1_Residuals[2] ~ Normal(0,0.03276045051869933);
    438461\end_layout
    439462
    440 \begin_layout Standard
     463\begin_layout Plain Layout
    441464
    442465NodeLat.2_Residuals[2] ~ Normal(0,0.030080604978733022);
    443466\end_layout
    444467
    445 \begin_layout Standard
     468\begin_layout Plain Layout
    446469
    447470NodeLat.3_Residuals[2] ~ Normal(0,0.010264774427016805);
    448471\end_layout
    449472
    450 \begin_layout Standard
     473\begin_layout Plain Layout
    451474
    452475NodePri.1_Residuals[3] ~ Normal(0,0.011844979275860658);
    453476\end_layout
    454477
    455 \begin_layout Standard
    456 
    457 \end_layout
    458 
    459 \begin_layout Standard
     478\begin_layout Plain Layout
     479
     480\end_layout
     481
     482\begin_layout Plain Layout
    460483
    461484////////////////////////////////////////////////////////////////////////////////
    462485\end_layout
    463486
    464 \begin_layout Standard
     487\begin_layout Plain Layout
    465488
    466489// Regression equations
    467490\end_layout
    468491
    469 \begin_layout Standard
     492\begin_layout Plain Layout
    470493
    471494////////////////////////////////////////////////////////////////////////////////
    472495\end_layout
    473496
    474 \begin_layout Standard
    475 
    476 \end_layout
    477 
    478 \begin_layout Standard
     497\begin_layout Plain Layout
     498
     499\end_layout
     500
     501\begin_layout Plain Layout
    479502
    480503+5.2435581658297865 == NodeObs.1_Residuals[1]; //Reg.Equ.1
    481504\end_layout
    482505
    483 \begin_layout Standard
     506\begin_layout Plain Layout
    484507
    485508+2.1913126132131682 == NodeObs.1_Residuals[2]+MissInp.NodeObs.3.2*NodeObs.1_Var.3
    … …  
    487510\end_layout
    488511
    489 \begin_layout Standard
     512\begin_layout Plain Layout
    490513
    491514+0.12304427448649291 == NodeObs.1_Residuals[3]+0.63090779585763812*NodeObs.1_Var.1
    … …  
    493516\end_layout
    494517
    495 \begin_layout Standard
     518\begin_layout Plain Layout
    496519
    497520-2.6088045980742529 == NodeObs.1_Residuals[4]-0.66879721963778138*NodeObs.1_Var.2
    … …  
    499522\end_layout
    500523
    501 \begin_layout Standard
     524\begin_layout Plain Layout
    502525
    503526-6.0452993628906073 == NodeObs.1_Residuals[5]; //Reg.Equ.5
    504527\end_layout
    505528
    506 \begin_layout Standard
     529\begin_layout Plain Layout
    507530
    508531-6.3822864805891921 == NodeObs.1_Residuals[6]+0.95094704767689109*NodeObs.1_Var.1
    … …  
    510533\end_layout
    511534
    512 \begin_layout Standard
     535\begin_layout Plain Layout
    513536
    514537-6.6295145939371594 == NodeObs.1_Residuals[7]+0.93608348118141294*NodeObs.1_Var.1
    … …  
    516539\end_layout
    517540
    518 \begin_layout Standard
     541\begin_layout Plain Layout
    519542
    520543-5.5561393799341996 == NodeObs.1_Residuals[8]+0.7666153940372169*NodeObs.1_Var.2
    … …  
    522545\end_layout
    523546
    524 \begin_layout Standard
     547\begin_layout Plain Layout
    525548
    526549-3.1295982695386888 == NodeObs.1_Residuals[9]-0.56221867958083749*NodeObs.1_Var.1
    … …  
    528551\end_layout
    529552
    530 \begin_layout Standard
     553\begin_layout Plain Layout
    531554
    532555+0.76951244117245921 == NodeObs.1_Residuals[10]; //Reg.Equ.10
    533556\end_layout
    534557
    535 \begin_layout Standard
     558\begin_layout Plain Layout
    536559
    537560+2.9132946114405867 == NodeObs.1_Residuals[11]+0.95396953029558063*NodeObs.1_Var.3
    … …  
    539562\end_layout
    540563
    541 \begin_layout Standard
     564\begin_layout Plain Layout
    542565
    543566+5.7416648977148181 == NodeObs.1_Residuals[12]-0.95996885281056166*NodeObs.1_Var.3
    … …  
    545568\end_layout
    546569
    547 \begin_layout Standard
     570\begin_layout Plain Layout
    548571
    549572+6.3831794474164543 == NodeObs.1_Residuals[13]-0.64427804760634899*NodeObs.1_Var.2
    … …  
    551574\end_layout
    552575
    553 \begin_layout Standard
     576\begin_layout Plain Layout
    554577
    555578+4.0282180180201248 == NodeObs.1_Residuals[14]-0.90212121233344078*NodeObs.1_Var.1
    … …  
    557580\end_layout
    558581
    559 \begin_layout Standard
     582\begin_layout Plain Layout
    560583
    561584+4.3505297967804113 == NodeObs.1_Residuals[15]+0.85422466974705458*NodeObs.1_Var.1
    … …  
    563586\end_layout
    564587
    565 \begin_layout Standard
     588\begin_layout Plain Layout
    566589
    567590-1.8762849597824245 == NodeObs.1_Residuals[16]-0.71285796910524368*NodeObs.1_Var.1
    … …  
    569592\end_layout
    570593
    571 \begin_layout Standard
     594\begin_layout Plain Layout
    572595
    573596-5.6888365292228968 == NodeObs.1_Residuals[17]+0.98112034006044269*NodeObs.1_Var.2
    … …  
    575598\end_layout
    576599
    577 \begin_layout Standard
     600\begin_layout Plain Layout
    578601
    579602-8.3673617279440613 == NodeObs.1_Residuals[18]; //Reg.Equ.18
    580603\end_layout
    581604
    582 \begin_layout Standard
     605\begin_layout Plain Layout
    583606
    584607-8.0537960538725955 == NodeObs.1_Residuals[19]+0.52584361424669623*NodeObs.1_Var.2
    … …  
    586609\end_layout
    587610
    588 \begin_layout Standard
     611\begin_layout Plain Layout
    589612
    590613-5.9263487197705214 == NodeObs.1_Residuals[20]-0.96396565064787865*NodeObs.1_Var.2
    … …  
    592615\end_layout
    593616
    594 \begin_layout Standard
     617\begin_layout Plain Layout
    595618
    596619-0.6068887599917272 == NodeObs.2_Residuals[1]+0.56295138271525502*NodeObs.2_Var.2
    … …  
    598621\end_layout
    599622
    600 \begin_layout Standard
     623\begin_layout Plain Layout
    601624
    602625+2.0939562031264218 == NodeObs.2_Residuals[2]+0.65345998154953122*NodeObs.2_Var.1
    … …  
    604627\end_layout
    605628
    606 \begin_layout Standard
     629\begin_layout Plain Layout
    607630
    608631+0.60038804953399949 == NodeObs.2_Residuals[3]-0.84704046417027712*NodeObs.2_Var.2
    … …  
    610633\end_layout
    611634
    612 \begin_layout Standard
     635\begin_layout Plain Layout
    613636
    614637-1.0713915154528588 == NodeObs.2_Residuals[4]-0.93844964541494846*NodeObs.2_Var.1
    … …  
    616639\end_layout
    617640
    618 \begin_layout Standard
     641\begin_layout Plain Layout
    619642
    620643-0.32125826101136556 == NodeObs.2_Residuals[5]+0.51997147314250469*NodeObs.2_Var.1
    … …  
    622645\end_layout
    623646
    624 \begin_layout Standard
     647\begin_layout Plain Layout
    625648
    626649-0.54762880703286565 == NodeObs.2_Residuals[6]-0.50578109361231327*NodeObs.2_Var.1
    … …  
    628651\end_layout
    629652
    630 \begin_layout Standard
     653\begin_layout Plain Layout
    631654
    632655+2.4653275135908528 == NodeObs.2_Residuals[7]+0.54335346445441246*NodeObs.2_Var.1
    … …  
    635658\end_layout
    636659
    637 \begin_layout Standard
     660\begin_layout Plain Layout
    638661
    639662+0.52714812684114365 == NodeObs.2_Residuals[8]+0.95070930058136582*NodeObs.2_Var.1
    … …  
    641664\end_layout
    642665
    643 \begin_layout Standard
     666\begin_layout Plain Layout
    644667
    645668-1.0270370273766312 == NodeObs.2_Residuals[9]-0.88577614538371563*NodeObs.2_Var.1
    … …  
    647670\end_layout
    648671
    649 \begin_layout Standard
     672\begin_layout Plain Layout
    650673
    651674+0.25652362241255156 == NodeObs.2_Residuals[10]-0.61568234255537391*NodeObs.2_Var.2
    … …  
    653676\end_layout
    654677
    655 \begin_layout Standard
     678\begin_layout Plain Layout
    656679
    657680+MissOut.NodeObs.31 == NodeObs.2_Residuals[11]-0.73601436568424106*NodeObs.2_Var.3
    … …  
    659682\end_layout
    660683
    661 \begin_layout Standard
     684\begin_layout Plain Layout
    662685
    663686+0.38486138593475 == NodeObs.2_Residuals[12]; //Reg.Equ.32
    664687\end_layout
    665688
    666 \begin_layout Standard
     689\begin_layout Plain Layout
    667690
    668691-0.1153939096162494 == NodeObs.2_Residuals[13]-0.52979899849742651*NodeObs.2_Var.1
    … …  
    670693\end_layout
    671694
    672 \begin_layout Standard
     695\begin_layout Plain Layout
    673696
    674697+0.20153337099189605 == NodeObs.2_Residuals[14]; //Reg.Equ.34
    675698\end_layout
    676699
    677 \begin_layout Standard
     700\begin_layout Plain Layout
    678701
    679702-0.60618407368998284 == NodeObs.2_Residuals[15]-0.61933115171268582*NodeObs.2_Var.1
    … …  
    681704\end_layout
    682705
    683 \begin_layout Standard
     706\begin_layout Plain Layout
    684707
    685708+1.0049067997452399 == NodeObs.2_Residuals[16]+0.86020477814599872*NodeObs.2_Var.2
    … …  
    687710\end_layout
    688711
    689 \begin_layout Standard
     712\begin_layout Plain Layout
    690713
    691714-0.72396483131240752 == NodeObs.2_Residuals[17]+0.87632823176681995*NodeObs.2_Var.3
    … …  
    693716\end_layout
    694717
    695 \begin_layout Standard
     718\begin_layout Plain Layout
    696719
    697720+0.27870237026751166 == NodeObs.2_Residuals[18]; //Reg.Equ.38
    698721\end_layout
    699722
    700 \begin_layout Standard
     723\begin_layout Plain Layout
    701724
    702725-0.74122059405715657 == NodeObs.2_Residuals[19]-0.75435957591980696*NodeObs.2_Var.1
    … …  
    704727\end_layout
    705728
    706 \begin_layout Standard
     729\begin_layout Plain Layout
    707730
    708731+MissOut.NodeObs.40 == NodeObs.2_Residuals[20]-0.72136184806004167*NodeObs.2_Var.1
    … …  
    710733\end_layout
    711734
    712 \begin_layout Standard
     735\begin_layout Plain Layout
    713736
    7147370 == NodeLat.1_Residuals[1]-NodeObs.1_Var.1 +NodeLat.1_Var.nu ; //Reg.Equ.41
    715738\end_layout
    716739
    717 \begin_layout Standard
     740\begin_layout Plain Layout
    718741
    7197420 == NodeLat.1_Residuals[2]-NodeObs.2_Var.1 +NodeLat.1_Var.nu ; //Reg.Equ.42
    720743\end_layout
    721744
    722 \begin_layout Standard
     745\begin_layout Plain Layout
    723746
    7247470 == NodeLat.2_Residuals[1]-NodeObs.1_Var.2 +NodeLat.2_Var.nu ; //Reg.Equ.43
    725748\end_layout
    726749
    727 \begin_layout Standard
     750\begin_layout Plain Layout
    728751
    7297520 == NodeLat.2_Residuals[2]-NodeObs.2_Var.2 +NodeLat.2_Var.nu ; //Reg.Equ.44
    730753\end_layout
    731754
    732 \begin_layout Standard
     755\begin_layout Plain Layout
    733756
    7347570 == NodeLat.3_Residuals[1]-NodeObs.1_Var.3 +NodeLat.3_Var.nu ; //Reg.Equ.45
    735758\end_layout
    736759
    737 \begin_layout Standard
     760\begin_layout Plain Layout
    738761
    7397620 == NodeLat.3_Residuals[2]-NodeObs.2_Var.3 +NodeLat.3_Var.nu ; //Reg.Equ.46
    740763\end_layout
    741764
    742 \begin_layout Standard
     765\begin_layout Plain Layout
    743766
    744767-0.6096816505305469 == NodePri.1_Residuals[1]-NodeLat.1_Var.nu ; //Reg.Equ.47
    745768\end_layout
    746769
    747 \begin_layout Standard
     770\begin_layout Plain Layout
    748771
    749772+0.66229855222627521 == NodePri.1_Residuals[2]-NodeLat.2_Var.nu ; //Reg.Equ.48
    750773\end_layout
    751774
    752 \begin_layout Standard
     775\begin_layout Plain Layout
    753776
    754777+0.46403526607900858 == NodePri.1_Residuals[3]-NodeLat.3_Var.nu ; //Reg.Equ.49
    755778\end_layout
    756779
    757 \begin_layout Standard
    758 
    759 \end_layout
    760 
    761 \begin_layout Standard
     780\begin_layout Plain Layout
     781
     782\end_layout
     783
     784\begin_layout Plain Layout
    762785
    763786////////////////////////////////////////////////////////////////////////////////
    764787\end_layout
    765788
    766 \begin_layout Standard
     789\begin_layout Plain Layout
    767790
    768791// Restriction inequations
    769792\end_layout
    770793
    771 \begin_layout Standard
     794\begin_layout Plain Layout
    772795
    773796////////////////////////////////////////////////////////////////////////////////
    774797\end_layout
    775798
    776 \begin_layout Standard
    777 
    778 \end_layout
    779 
    780 \begin_layout Standard
     799\begin_layout Plain Layout
     800
     801\end_layout
     802
     803\begin_layout Plain Layout
    781804
    782805+1.1888731951872438 >= +NodeObs.1_Var.1 ;
    783806\end_layout
    784807
    785 \begin_layout Standard
     808\begin_layout Plain Layout
    786809
    787810+0.50465998947620394 >= +NodeObs.1_Var.2 ;
    788811\end_layout
    789812
    790 \begin_layout Standard
     813\begin_layout Plain Layout
    791814
    792815-0.21083058095071464 >= +NodeObs.1_Var.3 ;
    793816\end_layout
    794817
    795 \begin_layout Standard
     818\begin_layout Plain Layout
    796819
    797820+0.9361133812088519 >= +NodeObs.2_Var.1 ;
    798821\end_layout
    799822
    800 \begin_layout Standard
     823\begin_layout Plain Layout
    801824
    802825-0.13837098166579381 >= +NodeObs.2_Var.2 ;
    803826\end_layout
    804827
    805 \begin_layout Standard
     828\begin_layout Plain Layout
    806829
    807830-0.0033603257639333584 >= +NodeObs.2_Var.3 ;
    808831\end_layout
    809832
    810 \begin_layout Standard
     833\begin_layout Plain Layout
    811834
    812835+1.1404310412146701 >= +NodeObs.1_Var.1 ;
    813836\end_layout
    814837
    815 \begin_layout Standard
     838\begin_layout Plain Layout
    816839
    817840+0.52799691481748601 >= +NodeObs.1_Var.2 ;
    818841\end_layout
    819842
    820 \begin_layout Standard
     843\begin_layout Plain Layout
    821844
    822845-0.73132390667684377 >= -NodeObs.1_Var.1 +NodeObs.1_Var.3 ;
    823846\end_layout
    824847
    825 \begin_layout Standard
     848\begin_layout Plain Layout
    826849
    827850+1.3114740782628398 >= -NodeObs.1_Var.2 +NodeObs.2_Var.1 ;
    828851\end_layout
    829852
    830 \begin_layout Standard
     853\begin_layout Plain Layout
    831854
    832855+0.13644857598003002 >= -NodeObs.1_Var.3 +NodeObs.2_Var.2 ;
    833856\end_layout
    834857
    835 \begin_layout Standard
     858\begin_layout Plain Layout
    836859
    837860-0.86476675785612311 >= -NodeObs.2_Var.1 +NodeObs.2_Var.3 ;
    838861\end_layout
    839862
    840 \begin_layout Standard
    841 
     863\begin_layout Plain Layout
     864
     865\end_layout
     866
     867\begin_layout Plain Layout
     868
     869$END
     870\end_layout
     871
     872\end_inset
     873
     874
     875\end_layout
     876
     877\begin_layout Section
     878API modular
     879\begin_inset CommandInset label
     880LatexCommand label
     881name "sec:API-modular"
     882
     883\end_inset
     884
     885
     886\end_layout
     887
     888\begin_layout Standard
     889Desde la versión 2.0.1 de TOL es posible definir un modelo BSR de forma modular
     890 para resolver tres problemas fundamentales:
     891\end_layout
     892
     893\begin_layout Enumerate
     894Por una parte, escribir explícitamente las ecuaciones de nodos observacionales
     895 densos y grandes es demasiado lento.
     896 (Ver ticket #634)
     897\end_layout
     898
     899\begin_layout Enumerate
     900Por otra parte, los modelos masivos con multitud de nodos requieren demasiados
     901 recursos si se intentan cargar monolíticamente.
     902 (Ver ticket #628)
     903\end_layout
     904
     905\begin_layout Enumerate
     906Además, la sintaxis actual no incorpora los filtros no lineales por loque
     907 los medelos están inclompletos y no pueden ser ejecutados en sesiones TOL
     908 ulteriores.
     909\end_layout
     910
     911\begin_layout Standard
     912Para resolver estos problemas se plantea un nuevo esquema en el que la idea
     913 inicial será tener tres tipos de módulos o archivos ASCII-BSR:
     914\end_layout
     915
     916\begin_layout Enumerate
     917
     918\emph on
     919primary
     920\emph default
     921: los módulos primarios son capaces de leer un sólo segmento de regresión
     922 (nodo en el argot jerárquico) basándose en código TOL para la construcción
     923 de la matriz.
     924 Normalmente lo usaremos para nodos densos observacionales pero eso a BSR
     925 no le importa en absoluto, pues no sabe qué cosa es observacional ni latente
     926 ni nada.
     927 En esos módulos sólo cabe pues un nodo, con su declaración de variables
     928 lineales y missing, estructura de la varianza (sigma-ARIMA), sus filtros
     929 no lineales y sus restricciones de desigualdad internas, es decir, todo
     930 aquello que no afecta a ningún otro.
     931 Un módulo primario puede funcionar de forma autónoma, por ejemplo cuando
     932 queremos simular un nodo observacional por sí mismo, sin tener en cuenta
     933 estructuras jerárquicas, a priori, ni nada por el estilo, aunque eso no
     934 creo que se dé muy a menudo, pues lo normal es que la menos haya información
     935 a priori.
     936 
     937\end_layout
     938
     939\begin_layout Enumerate
     940
     941\emph on
     942joint
     943\emph default
     944: los módulos de mezcla serían los actualmente permitidos, llamados así
     945 por su capacidad de mezclar variables de varios segmentos de regresión.
     946 Pueden funcionar autónomamente como hasta ahora, definiendo todas las variables
     947 y ecuaciones de forma explícita, o bien integrarse dentro de un módulo
     948 máster que se encargue de cargar previamente las variables de las que depende.
     949 
     950\end_layout
     951
     952\begin_layout Enumerate
     953
     954\emph on
     955master
     956\emph default
     957: los módulos maestros simplemente incluyen a otros módulos de cualquier
     958 tipo, incluidos otros maestros, si se desea tener los modelos estructurados
     959 en varios niveles, de forma que en cada nivel cada uno de los sub-master
     960 podría ser ejecutado autónomamente.
     961\end_layout
     962
     963\begin_layout Subsection
     964Estructura del módulo primario
     965\end_layout
     966
     967\begin_layout Standard
     968Un módulos primario se definirá del siguiente modo:
     969\end_layout
     970
     971\begin_layout Enumerate
     972En primer lugar se incluye una cláusula que indique el tipo de módulo que
     973 se va a definir
     974\begin_inset listings
     975inline false
     976status open
     977
     978\begin_layout Plain Layout
     979
     980Module.Type = primary;
     981\end_layout
     982
     983\end_inset
     984
     985
     986\end_layout
     987
     988\begin_layout Enumerate
     989Las variables del bloque lineal se definen con la misma sintaxis que rige
     990 actualmente para el módulo joint.
     991\end_layout
     992
     993\begin_layout Enumerate
     994El segmento de regresión es único pero se define con la misma sintaxis que
     995 en el módulo joint.
     996 En ambos casos hay una novedad: la posibilidad de introducir los filtros
     997 no lineales si los hay en la propia definición del ruido.
     998 La estructura del campo
     999\family typewriter
     1000NoiseDistrib
     1001\family default
     1002 será distinta a la actual
     1003\family typewriter
     1004BSR.NoiseDistrib
     1005\family default
     1006 para que pueda incluir un nuevo campo en el que almacenar los filtros no
     1007 lineales.
     1008 
     1009\end_layout
     1010
     1011\begin_layout Enumerate
     1012Luego se introducirán la matriz de output y la de input.
     1013 El orden de definición de las variables del bloque lineal debe coincidir
     1014 con el orden de las columnas en la matriz de inputs.
     1015\end_layout
     1016
     1017\begin_layout Enumerate
     1018Después se introducirán si las hay, las variables de omitidos con una sintaxis
     1019 simular a la de los módulos joint pero añadiéndoles la información de su
     1020 ubicación en las matrices de input u output, las cuales deberían tener
     1021 un valor omitido en la celda correspondiente, cosa que debe por tanto comprobar
     1022se.
     1023 
     1024\end_layout
     1025
     1026\begin_layout Enumerate
     1027Por último se añadirán si las hay, las restricciones de desigualdad sobre
     1028 las variables del bloque lineal.
     1029\end_layout
     1030
     1031\begin_layout Standard
     1032Obviamente el Import deberá saber que está escribiendo un módulo primario
     1033 y pedir las matrices en lugar de los coeficientes así como la ubicación
     1034 de los omitidos.
     1035\end_layout
     1036
     1037\begin_layout Standard
     1038A continuación se presenta una plantilla de cómo podría quedar el fichero
     1039 ASCII de un módulo primario.
     1040\end_layout
     1041
     1042\begin_layout Standard
     1043\begin_inset listings
     1044lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}"
     1045inline false
     1046status open
     1047
     1048\begin_layout Plain Layout
     1049\align left
     1050
     1051/////////////////////////////////////////////////////////////////////////////
     1052\end_layout
     1053
     1054\begin_layout Plain Layout
     1055\align left
     1056
     1057// Bayesian Sparse Regression
     1058\end_layout
     1059
     1060\begin_layout Plain Layout
     1061\align left
     1062
     1063/////////////////////////////////////////////////////////////////////////////
     1064\end_layout
     1065
     1066\begin_layout Plain Layout
     1067
     1068\end_layout
     1069
     1070\begin_layout Plain Layout
     1071\align left
     1072
     1073$BEGIN
     1074\end_layout
     1075
     1076\begin_layout Plain Layout
     1077\align left
     1078
     1079\end_layout
     1080
     1081\begin_layout Plain Layout
     1082\align left
     1083
     1084Module.Type = primary;
     1085\end_layout
     1086
     1087\begin_layout Plain Layout
     1088\align left
     1089
     1090\end_layout
     1091
     1092\begin_layout Plain Layout
     1093\align left
     1094
     1095Model.Name = "...";
     1096\end_layout
     1097
     1098\begin_layout Plain Layout
     1099\align left
     1100
     1101Model.Description = "...";
     1102\end_layout
     1103
     1104\begin_layout Plain Layout
     1105\align left
     1106
     1107Session.Name = "...";
     1108\end_layout
     1109
     1110\begin_layout Plain Layout
     1111\align left
     1112
     1113Session.Description = "...";
     1114\end_layout
     1115
     1116\begin_layout Plain Layout
     1117\align left
     1118
     1119Session.Authors = "...";
     1120\end_layout
     1121
     1122\begin_layout Plain Layout
     1123\align left
     1124
     1125\end_layout
     1126
     1127\begin_layout Plain Layout
     1128\align left
     1129
     1130/////////////////////////////////////////////////////////////////////////////
     1131\end_layout
     1132
     1133\begin_layout Plain Layout
     1134\align left
     1135
     1136// Defining header of Regression Variables
     1137\end_layout
     1138
     1139\begin_layout Plain Layout
     1140\align left
     1141
     1142/////////////////////////////////////////////////////////////////////////////
     1143\end_layout
     1144
     1145\begin_layout Plain Layout
     1146
     1147\end_layout
     1148
     1149\begin_layout Plain Layout
     1150\align left
     1151
     1152LinearBlk::<node_name>::<variable-name>::Coef <-
     1153\end_layout
     1154
     1155\begin_layout Plain Layout
     1156\align left
     1157
     1158  {+ or -}<initial value or ?>;
     1159\end_layout
     1160
     1161\begin_layout Plain Layout
     1162\align left
     1163
     1164...
     1165\end_layout
     1166
     1167\begin_layout Plain Layout
     1168\align left
     1169
     1170LinearBlk::<node_name>::<variable-name>::Coef <-
     1171\end_layout
     1172
     1173\begin_layout Plain Layout
     1174\align left
     1175
     1176  {+ or -}<initial value or ?>;
     1177\end_layout
     1178
     1179\begin_layout Plain Layout
     1180\align left
     1181
     1182\end_layout
     1183
     1184\begin_layout Plain Layout
     1185\align left
     1186
     1187/////////////////////////////////////////////////////////////////////////////
     1188\end_layout
     1189
     1190\begin_layout Plain Layout
     1191\align left
     1192
     1193// Defining header of Noise Distribution
     1194\end_layout
     1195
     1196\begin_layout Plain Layout
     1197\align left
     1198
     1199/////////////////////////////////////////////////////////////////////////////
     1200\end_layout
     1201
     1202\begin_layout Plain Layout
     1203
     1204\end_layout
     1205
     1206\begin_layout Plain Layout
     1207\align left
     1208
     1209<node_name>::Noise [length and optional time info]   
     1210\end_layout
     1211
     1212\begin_layout Plain Layout
     1213\align left
     1214
     1215~ <distribution>
     1216\end_layout
     1217
     1218\begin_layout Plain Layout
     1219\align left
     1220
     1221// Optional defininition of Non Linear Filters   
     1222\end_layout
     1223
     1224\begin_layout Plain Layout
     1225\align left
     1226
     1227with non linear flters {'Set of NameBlock's expresion'}; 
     1228\end_layout
     1229
     1230\begin_layout Plain Layout
     1231\align left
     1232
     1233\end_layout
     1234
     1235\begin_layout Plain Layout
     1236\align left
     1237
     1238/////////////////////////////////////////////////////////////////////////////
     1239\end_layout
     1240
     1241\begin_layout Plain Layout
     1242\align left
     1243
     1244// Defining Regression Equations
     1245\end_layout
     1246
     1247\begin_layout Plain Layout
     1248\align left
     1249
     1250/////////////////////////////////////////////////////////////////////////////
     1251\end_layout
     1252
     1253\begin_layout Plain Layout
     1254
     1255\end_layout
     1256
     1257\begin_layout Plain Layout
     1258\align left
     1259
     1260Output = {'Matrix or VMatrix expresion'};
     1261\end_layout
     1262
     1263\begin_layout Plain Layout
     1264\align left
     1265
     1266Input = {'Matrix or VMatrix expresion'};
     1267\end_layout
     1268
     1269\begin_layout Plain Layout
     1270
     1271\end_layout
     1272
     1273\begin_layout Plain Layout
     1274\align left
     1275
     1276/////////////////////////////////////////////////////////////////////////////
     1277\end_layout
     1278
     1279\begin_layout Plain Layout
     1280\align left
     1281
     1282// Optional defininition of Ouput Missing Variables
     1283\end_layout
     1284
     1285\begin_layout Plain Layout
     1286\align left
     1287
     1288/////////////////////////////////////////////////////////////////////////////
     1289\end_layout
     1290
     1291\begin_layout Plain Layout
     1292
     1293\end_layout
     1294
     1295\begin_layout Plain Layout
     1296\align left
     1297
     1298MissingBlk::<MIXTURE or node name>::<missing_name> ?
     1299\end_layout
     1300
     1301\begin_layout Plain Layout
     1302\align left
     1303
     1304  at row <row_index> for output
     1305\end_layout
     1306
     1307\begin_layout Plain Layout
     1308\align left
     1309
     1310  ~ <distribution>;
     1311\end_layout
     1312
     1313\begin_layout Plain Layout
     1314\align left
     1315
     1316...
     1317\end_layout
     1318
     1319\begin_layout Plain Layout
     1320\align left
     1321
     1322MissingBlk::<MIXTURE or node name>::<missing_name> ?
     1323\end_layout
     1324
     1325\begin_layout Plain Layout
     1326\align left
     1327
     1328  at row <row_index> for output
     1329\end_layout
     1330
     1331\begin_layout Plain Layout
     1332\align left
     1333
     1334  ~ <distribution>;
     1335\end_layout
     1336
     1337\begin_layout Plain Layout
     1338\align left
     1339
     1340\end_layout
     1341
     1342\begin_layout Plain Layout
     1343\align left
     1344
     1345/////////////////////////////////////////////////////////////////////////////
     1346\end_layout
     1347
     1348\begin_layout Plain Layout
     1349\align left
     1350
     1351// Defining defininition of Input Missing Variables
     1352\end_layout
     1353
     1354\begin_layout Plain Layout
     1355\align left
     1356
     1357/////////////////////////////////////////////////////////////////////////////
     1358\end_layout
     1359
     1360\begin_layout Plain Layout
     1361
     1362\end_layout
     1363
     1364\begin_layout Plain Layout
     1365\align left
     1366
     1367MissingBlk::<MIXTURE or node name>::<missing_name> ?
     1368\end_layout
     1369
     1370\begin_layout Plain Layout
     1371\align left
     1372
     1373  at row <row_index> for input <column_index>
     1374\end_layout
     1375
     1376\begin_layout Plain Layout
     1377\align left
     1378
     1379  ~ <distribution>;
     1380\end_layout
     1381
     1382\begin_layout Plain Layout
     1383\align left
     1384
     1385...
     1386 
     1387\end_layout
     1388
     1389\begin_layout Plain Layout
     1390\align left
     1391
     1392MissingBlk::<MIXTURE or node name>::<missing_name> ?
     1393\end_layout
     1394
     1395\begin_layout Plain Layout
     1396\align left
     1397
     1398  at row <row_index> for input <column_index>
     1399\end_layout
     1400
     1401\begin_layout Plain Layout
     1402\align left
     1403
     1404  ~ <distribution>;
     1405\end_layout
     1406
     1407\begin_layout Plain Layout
     1408\align left
     1409
     1410\end_layout
     1411
     1412\begin_layout Plain Layout
     1413\align left
     1414
     1415/////////////////////////////////////////////////////////////////////////////
     1416\end_layout
     1417
     1418\begin_layout Plain Layout
     1419\align left
     1420
     1421// Defining Parameter Constraints
     1422\end_layout
     1423
     1424\begin_layout Plain Layout
     1425\align left
     1426
     1427/////////////////////////////////////////////////////////////////////////////
     1428\end_layout
     1429
     1430\begin_layout Plain Layout
     1431
     1432\end_layout
     1433
     1434\begin_layout Plain Layout
     1435\align left
     1436
     1437{+|-}<number> {<=|>=}
     1438\end_layout
     1439
     1440\begin_layout Plain Layout
     1441\align left
     1442
     1443  {+|-}<number>*LinearBlk::<node_name>::<variable-name>::Coef
     1444\end_layout
     1445
     1446\begin_layout Plain Layout
     1447\align left
     1448
     1449  ...
     1450 
     1451\end_layout
     1452
     1453\begin_layout Plain Layout
     1454\align left
     1455
     1456  {+|-}<number>*LinearBlk::<node_name>::<variable-name>::Coef;
     1457\end_layout
     1458
     1459\begin_layout Plain Layout
     1460\align left
     1461
     1462...
     1463\end_layout
     1464
     1465\begin_layout Plain Layout
     1466\align left
     1467
     1468\end_layout
     1469
     1470\begin_layout Plain Layout
     1471\align left
     1472
     1473$END
     1474\end_layout
     1475
     1476\end_inset
     1477
     1478
     1479\end_layout
     1480
     1481\begin_layout Subsection
     1482Cambios en la estructura del módulo joint
     1483\end_layout
     1484
     1485\begin_layout Standard
     1486El módulo joint se queda prácticamente como está con estas salvedades:
     1487\end_layout
     1488
     1489\begin_layout Enumerate
     1490Es posible, aunque no obligatorio por compatibilidad hacia atrás, especificar
     1491 el tipo de módulo en la cabecera del archivo:
     1492\begin_inset listings
     1493inline false
     1494status open
     1495
     1496\begin_layout Plain Layout
     1497
     1498Module.Type = joint;
     1499\end_layout
     1500
     1501\end_inset
     1502
     1503
     1504\end_layout
     1505
     1506\begin_layout Enumerate
     1507En un módulo joint puede aparecer una referencia a una variable que ha sido
     1508 definida en otro módulo previo.
     1509 El reconocedor sintáctico permitirá pues que aparezcan en las ecuaciones
     1510 e inecuaciones variables no definidas.
     1511 En la estructura BSR.LinearBlock se añade un campo Real Extern cuyo valor
     1512 será puesto a TRUE en estos casos para que puedan resolverse más tarde
     1513 las referencias.
     1514\end_layout
     1515
     1516\begin_layout Subsection
     1517Mezcla de módulos en el master
     1518\end_layout
     1519
     1520\begin_layout Standard
     1521El master debe ocuparse de mezclar los modelos o submodelos resultantes
     1522 de de los módulos en un solo modelo BSR.
     1523 El modo de hacerlo depende del mecanismo de generación que se vaya a seguir,
     1524 que puede ser de dos formas
     1525\end_layout
     1526
     1527\begin_layout Subsubsection
     1528Mecanismo de generación monofase
     1529\end_layout
     1530
     1531\begin_layout Standard
     1532Es el único mecanismo de generación implementado actualmente, en el que
     1533 todos los segmentos y variables lineales se aúnan en un solo sistema lineal
     1534 de ecuaciones sparse.
     1535\end_layout
     1536
     1537\begin_layout Standard
     1538En este caso los BSR.ModelDef que resultan de cada módulo se deben agregar
     1539 en un sólo BSR.ModelDef que defina el modelo completo siguiendo los isguientes
     1540 pasos con sumo cuidado.
     1541 Se indicará al principio del módulo máster mediante la sintaxis
     1542\begin_inset listings
     1543inline false
     1544status open
     1545
     1546\begin_layout Plain Layout
     1547
     1548Modular.Schema = monophasic;
     1549\end_layout
     1550
     1551\end_inset
     1552
     1553
     1554\end_layout
     1555
     1556\begin_layout Enumerate
     1557La información documental (campo DocInfo) que prevalece es la del módulo
     1558 master mientras que la de los sub-módulos simplemente se olvida.
     1559 
     1560\end_layout
     1561
     1562\begin_layout Enumerate
     1563Se obtiene la lista conjunta de variables (campo {{{LinearBlock}}}) del
     1564 bloque lineal de cada uno de los módulos sin repeticiones.
     1565 
     1566\end_layout
     1567
     1568\begin_layout Enumerate
     1569Se reubican las posiciones de las variables en cada uno de los módulos 1.
     1570 Se modifica el número de columnas y las posiciones de las columnas de la
     1571 matriz X de inputs para hacerlas coincidir con la posición de las variables
     1572 en la lista global.
     1573 
     1574\end_layout
     1575
     1576\begin_layout Enumerate
     1577Se modifica el número de columnas y las posiciones de las columnas de la
     1578 matriz A de las inecuaciones para hacerlas coincidir con la posición de
     1579 las variables en la lista global.
     1580 
     1581\end_layout
     1582
     1583\begin_layout Enumerate
     1584Se modifica el campo Col de los registros BSR.MissingBlock de definición
     1585 de omitidos del input en cada módulo 1.
     1586 Se modifica el número de filas y columnas de las matrices Cov, L y Li de
     1587 cada registro BSR.NoiseDistrib correspondiente a cada segmento, así como
     1588 el conjunto de índices EquIdx de las filas a las que correponde.
     1589 
     1590\end_layout
     1591
     1592\begin_layout Enumerate
     1593Se concatenan las filas de las matrices Y[k], X[k], a[k], A[k] de todos
     1594 los módulos en las correspondientes Y, X, a, A conjuntas.
     1595 
     1596\end_layout
     1597
     1598\begin_layout Enumerate
     1599Se concatenan los conjuntos de omitidos del input (campo InputMissingBlock)
     1600 y el output (campo OutputMissingBlock)
     1601\end_layout
     1602
     1603\begin_layout Enumerate
     1604Se concatenan los conjuntos de segmentos de regresión (campo NoiseDistrib)
     1605\end_layout
     1606
     1607\begin_layout Standard
     1608Intentar hacer todas estas operaciones mientras se está leyendo un BSR actual
     1609 es algo extremadamente complicado de implementar, pues algunas cosas aún
     1610 no existen y otras están a medias, no se conocen algunas dimensiones, etc.
     1611 Precisamente por esta razón propongo todo este tema de la modularización
     1612 de la sintaxis de los ficheros ASCII-BSR.
     1613\end_layout
     1614
     1615\begin_layout Subsubsection
     1616Mecanismo de generación multifase
     1617\end_layout
     1618
     1619\begin_layout Standard
     1620En este caso cada módulo se generará condicionalmente al resto de módulos,
     1621 bien secuencialmente, bien en paralelo cuando tal cosa sea posible.
     1622 Esto no es necesario que se implemente en una primera versión pero se puede
     1623 ir adelantando algo del diseño.
     1624 Se indicará al principio del módulo máster mediante la sintaxis
     1625\end_layout
     1626
     1627\begin_layout Standard
     1628\begin_inset listings
     1629inline false
     1630status open
     1631
     1632\begin_layout Plain Layout
     1633
     1634  Modular.Schema = sequential;
     1635\end_layout
     1636
     1637\end_inset
     1638
     1639
     1640\end_layout
     1641
     1642\begin_layout Standard
     1643ó bien
     1644\end_layout
     1645
     1646\begin_layout Standard
     1647\begin_inset listings
     1648inline false
     1649status open
     1650
     1651\begin_layout Plain Layout
     1652
     1653  Modular.Schema = parallel;
     1654\end_layout
     1655
     1656\end_inset
     1657
     1658
     1659\end_layout
     1660
     1661\begin_layout Standard
     1662según sea el caso.
     1663\end_layout
     1664
     1665\begin_layout Standard
     1666En ambos casos la mezcla de módulos es distinta al caso de generación monofase,
     1667 pues en realildad no se hace agregación física de los módulos sino que
     1668 simplemente se enlazarán las dependencias de variables entre ellos para
     1669 que luego BSR pueda actualizar sus valores en las sucesivas simulaciones
     1670 condicionadas, de forma similar a como lo ahcía el antiguo HLM, del cual
     1671 se podrán tomar bastantes ideas.
     1672\end_layout
     1673
     1674\begin_layout Subsubsection
     1675Plantilla de un módulo master
     1676\end_layout
     1677
     1678\begin_layout Standard
     1679Aunque cada módulo internamente especifica con la cláusula Module.Type de
     1680 que tipo de módulo se trata es conveniente repetir esa información en la
     1681 sentencia de inclusión del módulo hijo en el módulo master para llamar
     1682 directamente al parser adecuado, ya que en realidad lo que habrá es 3 parsers
     1683 distintos, el de módulos primarios, el de los joint, que es básicamente
     1684 el actual y el de los masters.
     1685 La cláusula Module.Type puede usarse como mecanismo de control para evitar
     1686 posibles errores de diseño del modelo.
     1687 Así podría quedar la sintaxis de los módulos master
     1688\end_layout
     1689
     1690\begin_layout Standard
     1691\begin_inset listings
     1692lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}"
     1693inline false
     1694status open
     1695
     1696\begin_layout Plain Layout
     1697
     1698/////////////////////////////////////////////////////////////////////////////
     1699\end_layout
     1700
     1701\begin_layout Plain Layout
     1702
     1703// Bayesian Sparse Regression
     1704\end_layout
     1705
     1706\begin_layout Plain Layout
     1707
     1708/////////////////////////////////////////////////////////////////////////////
     1709\end_layout
     1710
     1711\begin_layout Plain Layout
     1712
     1713$BEGIN
     1714\end_layout
     1715
     1716\begin_layout Plain Layout
     1717
     1718Module.Type = master;
     1719\end_layout
     1720
     1721\begin_layout Plain Layout
     1722
     1723Model.Name = "...";
     1724\end_layout
     1725
     1726\begin_layout Plain Layout
     1727
     1728Model.Description = "...";
     1729\end_layout
     1730
     1731\begin_layout Plain Layout
     1732
     1733Session.Name = "...";
     1734\end_layout
     1735
     1736\begin_layout Plain Layout
     1737
     1738Session.Description = "...";
     1739\end_layout
     1740
     1741\begin_layout Plain Layout
     1742
     1743Session.Authors = "...";
     1744\end_layout
     1745
     1746\begin_layout Plain Layout
     1747
     1748Modular.Schema = { monophasic, sequential or parallel } ;
     1749\end_layout
     1750
     1751\begin_layout Plain Layout
     1752
     1753Include { primary, joint or master } module "file_relative_path.bsr" ; ...
     1754 Include { primary, joint or master } module "file_relative_path.bsr" ;
     1755\end_layout
     1756
     1757\begin_layout Plain Layout
     1758
     1759$END
    8421760\end_layout
    8431761
  • doc/modeling/BSR/BSR_P2_S4_Import.lyx

    reccc7ea r2fa3a27  
    1 #LyX 1.5.3 created this file. For more info see http://www.lyx.org/
    2 \lyxformat 276
     1#LyX 1.6.0 created this file. For more info see http://www.lyx.org/
     2\lyxformat 345
    33\begin_document
    44\begin_header
    … …  
    2828\hypersetup{urlbordercolor=0 0 0,pdfborder=0 0 1 [3 2]}
    2929\end_preamble
     30\use_default_options false
     31\begin_modules
     32theorems-ams
     33\end_modules
    3034\language spanish
    3135\inputencoding auto
    … …  
    3842\font_sf_scale 100
    3943\font_tt_scale 100
     44
    4045\graphics default
    4146\paperfontsize default
    4247\spacing single
     48\use_hyperref false
    4349\papersize default
    4450\use_geometry false
    … …  
    6571
    6672\begin_layout Chapter
    67 \begin_inset LatexCommand label
     73\begin_inset CommandInset label
     74LatexCommand label
    6875name "cha:BysMcmc::Bsr::Import"
    6976
    … …  
    103110 Semánticamente esta orientado a los conceptos ya definidos en la sección
    104111 
    105 \begin_inset LatexCommand ref
     112\begin_inset CommandInset ref
     113LatexCommand ref
    106114reference "sec:clase_modelos_BSR"
    107115
    … …  
    252260
    253261
    254 \begin_inset LatexCommand label
     262\begin_inset CommandInset label
     263LatexCommand label
    255264name "eq:mod_exa_bsr"
    256265
    … …  
    272281status open
    273282
    274 \begin_layout Standard
     283\begin_layout Plain Layout
    275284
    276285Text Get.Doc.Model.Name(Real void)
    277286\end_layout
    278287
    279 \begin_layout Standard
    280 
    281 {
    282 \end_layout
    283 
    284 \begin_layout Standard
     288\begin_layout Plain Layout
     289
     290{
     291\end_layout
     292
     293\begin_layout Plain Layout
    285294
    286295  Text "BSRExample"
    287296\end_layout
    288297
    289 \begin_layout Standard
     298\begin_layout Plain Layout
    290299
    291300};
    … …  
    308317status open
    309318
    310 \begin_layout Standard
     319\begin_layout Plain Layout
    311320
    312321Text Get.Doc.Model.Description(Real void)
    313322\end_layout
    314323
    315 \begin_layout Standard
    316 
    317 {
    318 \end_layout
    319 
    320 \begin_layout Standard
     324\begin_layout Plain Layout
     325
     326{
     327\end_layout
     328
     329\begin_layout Plain Layout
    321330
    322331  Text "Modelo simple ARMA(2,1)"
    323332\end_layout
    324333
    325 \begin_layout Standard
     334\begin_layout Plain Layout
    326335
    327336};
    … …  
    355364status open
    356365
    357 \begin_layout Standard
     366\begin_layout Plain Layout
    358367
    359368Text Get.Doc.Session.Name(Real void)
    360369\end_layout
    361370
    362 \begin_layout Standard
    363 
    364 {
    365 \end_layout
    366 
    367 \begin_layout Standard
     371\begin_layout Plain Layout
     372
     373{
     374\end_layout
     375
     376\begin_layout Plain Layout
    368377
    369378  Text _.session.id
    370379\end_layout
    371380
    372 \begin_layout Standard
     381\begin_layout Plain Layout
    373382
    374383};
    … …  
    392401status open
    393402
    394 \begin_layout Standard
     403\begin_layout Plain Layout
    395404
    396405Text Get.Doc.Session.Description(Real void)
    397406\end_layout
    398407
    399 \begin_layout Standard
    400 
    401 {
    402 \end_layout
    403 
    404 \begin_layout Standard
     408\begin_layout Plain Layout
     409
     410{
     411\end_layout
     412
     413\begin_layout Plain Layout
    405414
    406415  Text "Session "+_.session.id+" para el modelo: " +
    407416\end_layout
    408417
    409 \begin_layout Standard
     418\begin_layout Plain Layout
    410419
    411420       Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0)
    412421\end_layout
    413422
    414 \begin_layout Standard
     423\begin_layout Plain Layout
    415424
    416425};
    … …  
    434443status open
    435444
    436 \begin_layout Standard
     445\begin_layout Plain Layout
    437446
    438447Text Get.Doc.Session.Authors(Real void)
    439448\end_layout
    440449
    441 \begin_layout Standard
    442 
    443 {
    444 \end_layout
    445 
    446 \begin_layout Standard
     450\begin_layout Plain Layout
     451
     452{
     453\end_layout
     454
     455\begin_layout Plain Layout
    447456
    448457  Text "user@bayesforecast.com"
    449458\end_layout
    450459
    451 \begin_layout Standard
     460\begin_layout Plain Layout
    452461
    453462};
    … …  
    472481status open
    473482
    474 \begin_layout Standard
     483\begin_layout Plain Layout
    475484
    476485Text Get.Doc.Path(Real void)
    477486\end_layout
    478487
    479 \begin_layout Standard
    480 
    481 {
    482 \end_layout
    483 
    484 \begin_layout Standard
     488\begin_layout Plain Layout
     489
     490{
     491\end_layout
     492
     493\begin_layout Plain Layout
    485494
    486495  Text _.path.out
    487496\end_layout
    488497
    489 \begin_layout Standard
     498\begin_layout Plain Layout
    490499
    491500};
    … …  
    509518status open
    510519
    511 \begin_layout Standard
     520\begin_layout Plain Layout
    512521
    513522Real Get.LinReg.Size(Real void)
    514523\end_layout
    515524
    516 \begin_layout Standard
    517 
    518 {
    519 \end_layout
    520 
    521 \begin_layout Standard
     525\begin_layout Plain Layout
     526
     527{
     528\end_layout
     529
     530\begin_layout Plain Layout
    522531
    523532  // para el ejemplo actual solo tenemos un segmento de regresión
    524533\end_layout
    525534
    526 \begin_layout Standard
     535\begin_layout Plain Layout
    527536
    528537  Real 1
    529538\end_layout
    530539
    531 \begin_layout Standard
     540\begin_layout Plain Layout
    532541
    533542};
    … …  
    558567\family default
    559568 lo describimos en la sección
    560 \begin_inset LatexCommand ref
     569\begin_inset CommandInset ref
     570LatexCommand ref
    561571reference "sec:API-segmento-BSR"
    562572
    … …  
    570580status open
    571581
    572 \begin_layout Standard
     582\begin_layout Plain Layout
    573583
    574584NameBlock Get.LinReg.Segment(Real iS)
    575585\end_layout
    576586
    577 \begin_layout Standard
    578 
    579 {
    580 \end_layout
    581 
    582 \begin_layout Standard
     587\begin_layout Plain Layout
     588
     589{
     590\end_layout
     591
     592\begin_layout Plain Layout
    583593
    584594  // en este caso retornamos el NameBlock para el único segmento
    585595\end_layout
    586596
    587 \begin_layout Standard
     597\begin_layout Plain Layout
    588598
    589599  // que se modela para mas de un segmento de regresión se suele
    590600\end_layout
    591601
    592 \begin_layout Standard
     602\begin_layout Plain Layout
    593603
    594604  // usar un Set que es indexado por iS: _bsr.blocks[iS]
    595605\end_layout
    596606
    597 \begin_layout Standard
     607\begin_layout Plain Layout
    598608
    599609  NameBlock _.bsr.ARMA.2_1
    600610\end_layout
    601611
    602 \begin_layout Standard
     612\begin_layout Plain Layout
    603613
    604614};
    … …  
    622632 parametros de diferentes segmentos.
    623633 En la sección
    624 \begin_inset LatexCommand ref
     634\begin_inset CommandInset ref
     635LatexCommand ref
    625636reference "sec:Restricciones-en-BSR"
    626637
    … …  
    637648status open
    638649
    639 \begin_layout Standard
     650\begin_layout Plain Layout
    640651
    641652NameBlock Get.Constraints.Handler(Real void)
    642653\end_layout
    643654
    644 \begin_layout Standard
    645 
    646 {
    647 \end_layout
    648 
    649 \begin_layout Standard
     655\begin_layout Plain Layout
     656
     657{
     658\end_layout
     659
     660\begin_layout Plain Layout
    650661
    651662  // retornamos un NameBlock predefinido para el caso
    652663\end_layout
    653664
    654 \begin_layout Standard
     665\begin_layout Plain Layout
    655666
    656667  // no restringido
    657668\end_layout
    658669
    659 \begin_layout Standard
     670\begin_layout Plain Layout
    660671
    661672  NameBlock BysMcmc::Bsr::Import::Unconstrained(0)
    662673\end_layout
    663674
    664 \begin_layout Standard
     675\begin_layout Plain Layout
    665676
    666677};
    … …  
    683694status open
    684695
    685 \begin_layout Standard
     696\begin_layout Plain Layout
    686697
    687698NameBlock Build.Example.BSR(Text path.out, Text session.id,
    688699\end_layout
    689700
    690 \begin_layout Standard
     701\begin_layout Plain Layout
    691702
    692703                            Serie Y, Set X)
    693704\end_layout
    694705
    695 \begin_layout Standard
    696 
    697 {
    698 \end_layout
    699 
    700 \begin_layout Standard
     706\begin_layout Plain Layout
     707
     708{
     709\end_layout
     710
     711\begin_layout Plain Layout
    701712
    702713  NameBlock [[
    703714\end_layout
    704715
    705 \begin_layout Standard
     716\begin_layout Plain Layout
    706717
    707718    Text _.path.out = path.out;
    708719\end_layout
    709720
    710 \begin_layout Standard
     721\begin_layout Plain Layout
    711722
    712723    Text _.session.id = session.id;
    713724\end_layout
    714725
    715 \begin_layout Standard
     726\begin_layout Plain Layout
    716727
    717728    NameBlock _.bsr.ARMA.2_1 = [[
    718729\end_layout
    719730
    720 \begin_layout Standard
     731\begin_layout Plain Layout
    721732
    722733      Text _.dating.name = DatingName(Y);
    723734\end_layout
    724735
    725 \begin_layout Standard
     736\begin_layout Plain Layout
    726737
    727738      Date _.first = First(Y);
    728739\end_layout
    729740
    730 \begin_layout Standard
     741\begin_layout Plain Layout
    731742
    732743      Date _.last = Last(Y),
    733744\end_layout
    734745
    735 \begin_layout Standard
     746\begin_layout Plain Layout
    736747
    737748      Matrix _.Y = SerMat(Y);
    738749\end_layout
    739750
    740 \begin_layout Standard
     751\begin_layout Plain Layout
    741752
    742753      Matrix _.X = SerSetMat(X);
    743754\end_layout
    744755
    745 \begin_layout Standard
     756\begin_layout Plain Layout
    746757
    747758      /* ...
    … …  
    749760\end_layout
    750761
    751 \begin_layout Standard
     762\begin_layout Plain Layout
    752763
    753764      /* aquí implementamos el NameBlock para el nodo de observación */
    754765\end_layout
    755766
    756 \begin_layout Standard
     767\begin_layout Plain Layout
    757768
    758769    ]];
    759770\end_layout
    760771
    761 \begin_layout Standard
    762 
    763 \end_layout
    764 
    765 \begin_layout Standard
     772\begin_layout Plain Layout
     773
     774\end_layout
     775
     776\begin_layout Plain Layout
    766777
    767778    Text Get.Doc.Model.Name(Real void)
    768779\end_layout
    769780
    770 \begin_layout Standard
     781\begin_layout Plain Layout
    771782
    772783    {
    773784\end_layout
    774785
    775 \begin_layout Standard
     786\begin_layout Plain Layout
    776787
    777788      Text "BSRExample"
    778789\end_layout
    779790
    780 \begin_layout Standard
     791\begin_layout Plain Layout
    781792
    782793    };
    783794\end_layout
    784795
    785 \begin_layout Standard
    786 
    787 \end_layout
    788 
    789 \begin_layout Standard
     796\begin_layout Plain Layout
     797
     798\end_layout
     799
     800\begin_layout Plain Layout
    790801
    791802    Text Get.Doc.Model.Description(Real void)
    792803\end_layout
    793804
    794 \begin_layout Standard
     805\begin_layout Plain Layout
    795806
    796807    {
    797808\end_layout
    798809
    799 \begin_layout Standard
     810\begin_layout Plain Layout
    800811
    801812      Text "Modelo simple ARMA(3,1)"
    802813\end_layout
    803814
    804 \begin_layout Standard
     815\begin_layout Plain Layout
    805816
    806817    };
    807818\end_layout
    808819
    809 \begin_layout Standard
    810 
    811 \end_layout
    812 
    813 \begin_layout Standard
     820\begin_layout Plain Layout
     821
     822\end_layout
     823
     824\begin_layout Plain Layout
    814825
    815826    Text Get.Doc.Session.Name(Real void)
    816827\end_layout
    817828
    818 \begin_layout Standard
     829\begin_layout Plain Layout
    819830
    820831    {
    821832\end_layout
    822833
    823 \begin_layout Standard
     834\begin_layout Plain Layout
    824835
    825836      Text _.session.id
    826837\end_layout
    827838
    828 \begin_layout Standard
     839\begin_layout Plain Layout
    829840
    830841    };
    831842\end_layout
    832843
    833 \begin_layout Standard
    834 
    835 \end_layout
    836 
    837 \begin_layout Standard
     844\begin_layout Plain Layout
     845
     846\end_layout
     847
     848\begin_layout Plain Layout
    838849
    839850    Text Get.Doc.Session.Description(Real void)
    840851\end_layout
    841852
    842 \begin_layout Standard
     853\begin_layout Plain Layout
    843854
    844855    {
    845856\end_layout
    846857
    847 \begin_layout Standard
     858\begin_layout Plain Layout
    848859
    849860      Text "Session "+_.session.id+" para el modelo: " +
    850861\end_layout
    851862
    852 \begin_layout Standard
     863\begin_layout Plain Layout
    853864
    854865           Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0)
    855866\end_layout
    856867
    857 \begin_layout Standard
     868\begin_layout Plain Layout
    858869
    859870    };
    860871\end_layout
    861872
    862 \begin_layout Standard
    863 
    864 \end_layout
    865 
    866 \begin_layout Standard
     873\begin_layout Plain Layout
     874
     875\end_layout
     876
     877\begin_layout Plain Layout
    867878
    868879    Text Get.Doc.Session.Authors(Real void)
    869880\end_layout
    870881
    871 \begin_layout Standard
     882\begin_layout Plain Layout
    872883
    873884    {
    874885\end_layout
    875886
    876 \begin_layout Standard
     887\begin_layout Plain Layout
    877888
    878889      Text "user@bayesforecast.com"
    879890\end_layout
    880891
    881 \begin_layout Standard
     892\begin_layout Plain Layout
    882893
    883894    };
    884895\end_layout
    885896
    886 \begin_layout Standard
    887 
    888 \end_layout
    889 
    890 \begin_layout Standard
     897\begin_layout Plain Layout
     898
     899\end_layout
     900
     901\begin_layout Plain Layout
    891902
    892903    Text Get.Doc.Path(Real void)
    893904\end_layout
    894905
    895 \begin_layout Standard
     906\begin_layout Plain Layout
    896907
    897908    {
    898909\end_layout
    899910
    900 \begin_layout Standard
     911\begin_layout Plain Layout
    901912
    902913      Text _.path.output
    903914\end_layout
    904915
    905 \begin_layout Standard
     916\begin_layout Plain Layout
    906917
    907918    };
    908919\end_layout
    909920
    910 \begin_layout Standard
    911 
    912 \end_layout
    913 
    914 \begin_layout Standard
     921\begin_layout Plain Layout
     922
     923\end_layout
     924
     925\begin_layout Plain Layout
    915926
    916927    Real Get.LinReg.Size(Real void)
    917928\end_layout
    918929
    919 \begin_layout Standard
     930\begin_layout Plain Layout
    920931
    921932    {
    922933\end_layout
    923934
    924 \begin_layout Standard
     935\begin_layout Plain Layout
    925936
    926937      // para el ejemplo actual solo tenemos un segmento de regresión
    927938\end_layout
    928939
    929 \begin_layout Standard
     940\begin_layout Plain Layout
    930941
    931942      Real 1
    932943\end_layout
    933944
    934 \begin_layout Standard
     945\begin_layout Plain Layout
    935946
    936947    };
    937948\end_layout
    938949
    939 \begin_layout Standard
    940 
    941 \end_layout
    942 
    943 \begin_layout Standard
     950\begin_layout Plain Layout
     951
     952\end_layout
     953
     954\begin_layout Plain Layout
    944955
    945956    NameBlock Get.LinReg.Segment(Real iS)
    946957\end_layout
    947958
    948 \begin_layout Standard
     959\begin_layout Plain Layout
    949960
    950961    {
    951962\end_layout
    952963
    953 \begin_layout Standard
     964\begin_layout Plain Layout
    954965
    955966      // en este caso retornamos el NameBlock para el único segmento
    956967\end_layout
    957968
    958 \begin_layout Standard
     969\begin_layout Plain Layout
    959970
    960971      // que se modela para mas de un segmento de regresión se suele
    961972\end_layout
    962973
    963 \begin_layout Standard
     974\begin_layout Plain Layout
    964975
    965976      // usar un Set que es indexado por iS: _bsr.blocks[iS]
    966977\end_layout
    967978
    968 \begin_layout Standard
     979\begin_layout Plain Layout
    969980
    970981      NameBlock _.bsr.ARMA.2_1
    971982\end_layout
    972983
    973 \begin_layout Standard
     984\begin_layout Plain Layout
    974985
    975986    };
    976987\end_layout
    977988
    978 \begin_layout Standard
    979 
    980 \end_layout
    981 
    982 \begin_layout Standard
     989\begin_layout Plain Layout
     990
     991\end_layout
     992
     993\begin_layout Plain Layout
    983994
    984995    NameBlock Get.Constraints.Handler(Real void)
    985996\end_layout
    986997
    987 \begin_layout Standard
     998\begin_layout Plain Layout
    988999
    9891000    {
    9901001\end_layout
    9911002
    992 \begin_layout Standard
     1003\begin_layout Plain Layout
    9931004
    9941005      // retornamos un NameBlock predefinido para el caso
    9951006\end_layout
    9961007
    997 \begin_layout Standard
     1008\begin_layout Plain Layout
    9981009
    9991010      // no restringido
    10001011\end_layout
    10011012
    1002 \begin_layout Standard
     1013\begin_layout Plain Layout
    10031014
    10041015      NameBlock BysMcmc::Bsr::Import::Unconstrained(0)
    10051016\end_layout
    10061017
    1007 \begin_layout Standard
     1018\begin_layout Plain Layout
    10081019
    10091020    }
    10101021\end_layout
    10111022
    1012 \begin_layout Standard
     1023\begin_layout Plain Layout
    10131024
    10141025  ]]
    10151026\end_layout
    10161027
    1017 \begin_layout Standard
     1028\begin_layout Plain Layout
    10181029
    10191030};
    … …  
    10271038\begin_layout Section
    10281039API del segmento BSR
    1029 \begin_inset LatexCommand label
     1040\begin_inset CommandInset label
     1041LatexCommand label
    10301042name "sec:API-segmento-BSR"
    10311043
    … …  
    10531065status open
    10541066
    1055 \begin_layout Standard
     1067\begin_layout Plain Layout
    10561068
    10571069Text Get.Name(Real void)
    10581070\end_layout
    10591071
    1060 \begin_layout Standard
    1061 
    1062 {
    1063 \end_layout
    1064 
    1065 \begin_layout Standard
     1072\begin_layout Plain Layout
     1073
     1074{
     1075\end_layout
     1076
     1077\begin_layout Plain Layout
    10661078
    10671079  Text "ObsY"
    10681080\end_layout
    10691081
    1070 \begin_layout Standard
     1082\begin_layout Plain Layout
    10711083
    10721084};
    … …  
    11211133status open
    11221134
    1123 \begin_layout Standard
     1135\begin_layout Plain Layout
    11241136
    11251137Text Get.Sigma2(Real void)
    11261138\end_layout
    11271139
    1128 \begin_layout Standard
    1129 
    1130 {
    1131 \end_layout
    1132 
    1133 \begin_layout Standard
     1140\begin_layout Plain Layout
     1141
     1142{
     1143\end_layout
     1144
     1145\begin_layout Plain Layout
    11341146
    11351147  Text "sigma2"
    11361148\end_layout
    11371149
    1138 \begin_layout Standard
     1150\begin_layout Plain Layout
    11391151
    11401152};
    … …  
    11581170status open
    11591171
    1160 \begin_layout Standard
     1172\begin_layout Plain Layout
    11611173
    11621174Set Get.TimeInfo(Real void)
    11631175\end_layout
    11641176
    1165 \begin_layout Standard
    1166 
    1167 {
    1168 \end_layout
    1169 
    1170 \begin_layout Standard
     1177\begin_layout Plain Layout
     1178
     1179{
     1180\end_layout
     1181
     1182\begin_layout Plain Layout
    11711183
    11721184  Set BSR.NoiseTimeInfo(TimeSet Eval(_.dating.name), _.first, _.last)
    11731185\end_layout
    11741186
    1175 \begin_layout Standard
     1187\begin_layout Plain Layout
    11761188
    11771189};
    … …  
    11911203status open
    11921204
    1193 \begin_layout Standard
     1205\begin_layout Plain Layout
    11941206
    11951207Struct BSR.NoiseTimeInfo
    11961208\end_layout
    11971209
    1198 \begin_layout Standard
    1199 
    1200 {
    1201 \end_layout
    1202 
    1203 \begin_layout Standard
     1210\begin_layout Plain Layout
     1211
     1212{
     1213\end_layout
     1214
     1215\begin_layout Plain Layout
    12041216
    12051217  TimeSet Dating,
    12061218\end_layout
    12071219
    1208 \begin_layout Standard
     1220\begin_layout Plain Layout
    12091221
    12101222  Date FirstDate,
    12111223\end_layout
    12121224
    1213 \begin_layout Standard
     1225\begin_layout Plain Layout
    12141226
    12151227  Date LastDate
    12161228\end_layout
    12171229
    1218 \begin_layout Standard
     1230\begin_layout Plain Layout
    12191231
    12201232};
    … …  
    12501262 de grado 2 ó 1.
    12511263 Para el modelo
    1252 \begin_inset LatexCommand ref
     1264\begin_inset CommandInset ref
     1265LatexCommand ref
    12531266reference "eq:mod_exa_bsr"
    12541267
    … …  
    12621275status open
    12631276
    1264 \begin_layout Standard
     1277\begin_layout Plain Layout
    12651278
    12661279Real Get.ARIMA.Size(Real void)
    12671280\end_layout
    12681281
    1269 \begin_layout Standard
    1270 
    1271 {
    1272 \end_layout
    1273 
    1274 \begin_layout Standard
     1282\begin_layout Plain Layout
     1283
     1284{
     1285\end_layout
     1286
     1287\begin_layout Plain Layout
    12751288
    12761289  Real 1
    12771290\end_layout
    12781291
    1279 \begin_layout Standard
     1292\begin_layout Plain Layout
    12801293
    12811294};
    … …  
    13161329status open
    13171330
    1318 \begin_layout Standard
     1331\begin_layout Plain Layout
    13191332
    13201333Struct ARIMAStruct
    13211334\end_layout
    13221335
    1323 \begin_layout Standard
    1324 
    1325 {
    1326 \end_layout
    1327 
    1328 \begin_layout Standard
     1336\begin_layout Plain Layout
     1337
     1338{
     1339\end_layout
     1340
     1341\begin_layout Plain Layout
    13291342
    13301343  Real Periodicity,
    13311344\end_layout
    13321345
    1333 \begin_layout Standard
     1346\begin_layout Plain Layout
    13341347
    13351348  Polyn AR,
    13361349\end_layout
    13371350
    1338 \begin_layout Standard
     1351\begin_layout Plain Layout
    13391352
    13401353  Polyn MA,
    13411354\end_layout
    13421355
    1343 \begin_layout Standard
     1356\begin_layout Plain Layout
    13441357
    13451358  Polyn DIF
    13461359\end_layout
    13471360
    1348 \begin_layout Standard
     1361\begin_layout Plain Layout
    13491362
    13501363};
    … …  
    13541367
    13551368Para el modelo
    1356 \begin_inset LatexCommand ref
     1369\begin_inset CommandInset ref
     1370LatexCommand ref
    13571371reference "eq:mod_exa_bsr"
    13581372
    … …  
    13651379status open
    13661380
    1367 \begin_layout Standard
     1381\begin_layout Plain Layout
    13681382
    13691383Set Get.ARIMA.Factor(Real f)
    13701384\end_layout
    13711385
    1372 \begin_layout Standard
    1373 
    1374 {
    1375 \end_layout
    1376 
    1377 \begin_layout Standard
     1386\begin_layout Plain Layout
     1387
     1388{
     1389\end_layout
     1390
     1391\begin_layout Plain Layout
    13781392
    13791393  Set ARIMAStruct(1, 1-0.1*B-0.1*B^2, 1-0.1*B, 1)
    13801394\end_layout
    13811395
    1382 \begin_layout Standard
     1396\begin_layout Plain Layout
    13831397
    13841398};
    … …  
    14061420status open
    14071421
    1408 \begin_layout Standard
     1422\begin_layout Plain Layout
    14091423
    14101424Real Get.Param.Size(Real void)
    14111425\end_layout
    14121426
    1413 \begin_layout Standard
    1414 
    1415 {
    1416 \end_layout
    1417 
    1418 \begin_layout Standard
     1427\begin_layout Plain Layout
     1428
     1429{
     1430\end_layout
     1431
     1432\begin_layout Plain Layout
    14191433
    14201434  Real Rows(_.X)
    14211435\end_layout
    14221436
    1423 \begin_layout Standard
     1437\begin_layout Plain Layout
    14241438
    14251439};
    … …  
    14641478status open
    14651479
    1466 \begin_layout Standard
     1480\begin_layout Plain Layout
    14671481
    14681482Struct Bsr.Param.Info
    14691483\end_layout
    14701484
    1471 \begin_layout Standard
    1472 
    1473 {
    1474 \end_layout
    1475 
    1476 \begin_layout Standard
     1485\begin_layout Plain Layout
     1486
     1487{
     1488\end_layout
     1489
     1490\begin_layout Plain Layout
    14771491
    14781492  Text Name,              // identificador único del parámetro
    14791493\end_layout
    14801494
    1481 \begin_layout Standard
     1495\begin_layout Plain Layout
    14821496
    14831497  Real InitValue,         // valor inicial conocido o ?
    14841498\end_layout
    14851499
    1486 \begin_layout Standard
     1500\begin_layout Plain Layout
    14871501
    14881502  Real Prior.LowerBound,  // cota inf.
    … …  
    14901504\end_layout
    14911505
    1492 \begin_layout Standard
     1506\begin_layout Plain Layout
    14931507
    14941508  Real Prior.UpperBound   // cota sup.
    … …  
    14961510\end_layout
    14971511
    1498 \begin_layout Standard
     1512\begin_layout Plain Layout
    14991513
    15001514};   
    … …  
    15211535status open
    15221536
    1523 \begin_layout Standard
     1537\begin_layout Plain Layout
    15241538
    15251539Set Get.Param(Real iP)
    15261540\end_layout
    15271541
    1528 \begin_layout Standard
    1529 
    1530 {
    1531 \end_layout
    1532 
    1533 \begin_layout Standard
     1542\begin_layout Plain Layout
     1543
     1544{
     1545\end_layout
     1546
     1547\begin_layout Plain Layout
    15341548
    15351549  Set Bsr.Param.Info("beta_"+IntText(iP), Real Rand(0,1), -1/0, 1/0)
    15361550\end_layout
    15371551
    1538 \begin_layout Standard
     1552\begin_layout Plain Layout
    15391553
    15401554};
    … …  
    15591573status open
    15601574
    1561 \begin_layout Standard
     1575\begin_layout Plain Layout
    15621576
    15631577Real Get.Missing.Size(Real void)
    15641578\end_layout
    15651579
    1566 \begin_layout Standard
    1567 
    1568 {
    1569 \end_layout
    1570 
    1571 \begin_layout Standard
     1580\begin_layout Plain Layout
     1581
     1582{
     1583\end_layout
     1584
     1585\begin_layout Plain Layout
    15721586
    15731587  Real 0
    15741588\end_layout
    15751589
    1576 \begin_layout Standard
     1590\begin_layout Plain Layout
    15771591
    15781592};
    … …  
    16111625status open
    16121626
    1613 \begin_layout Standard
     1627\begin_layout Plain Layout
    16141628
    16151629Struct Bsr.Missing.Info
    16161630\end_layout
    16171631
    1618 \begin_layout Standard
    1619 
    1620 {
    1621 \end_layout
    1622 
    1623 \begin_layout Standard
     1632\begin_layout Plain Layout
     1633
     1634{
     1635\end_layout
     1636
     1637\begin_layout Plain Layout
    16241638
    16251639  Text Name,              // identificador único para el valor missing
    16261640\end_layout
    16271641
    1628 \begin_layout Standard
     1642\begin_layout Plain Layout
    16291643
    16301644  Real Prior.Average,     // prior media or initial value
    16311645\end_layout
    16321646
    1633 \begin_layout Standard
     1647\begin_layout Plain Layout
    16341648
    16351649  Real Prior.Sigma,       // sigma del prior or +1/0 si no inf.
    16361650\end_layout
    16371651
    1638 \begin_layout Standard
     1652\begin_layout Plain Layout
    16391653
    16401654  Real Prior.LowerBound,  // límite inf.
    … …  
    16421656\end_layout
    16431657
    1644 \begin_layout Standard
     1658\begin_layout Plain Layout
    16451659
    16461660  Real Prior.UpperBound   // límite sup.
    … …  
    16481662\end_layout
    16491663
    1650 \begin_layout Standard
     1664\begin_layout Plain Layout
    16511665
    16521666};   
    … …  
    16611675status open
    16621676
    1663 \begin_layout Standard
     1677\begin_layout Plain Layout
    16641678
    16651679Set Get.Missing(Real iP)
    16661680\end_layout
    16671681
    1668 \begin_layout Standard
    1669 
    1670 {
    1671 \end_layout
    1672 
    1673 \begin_layout Standard
     1682\begin_layout Plain Layout
     1683
     1684{
     1685\end_layout
     1686
     1687\begin_layout Plain Layout
    16741688
    16751689  Set Empty
    16761690\end_layout
    16771691
    1678 \begin_layout Standard
     1692\begin_layout Plain Layout
    16791693
    16801694};
    … …  
    17011715status open
    17021716
    1703 \begin_layout Standard
     1717\begin_layout Plain Layout
    17041718
    17051719Real Get.Equation.Size(Real void)
    17061720\end_layout
    17071721
    1708 \begin_layout Standard
    1709 
    1710 {
    1711 \end_layout
    1712 
    1713 \begin_layout Standard
     1722\begin_layout Plain Layout
     1723
     1724{
     1725\end_layout
     1726
     1727\begin_layout Plain Layout
    17141728
    17151729  // _.X e _.Y están dispuestas por filas
    17161730\end_layout
    17171731
    1718 \begin_layout Standard
     1732\begin_layout Plain Layout
    17191733
    17201734  Real Columns(_.X);
    17211735\end_layout
    17221736
    1723 \begin_layout Standard
     1737\begin_layout Plain Layout
    17241738
    17251739};
    … …  
    17761790status open
    17771791
    1778 \begin_layout Standard
     1792\begin_layout Plain Layout
    17791793
    17801794Real Get.Equation.Output(Real iE)
    17811795\end_layout
    17821796
    1783 \begin_layout Standard
    1784 
    1785 {
    1786 \end_layout
    1787 
    1788 \begin_layout Standard
     1797\begin_layout Plain Layout
     1798
     1799{
     1800\end_layout
     1801
     1802\begin_layout Plain Layout
    17891803
    17901804  Real MatDat(_.Y,1,iE)
    17911805\end_layout
    17921806
    1793 \begin_layout Standard
     1807\begin_layout Plain Layout
    17941808
    17951809};
    … …  
    18311845status open
    18321846
    1833 \begin_layout Standard
     1847\begin_layout Plain Layout
    18341848
    18351849Real Get.Equation.Input.Size(Real iE)
    18361850\end_layout
    18371851
    1838 \begin_layout Standard
    1839 
    1840 {
    1841 \end_layout
    1842 
    1843 \begin_layout Standard
     1852\begin_layout Plain Layout
     1853
     1854{
     1855\end_layout
     1856
     1857\begin_layout Plain Layout
    18441858
    18451859  Real Rows(_.X)
    18461860\end_layout
    18471861
    1848 \begin_layout Standard
     1862\begin_layout Plain Layout
    18491863
    18501864};
    … …  
    19141928status open
    19151929
    1916 \begin_layout Standard
     1930\begin_layout Plain Layout
    19171931
    19181932Real Get.Equation.Input.Coef(Real iE, Real iT)
    19191933\end_layout
    19201934
    1921 \begin_layout Standard
    1922 
    1923 {
    1924 \end_layout
    1925 
    1926 \begin_layout Standard
     1935\begin_layout Plain Layout
     1936
     1937{
     1938\end_layout
     1939
     1940\begin_layout Plain Layout
    19271941
    19281942  Real MatDat(_.X, iT,iE)
    19291943\end_layout
    19301944
    1931 \begin_layout Standard
     1945\begin_layout Plain Layout
    19321946
    19331947};
    … …  
    19621976status open
    19631977
    1964 \begin_layout Standard
     1978\begin_layout Plain Layout
    19651979
    19661980Text Get.Equation.Input.Param(Real iE, Real iT)
    19671981\end_layout
    19681982
    1969 \begin_layout Standard
    1970 
    1971 {
    1972 \end_layout
    1973 
    1974 \begin_layout Standard
     1983\begin_layout Plain Layout
     1984
     1985{
     1986\end_layout
     1987
     1988\begin_layout Plain Layout
    19751989
    19761990  Text "beta_"+IntText(iT)
    19771991\end_layout
    19781992
    1979 \begin_layout Standard
     1993\begin_layout Plain Layout
    19801994
    19811995};
    … …  
    20032017 parametros de este segmentos.
    20042018 En la sección
    2005 \begin_inset LatexCommand ref
     2019\begin_inset CommandInset ref
     2020LatexCommand ref
    20062021reference "sec:Restricciones-en-BSR"
    20072022
    … …  
    20102025 se describe el API que debe satisfacerse.
    20112026 En el modelo planetado en
    2012 \begin_inset LatexCommand ref
     2027\begin_inset CommandInset ref
     2028LatexCommand ref
    20132029reference "eq:mod_exa_bsr"
    20142030
    … …  
    20252041status open
    20262042
    2027 \begin_layout Standard
     2043\begin_layout Plain Layout
    20282044
    20292045NameBlock Get.Constraints.Handler(Real void)
    20302046\end_layout
    20312047
    2032 \begin_layout Standard
    2033 
    2034 {
    2035 \end_layout
    2036 
    2037 \begin_layout Standard
     2048\begin_layout Plain Layout
     2049
     2050{
     2051\end_layout
     2052
     2053\begin_layout Plain Layout
    20382054
    20392055  NameBlock Explicit.Constraints([["0>=-beta_1+beta_2"]])
    20402056\end_layout
    20412057
    2042 \begin_layout Standard
     2058\begin_layout Plain Layout
    20432059
    20442060};
    … …  
    20522068\begin_layout Section
    20532069Restricciones en BSR
    2054 \begin_inset LatexCommand label
     2070\begin_inset CommandInset label
     2071LatexCommand label
    20552072name "sec:Restricciones-en-BSR"
    20562073
    … …  
    20892106status open
    20902107
    2091 \begin_layout Standard
     2108\begin_layout Plain Layout
    20922109
    20932110////////////////////////////////////////////////////////////////////
    20942111\end_layout
    20952112
    2096 \begin_layout Standard
     2113\begin_layout Plain Layout
    20972114
    20982115// Lower <= Upper
    20992116\end_layout
    21002117
    2101 \begin_layout Standard
     2118\begin_layout Plain Layout
    21022119
    21032120////////////////////////////////////////////////////////////////////
    21042121\end_layout
    21052122
    2106 \begin_layout Standard
     2123\begin_layout Plain Layout
    21072124
    21082125Struct Bsr.OrderRelation.Info
    21092126\end_layout
    21102127
    2111 \begin_layout Standard
    2112 
    2113 {
    2114 \end_layout
    2115 
    2116 \begin_layout Standard
     2128\begin_layout Plain Layout
     2129
     2130{
     2131\end_layout
     2132
     2133\begin_layout Plain Layout
    21172134
    21182135  Text Lower, //Left parameter
    21192136\end_layout
    21202137
    2121 \begin_layout Standard
     2138\begin_layout Plain Layout
    21222139
    21232140  Text Upper  //Right parameter
    21242141\end_layout
    21252142
    2126 \begin_layout Standard
     2143\begin_layout Plain Layout
    21272144
    21282145}; 
    … …  
    21482165status open
    21492166
    2150 \begin_layout Standard
     2167\begin_layout Plain Layout
    21512168
    21522169\family typewriter
    … …  
    21832200status open
    21842201
    2185 \begin_layout Standard
     2202\begin_layout Plain Layout
    21862203
    21872204///////////////////////////////////////////////////////////////////
    21882205\end_layout
    21892206
    2190 \begin_layout Standard
     2207\begin_layout Plain Layout
    21912208
    21922209// Coefficient * Parameter
    21932210\end_layout
    21942211
    2195 \begin_layout Standard
     2212\begin_layout Plain Layout
    21962213
    21972214//////////////////////////////////////////////////////////////////
    21982215\end_layout
    21992216
    2200 \begin_layout Standard
     2217\begin_layout Plain Layout
    22012218
    22022219Struct Bsr.LinearCombTerm
    22032220\end_layout
    22042221
    2205 \begin_layout Standard
    2206 
    2207 {
    2208 \end_layout
    2209 
    2210 \begin_layout Standard
     2222\begin_layout Plain Layout
     2223
     2224{
     2225\end_layout
     2226
     2227\begin_layout Plain Layout
    22112228
    22122229  Real Coefficient,
    22132230\end_layout
    22142231
    2215 \begin_layout Standard
     2232\begin_layout Plain Layout
    22162233
    22172234  Text Parameter
    22182235\end_layout
    22192236
    2220 \begin_layout Standard
     2237\begin_layout Plain Layout
    22212238
    22222239};   
    … …  
    22372254status open
    22382255
    2239 \begin_layout Standard
     2256\begin_layout Plain Layout
    22402257
    22412258///////////////////////////////////////////////////////////////////
    22422259\end_layout
    22432260
    2244 \begin_layout Standard
     2261\begin_layout Plain Layout
    22452262
    22462263// LowerBound <= c_1*alfa_1 + ...
    … …  
    22482265\end_layout
    22492266
    2250 \begin_layout Standard
     2267\begin_layout Plain Layout
    22512268
    22522269///////////////////////////////////////////////////////////////////
    22532270\end_layout
    22542271
    2255 \begin_layout Standard
     2272\begin_layout Plain Layout
    22562273
    22572274Struct Bsr.GenericConstraint.Info
    22582275\end_layout
    22592276
    2260 \begin_layout Standard
    2261 
    2262 {
    2263 \end_layout
    2264 
    2265 \begin_layout Standard
     2277\begin_layout Plain Layout
     2278
     2279{
     2280\end_layout
     2281
     2282\begin_layout Plain Layout
    22662283
    22672284  Real LowerBound, // cota inferior de la combinación lineal o -1/0
    22682285\end_layout
    22692286
    2270 \begin_layout Standard
     2287\begin_layout Plain Layout
    22712288
    22722289  Set  LinearComb, // un conjutno de Bsr.LinearCombTerm
    22732290\end_layout
    22742291
    2275 \begin_layout Standard
     2292\begin_layout Plain Layout
    22762293
    22772294  Real UpperBound  // cota superior de la combinación lineal o +1/0
    22782295\end_layout
    22792296
    2280 \begin_layout Standard
     2297\begin_layout Plain Layout
    22812298
    22822299};
    … …  
    23132330status open
    23142331
    2315 \begin_layout Standard
     2332\begin_layout Plain Layout
    23162333
    23172334Real Get.OrderRelation.Size (Real void)
    23182335\end_layout
    23192336
    2320 \begin_layout Standard
    2321 
    2322 {
    2323 \end_layout
    2324 
    2325 \begin_layout Standard
     2337\begin_layout Plain Layout
     2338
     2339{
     2340\end_layout
     2341
     2342\begin_layout Plain Layout
    23262343
    23272344  Real 1
    23282345\end_layout
    23292346
    2330 \begin_layout Standard
     2347\begin_layout Plain Layout
    23312348
    23322349};
    … …  
    23642381status open
    23652382
    2366 \begin_layout Standard
     2383\begin_layout Plain Layout
    23672384
    23682385Set  Get.OrderRelation (Real r)
    23692386\end_layout
    23702387
    2371 \begin_layout Standard
    2372 
    2373 {
    2374 \end_layout
    2375 
    2376 \begin_layout Standard
     2388\begin_layout Plain Layout
     2389
     2390{
     2391\end_layout
     2392
     2393\begin_layout Plain Layout
    23772394
    23782395  Set Bsr.OrdeRelation.Info("beta_2","beta_1")
    23792396\end_layout
    23802397
    2381 \begin_layout Standard
     2398\begin_layout Plain Layout
    23822399
    23832400};
    … …  
    24072424status open
    24082425
    2409 \begin_layout Standard
     2426\begin_layout Plain Layout
    24102427
    24112428Real Get.GenericConstraint.Size (Real void)
    24122429\end_layout
    24132430
    2414 \begin_layout Standard
    2415 
    2416 {
    2417 \end_layout
    2418 
    2419 \begin_layout Standard
     2431\begin_layout Plain Layout
     2432
     2433{
     2434\end_layout
     2435
     2436\begin_layout Plain Layout
    24202437
    24212438  Real 0
    24222439\end_layout
    24232440
    2424 \begin_layout Standard
     2441\begin_layout Plain Layout
    24252442
    24262443};
    … …  
    24672484status open
    24682485
    2469 \begin_layout Standard
     2486\begin_layout Plain Layout
    24702487
    24712488Set  Get.GenericConstraint (Real r)
    24722489\end_layout
    24732490
    2474 \begin_layout Standard
    2475 
    2476 {
    2477 \end_layout
    2478 
    2479 \begin_layout Standard
     2491\begin_layout Plain Layout
     2492
     2493{
     2494\end_layout
     2495
     2496\begin_layout Plain Layout
    24802497
    24812498  Set Bsr.GenericConstraint.Info
    24822499\end_layout
    24832500
    2484 \begin_layout Standard
     2501\begin_layout Plain Layout
    24852502
    24862503  ( 0.0,
    24872504\end_layout
    24882505
    2489 \begin_layout Standard
     2506\begin_layout Plain Layout
    24902507
    24912508    [[Set Bsr.LinearCombTerm(1.0,  "beta_1"),
    24922509\end_layout
    24932510
    2494 \begin_layout Standard
     2511\begin_layout Plain Layout
    24952512
    24962513      Set Bsr.LinearCombTerm(-1.0, "beta_2")]],
    24972514\end_layout
    24982515
    2499 \begin_layout Standard
     2516\begin_layout Plain Layout
    25002517
    25012518    +1/0 )
    25022519\end_layout
    25032520
    2504 \begin_layout Standard
     2521\begin_layout Plain Layout
    25052522
    25062523};
    … …  
    25312548status open
    25322549
    2533 \begin_layout Standard
     2550\begin_layout Plain Layout
    25342551
    25352552Real Get.ExplicitConstraint.Size(Real void)
    25362553\end_layout
    25372554
    2538 \begin_layout Standard
    2539 
    2540 {
    2541 \end_layout
    2542 
    2543 \begin_layout Standard
     2555\begin_layout Plain Layout
     2556
     2557{
     2558\end_layout
     2559
     2560\begin_layout Plain Layout
    25442561
    25452562  Real 0
    25462563\end_layout
    25472564
    2548 \begin_layout Standard
     2565\begin_layout Plain Layout
    25492566
    25502567};
    … …  
    25672584status open
    25682585
    2569 \begin_layout Standard
     2586\begin_layout Plain Layout
    25702587
    25712588Text Get.ExplicitConstraint(Real r)
    25722589\end_layout
    25732590
    2574 \begin_layout Standard
    2575 
    2576 {
    2577 \end_layout
    2578 
    2579 \begin_layout Standard
     2591\begin_layout Plain Layout
     2592
     2593{
     2594\end_layout
     2595
     2596\begin_layout Plain Layout
    25802597
    25812598  Text ""
    25822599\end_layout
    25832600
    2584 \begin_layout Standard
     2601\begin_layout Plain Layout
    25852602
    25862603};
    … …  
    26212638status open
    26222639
    2623 \begin_layout Standard
     2640\begin_layout Plain Layout
    26242641
    26252642NameBlock Order.Relations([[Bsr.OrdeRelation.Info("beta_2","beta_1")]])
    … …  
    26512668status open
    26522669
    2653 \begin_layout Standard
     2670\begin_layout Plain Layout
    26542671
    26552672NameBlock Generic.Constraints
    26562673\end_layout
    26572674
    2658 \begin_layout Standard
     2675\begin_layout Plain Layout
    26592676
    26602677(
    26612678\end_layout
    26622679
    2663 \begin_layout Standard
     2680\begin_layout Plain Layout
    26642681
    26652682[[
    26662683\end_layout
    26672684
    2668 \begin_layout Standard
     2685\begin_layout Plain Layout
    26692686
    26702687  Bsr.GenericConstraint.Info
    26712688\end_layout
    26722689
    2673 \begin_layout Standard
     2690\begin_layout Plain Layout
    26742691
    26752692  ( 0.0,
    26762693\end_layout
    26772694
    2678 \begin_layout Standard
     2695\begin_layout Plain Layout
    26792696
    26802697    [[Set Bsr.LinearCombTerm(1.0,  "beta_1"),
    26812698\end_layout
    26822699
    2683 \begin_layout Standard
     2700\begin_layout Plain Layout
    26842701
    26852702      Set Bsr.LinearCombTerm(-1.0, "beta_2")]],
    26862703\end_layout
    26872704
    2688 \begin_layout Standard
     2705\begin_layout Plain Layout
    26892706
    26902707    +1/0 )
    26912708\end_layout
    26922709
    2693 \begin_layout Standard
     2710\begin_layout Plain Layout
    26942711
    26952712]]
    26962713\end_layout
    26972714
    2698 \begin_layout Standard
     2715\begin_layout Plain Layout
    26992716
    27002717)
    … …  
    27222739status open
    27232740
    2724 \begin_layout Standard
     2741\begin_layout Plain Layout
    27252742
    27262743NameBlock Explicit.Constraints([["0<=+beta_1-beta_2"]])
    … …  
    27492766status open
    27502767
    2751 \begin_layout Standard
     2768\begin_layout Plain Layout
    27522769
    27532770NameBlock Constraints(Empty,Empty,[["0<=+beta_1-beta_2"]])
    … …  
    27752792status open
    27762793
    2777 \begin_layout Standard
     2794\begin_layout Plain Layout
    27782795
    27792796NameBlock Unconstrained(0)
    … …  
    27912808\begin_layout Standard
    27922809El código completo para el ejemplo dado en las ecuaciones
    2793 \begin_inset LatexCommand ref
     2810\begin_inset CommandInset ref
     2811LatexCommand ref
    27942812reference "eq:mod_exa_bsr"
    27952813
    … …  
    28052823status open
    28062824
    2807 \begin_layout Standard
     2825\begin_layout Plain Layout
    28082826
    28092827NameBlock Build.Example.BSR(Text path.out, Text session.id,
    28102828\end_layout
    28112829
    2812 \begin_layout Standard
     2830\begin_layout Plain Layout
    28132831
    28142832                            Serie Y, Set X)
    28152833\end_layout
    28162834
    2817 \begin_layout Standard
    2818 
    2819 {
    2820 \end_layout
    2821 
    2822 \begin_layout Standard
     2835\begin_layout Plain Layout
     2836
     2837{
     2838\end_layout
     2839
     2840\begin_layout Plain Layout
    28232841
    28242842  Real beta1 = Rand(-1,1);
    28252843\end_layout
    28262844
    2827 \begin_layout Standard
     2845\begin_layout Plain Layout
    28282846
    28292847  Real beta2 = Rand(-1,beta1);
    28302848\end_layout
    28312849
    2832 \begin_layout Standard
     2850\begin_layout Plain Layout
    28332851
    28342852  NameBlock [[
    28352853\end_layout
    28362854
    2837 \begin_layout Standard
     2855\begin_layout Plain Layout
    28382856
    28392857    Text _.path.out = path.out;
    28402858\end_layout
    28412859
    2842 \begin_layout Standard
     2860\begin_layout Plain Layout
    28432861
    28442862    Text _.session.id = session.id;
    28452863\end_layout
    28462864
    2847 \begin_layout Standard
     2865\begin_layout Plain Layout
    28482866
    28492867    NameBlock _.bsr.ARMA.2_1 = [[
    28502868\end_layout
    28512869
    2852 \begin_layout Standard
     2870\begin_layout Plain Layout
    28532871
    28542872      Text _.dating.name = DatingName(Y);
    28552873\end_layout
    28562874
    2857 \begin_layout Standard
     2875\begin_layout Plain Layout
    28582876
    28592877      _.first = First(Y);
    28602878\end_layout
    28612879
    2862 \begin_layout Standard
     2880\begin_layout Plain Layout
    28632881
    28642882      _.last = Last(Y),
    28652883\end_layout
    28662884
    2867 \begin_layout Standard
     2885\begin_layout Plain Layout
    28682886
    28692887      Matrix _.Y = SerMat(Y);
    28702888\end_layout
    28712889
    2872 \begin_layout Standard
     2890\begin_layout Plain Layout
    28732891
    28742892      Matrix _.X = SerSetMat(X);
    28752893\end_layout
    28762894
    2877 \begin_layout Standard
     2895\begin_layout Plain Layout
    28782896
    28792897      Set _.beta.ini = [[beta1, beta2]];
    28802898\end_layout
    28812899
    2882 \begin_layout Standard
    2883 
    2884 \end_layout
    2885 
    2886 \begin_layout Standard
     2900\begin_layout Plain Layout
     2901
     2902\end_layout
     2903
     2904\begin_layout Plain Layout
    28872905
    28882906      Text Get.Name(Real void)
    28892907\end_layout
    28902908
    2891 \begin_layout Standard
     2909\begin_layout Plain Layout
    28922910
    28932911      {
    28942912\end_layout
    28952913
    2896 \begin_layout Standard
     2914\begin_layout Plain Layout
    28972915
    28982916        Text "ObsY"
    28992917\end_layout
    29002918
    2901 \begin_layout Standard
     2919\begin_layout Plain Layout
    29022920
    29032921      };
    29042922\end_layout
    29052923
    2906 \begin_layout Standard
    2907 
    2908 \end_layout
    2909 
    2910 \begin_layout Standard
     2924\begin_layout Plain Layout
     2925
     2926\end_layout
     2927
     2928\begin_layout Plain Layout
    29112929
    29122930      Text Get.Sigma2(Real void)
    29132931\end_layout
    29142932
    2915 \begin_layout Standard
     2933\begin_layout Plain Layout
    29162934
    29172935      {
    29182936\end_layout
    29192937
    2920 \begin_layout Standard
     2938\begin_layout Plain Layout
    29212939
    29222940        Text "sigma2"
    29232941\end_layout
    29242942
    2925 \begin_layout Standard
     2943\begin_layout Plain Layout
    29262944
    29272945      };
    29282946\end_layout
    29292947
    2930 \begin_layout Standard
    2931 
    2932 \end_layout
    2933 
    2934 \begin_layout Standard
     2948\begin_layout Plain Layout
     2949
     2950\end_layout
     2951
     2952\begin_layout Plain Layout
    29352953
    29362954      Set Get.TimeInfo(Real void)
    29372955\end_layout
    29382956
    2939 \begin_layout Standard
     2957\begin_layout Plain Layout
    29402958
    29412959      {
    29422960\end_layout
    29432961
    2944 \begin_layout Standard
     2962\begin_layout Plain Layout
    29452963
    29462964        Set BSR.NoiseTimeInfo(TimeSet Eval(_.dating.name), _.first, _.last)
    29472965\end_layout
    29482966
    2949 \begin_layout Standard
     2967\begin_layout Plain Layout
    29502968
    29512969      };
    29522970\end_layout
    29532971
    2954 \begin_layout Standard
    2955 
    2956 \end_layout
    2957 
    2958 \begin_layout Standard
     2972\begin_layout Plain Layout
     2973
     2974\end_layout
     2975
     2976\begin_layout Plain Layout
    29592977
    29602978      Real Get.ARIMA.Size(Real void)
    29612979\end_layout
    29622980
    2963 \begin_layout Standard
     2981\begin_layout Plain Layout
    29642982
    29652983      {
    29662984\end_layout
    29672985
    2968 \begin_layout Standard
     2986\begin_layout Plain Layout
    29692987
    29702988        Real 1
    29712989\end_layout
    29722990
    2973 \begin_layout Standard
     2991\begin_layout Plain Layout
    29742992
    29752993      };
    29762994\end_layout
    29772995
    2978 \begin_layout Standard
    2979 
    2980 \end_layout
    2981 
    2982 \begin_layout Standard
     2996\begin_layout Plain Layout
     2997
     2998\end_layout
     2999
     3000\begin_layout Plain Layout
    29833001
    29843002      Set Get.ARIMA.Factor(Real f)
    29853003\end_layout
    29863004
    2987 \begin_layout Standard
     3005\begin_layout Plain Layout
    29883006
    29893007      {
    29903008\end_layout
    29913009
    2992 \begin_layout Standard
     3010\begin_layout Plain Layout
    29933011
    29943012        Set ARIMAStruct(1, 1-0.1*B-0.1*B^2, 1-0.1*B, 1)
    29953013\end_layout
    29963014
    2997 \begin_layout Standard
     3015\begin_layout Plain Layout
    29983016
    29993017      };
    30003018\end_layout
    30013019
    3002 \begin_layout Standard
    3003 
    3004 \end_layout
    3005 
    3006 \begin_layout Standard
     3020\begin_layout Plain Layout
     3021
     3022\end_layout
     3023
     3024\begin_layout Plain Layout
    30073025
    30083026      Real Get.Param.Size(Real void)
    30093027\end_layout
    30103028
    3011 \begin_layout Standard
     3029\begin_layout Plain Layout
    30123030
    30133031      {
    30143032\end_layout
    30153033
    3016 \begin_layout Standard
     3034\begin_layout Plain Layout
    30173035
    30183036        Real Rows(_.X)
    30193037\end_layout
    30203038
    3021 \begin_layout Standard
     3039\begin_layout Plain Layout
    30223040
    30233041      };
    30243042\end_layout
    30253043
    3026 \begin_layout Standard
    3027 
    3028 \end_layout
    3029 
    3030 \begin_layout Standard
     3044\begin_layout Plain Layout
     3045
     3046\end_layout
     3047
     3048\begin_layout Plain Layout
    30313049
    30323050      Set Get.Param(Real iP)
    30333051\end_layout
    30343052
    3035 \begin_layout Standard
     3053\begin_layout Plain Layout
    30363054
    30373055      {
    30383056\end_layout
    30393057
    3040 \begin_layout Standard
     3058\begin_layout Plain Layout
    30413059
    30423060        Real value = If(iP>2,Real Rand(-1,1),_.beta.ini[iP]);
    30433061\end_layout
    30443062
    3045 \begin_layout Standard
     3063\begin_layout Plain Layout
    30463064
    30473065        Set Bsr.Param.Info("beta_"+IntText(iP), value, -1/0, 1/0)
    30483066\end_layout
    30493067
    3050 \begin_layout Standard
     3068\begin_layout Plain Layout
    30513069
    30523070      };
    30533071\end_layout
    30543072
    3055 \begin_layout Standard
    3056 
    3057 \end_layout
    3058 
    3059 \begin_layout Standard
     3073\begin_layout Plain Layout
     3074
     3075\end_layout
     3076
     3077\begin_layout Plain Layout
    30603078
    30613079      Real Get.Missing.Size(Real void)
    30623080\end_layout
    30633081
    3064 \begin_layout Standard
     3082\begin_layout Plain Layout
    30653083
    30663084      {
    30673085\end_layout
    30683086
    3069 \begin_layout Standard
     3087\begin_layout Plain Layout
    30703088
    30713089        Real 0
    30723090\end_layout
    30733091
    3074 \begin_layout Standard
     3092\begin_layout Plain Layout
    30753093
    30763094      };
    30773095\end_layout
    30783096
    3079 \begin_layout Standard
    3080 
    3081 \end_layout
    3082 
    3083 \begin_layout Standard
     3097\begin_layout Plain Layout
     3098
     3099\end_layout
     3100
     3101\begin_layout Plain Layout
    30843102
    30853103      Set Get.Missing(Real iP)
    30863104\end_layout
    30873105
    3088 \begin_layout Standard
     3106\begin_layout Plain Layout
    30893107
    30903108      {
    30913109\end_layout
    30923110
    3093 \begin_layout Standard
     3111\begin_layout Plain Layout
    30943112
    30953113        Set Empty
    30963114\end_layout
    30973115
    3098 \begin_layout Standard
     3116\begin_layout Plain Layout
    30993117
    31003118      };
    31013119\end_layout
    31023120
    3103 \begin_layout Standard
    3104 
    3105 \end_layout
    3106 
    3107 \begin_layout Standard
     3121\begin_layout Plain Layout
     3122
     3123\end_layout
     3124
     3125\begin_layout Plain Layout
    31083126
    31093127      Real Get.Equation.Size(Real void)
    31103128\end_layout
    31113129
    3112 \begin_layout Standard
     3130\begin_layout Plain Layout
    31133131
    31143132      {
    31153133\end_layout
    31163134
    3117 \begin_layout Standard
     3135\begin_layout Plain Layout
    31183136
    31193137        // _.X e _.Y están dispuestas por filas
    31203138\end_layout
    31213139
    3122 \begin_layout Standard
     3140\begin_layout Plain Layout
    31233141
    31243142        Real Columns(_.X)
    31253143\end_layout
    31263144
    3127 \begin_layout Standard
     3145\begin_layout Plain Layout
    31283146
    31293147      };
    31303148\end_layout
    31313149
    3132 \begin_layout Standard
    3133 
    3134 \end_layout
    3135 
    3136 \begin_layout Standard
     3150\begin_layout Plain Layout
     3151
     3152\end_layout
     3153
     3154\begin_layout Plain Layout
    31373155
    31383156      Real Get.Equation.Output(Real iE)
    31393157\end_layout
    31403158
    3141 \begin_layout Standard
     3159\begin_layout Plain Layout
    31423160
    31433161      {
    31443162\end_layout
    31453163
    3146 \begin_layout Standard
     3164\begin_layout Plain Layout
    31473165
    31483166        Real MatDat(_.Y,1,iE)
    31493167\end_layout
    31503168
    3151 \begin_layout Standard
     3169\begin_layout Plain Layout
    31523170
    31533171      };
    31543172\end_layout
    31553173
    3156 \begin_layout Standard
    3157 
    3158 \end_layout
    3159 
    3160 \begin_layout Standard
     3174\begin_layout Plain Layout
     3175
     3176\end_layout
     3177
     3178\begin_layout Plain Layout
    31613179
    31623180      Real Get.Equation.Input.Size(Real iE)
    31633181\end_layout
    31643182
    3165 \begin_layout Standard
     3183\begin_layout Plain Layout
    31663184
    31673185      {
    31683186\end_layout
    31693187
    3170 \begin_layout Standard
     3188\begin_layout Plain Layout
    31713189
    31723190        Real Rows(_.X)
    31733191\end_layout
    31743192
    3175 \begin_layout Standard
     3193\begin_layout Plain Layout
    31763194
    31773195      };
    31783196\end_layout
    31793197
    3180 \begin_layout Standard
    3181 
    3182 \end_layout
    3183 
    3184 \begin_layout Standard
     3198\begin_layout Plain Layout
     3199
     3200\end_layout
     3201
     3202\begin_layout Plain Layout
    31853203
    31863204      Real Get.Equation.Input.Coef(Real iE, Real iT)
    31873205\end_layout
    31883206
    3189 \begin_layout Standard
     3207\begin_layout Plain Layout
    31903208
    31913209      {
    31923210\end_layout
    31933211
    3194 \begin_layout Standard
     3212\begin_layout Plain Layout
    31953213
    31963214        Real MatDat(_.X, iT,iE)
    31973215\end_layout
    31983216
    3199 \begin_layout Standard
     3217\begin_layout Plain Layout
    32003218
    32013219      };
    32023220\end_layout
    32033221
    3204 \begin_layout Standard
    3205 
    3206 \end_layout
    3207 
    3208 \begin_layout Standard
     3222\begin_layout Plain Layout
     3223
     3224\end_layout
     3225
     3226\begin_layout Plain Layout
    32093227
    32103228      Text Get.Equation.Input.Param(Real iE, Real iT)
    32113229\end_layout
    32123230
    3213 \begin_layout Standard
     3231\begin_layout Plain Layout
    32143232
    32153233      {
    32163234\end_layout
    32173235
    3218 \begin_layout Standard
     3236\begin_layout Plain Layout
    32193237
    32203238        Text "beta_"+IntText(iT)
    32213239\end_layout
    32223240
    3223 \begin_layout Standard
     3241\begin_layout Plain Layout
    32243242
    32253243      };
    32263244\end_layout
    32273245
    3228 \begin_layout Standard
    3229 
    3230 \end_layout
    3231 
    3232 \begin_layout Standard
     3246\begin_layout Plain Layout
     3247
     3248\end_layout
     3249
     3250\begin_layout Plain Layout
    32333251
    32343252      NameBlock Get.Constraints.Handler(Real void)
    32353253\end_layout
    32363254
    3237 \begin_layout Standard
     3255\begin_layout Plain Layout
    32383256
    32393257      {
    32403258\end_layout
    32413259
    3242 \begin_layout Standard
     3260\begin_layout Plain Layout
    32433261
    32443262        NameBlock BysMcmc::Bsr::Import::Explicit.Constraints([["0>=-beta1+beta2"]
    … …  
    32463264\end_layout
    32473265
     3266\begin_layout Plain Layout
     3267
     3268      }
     3269\end_layout
     3270
     3271\begin_layout Plain Layout
     3272
     3273    ]];
     3274\end_layout
     3275
     3276\begin_layout Plain Layout
     3277
     3278\end_layout
     3279
     3280\begin_layout Plain Layout
     3281
     3282    Text Get.Doc.Model.Name(Real void)
     3283\end_layout
     3284
     3285\begin_layout Plain Layout
     3286
     3287    {
     3288\end_layout
     3289
     3290\begin_layout Plain Layout
     3291
     3292      Text "BSRExample"
     3293\end_layout
     3294
     3295\begin_layout Plain Layout
     3296
     3297    };
     3298\end_layout
     3299
     3300\begin_layout Plain Layout
     3301
     3302\end_layout
     3303
     3304\begin_layout Plain Layout
     3305
     3306    Text Get.Doc.Model.Description(Real void)
     3307\end_layout
     3308
     3309\begin_layout Plain Layout
     3310
     3311    {
     3312\end_layout
     3313
     3314\begin_layout Plain Layout
     3315
     3316      Text "Modelo simple ARMA(2,1)"
     3317\end_layout
     3318
     3319\begin_layout Plain Layout
     3320
     3321    };
     3322\end_layout
     3323
     3324\begin_layout Plain Layout
     3325
     3326\end_layout
     3327
     3328\begin_layout Plain Layout
     3329
     3330    Text Get.Doc.Session.Name(Real void)
     3331\end_layout
     3332
     3333\begin_layout Plain Layout
     3334
     3335    {
     3336\end_layout
     3337
     3338\begin_layout Plain Layout
     3339
     3340      Text _.session.id
     3341\end_layout
     3342
     3343\begin_layout Plain Layout
     3344
     3345    };
     3346\end_layout
     3347
     3348\begin_layout Plain Layout
     3349
     3350\end_layout
     3351
     3352\begin_layout Plain Layout
     3353
     3354    Text Get.Doc.Session.Description(Real void)
     3355\end_layout
     3356
     3357\begin_layout Plain Layout
     3358
     3359    {
     3360\end_layout
     3361
     3362\begin_layout Plain Layout
     3363
     3364      Text "Session "+_.session.id+" para el modelo: " +
     3365\end_layout
     3366
     3367\begin_layout Plain Layout
     3368
     3369           Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0)
     3370\end_layout
     3371
     3372\begin_layout Plain Layout
     3373
     3374    };
     3375\end_layout
     3376
     3377\begin_layout Plain Layout
     3378
     3379\end_layout
     3380
     3381\begin_layout Plain Layout
     3382
     3383    Text Get.Doc.Session.Authors(Real void)
     3384\end_layout
     3385
     3386\begin_layout Plain Layout
     3387
     3388    {
     3389\end_layout
     3390
     3391\begin_layout Plain Layout
     3392
     3393      Text "user@bayesforecast.com"
     3394\end_layout
     3395
     3396\begin_layout Plain Layout
     3397
     3398    };
     3399\end_layout
     3400
     3401\begin_layout Plain Layout
     3402
     3403\end_layout
     3404
     3405\begin_layout Plain Layout
     3406
     3407    Text Get.Doc.Path(Real void)
     3408\end_layout
     3409
     3410\begin_layout Plain Layout
     3411
     3412    {
     3413\end_layout
     3414
     3415\begin_layout Plain Layout
     3416
     3417      Text _.path.out
     3418\end_layout
     3419
     3420\begin_layout Plain Layout
     3421
     3422    };
     3423\end_layout
     3424
     3425\begin_layout Plain Layout
     3426
     3427\end_layout
     3428
     3429\begin_layout Plain Layout
     3430
     3431    Real Get.LinReg.Size(Real void)
     3432\end_layout
     3433
     3434\begin_layout Plain Layout
     3435
     3436    {
     3437\end_layout
     3438
     3439\begin_layout Plain Layout
     3440
     3441      // para el ejemplo actual solo tenemos un segmento de regresión
     3442\end_layout
     3443
     3444\begin_layout Plain Layout
     3445
     3446      Real 1
     3447\end_layout
     3448
     3449\begin_layout Plain Layout
     3450
     3451    };
     3452\end_layout
     3453
     3454\begin_layout Plain Layout
     3455
     3456\end_layout
     3457
     3458\begin_layout Plain Layout
     3459
     3460    NameBlock Get.LinReg.Segment(Real iS)
     3461\end_layout
     3462
     3463\begin_layout Plain Layout
     3464
     3465    {
     3466\end_layout
     3467
     3468\begin_layout Plain Layout
     3469
     3470      // en este caso retornamos el NameBlock para el único segmento
     3471\end_layout
     3472
     3473\begin_layout Plain Layout
     3474
     3475      // que se modela para mas de un segmento de regresión se suele
     3476\end_layout
     3477
     3478\begin_layout Plain Layout
     3479
     3480      // usar un Set que es indexado por iS: _bsr.blocks[iS]
     3481\end_layout
     3482
     3483\begin_layout Plain Layout
     3484
     3485      NameBlock _.bsr.ARMA.2_1
     3486\end_layout
     3487
     3488\begin_layout Plain Layout
     3489
     3490    };
     3491\end_layout
     3492
     3493\begin_layout Plain Layout
     3494
     3495\end_layout
     3496
     3497\begin_layout Plain Layout
     3498
     3499    NameBlock Get.Constraints.Handler(Real void)
     3500\end_layout
     3501
     3502\begin_layout Plain Layout
     3503
     3504    {
     3505\end_layout
     3506
     3507\begin_layout Plain Layout
     3508
     3509      // retornamos un NameBlock predefinido para el caso
     3510\end_layout
     3511
     3512\begin_layout Plain Layout
     3513
     3514      // no restringido
     3515\end_layout
     3516
     3517\begin_layout Plain Layout
     3518
     3519      NameBlock BysMcmc::Bsr::Import::Unconstrained(0)
     3520\end_layout
     3521
     3522\begin_layout Plain Layout
     3523
     3524    }
     3525\end_layout
     3526
     3527\begin_layout Plain Layout
     3528
     3529  ]]
     3530\end_layout
     3531
     3532\begin_layout Plain Layout
     3533
     3534};
     3535\end_layout
     3536
     3537\end_inset
     3538
     3539
     3540\end_layout
     3541
     3542\begin_layout Section
     3543API modular
     3544\end_layout
     3545
    32483546\begin_layout Standard
    3249 
    3250       }
     3547Como se ha visto anteriormente
     3548\begin_inset CommandInset ref
     3549LatexCommand ref
     3550reference "sec:API-modular"
     3551
     3552\end_inset
     3553
     3554, desde la versión 2.0.1 de TOL es posible definir un modelo BSR de forma
     3555 modular.
     3556 Para que el Import sea capaz de crear este tipo de expresión de modeos
     3557 se le han añadido una serie métodos que entrarán en acción si el NameBlock
     3558 de definición del usuario implementa a su vez los siguientes métodos opcionales
     3559\end_layout
     3560
     3561\begin_layout Description
     3562Get.ModuleType retorna el tipo de módulo que puede ser
     3563\begin_inset Quotes eld
     3564\end_inset
     3565
     3566primary
     3567\begin_inset Quotes erd
     3568\end_inset
     3569
     3570,
     3571\begin_inset Quotes erd
     3572\end_inset
     3573
     3574joint
     3575\begin_inset Quotes erd
     3576\end_inset
     3577
     3578 o
     3579\begin_inset Quotes eld
     3580\end_inset
     3581
     3582master
     3583\begin_inset Quotes erd
     3584\end_inset
     3585
     3586.
     3587 Si no existe método se sobreentiende
     3588\begin_inset Quotes eld
     3589\end_inset
     3590
     3591joint
     3592\begin_inset Quotes erd
     3593\end_inset
     3594
     3595 para guardar compatibilidad hacia atrás
     3596\begin_inset listings
     3597lstparams "basicstyle={\small\ttfamily}"
     3598inline false
     3599status open
     3600
     3601\begin_layout Plain Layout
     3602
     3603Text Get.ModuleType(Real unused)
     3604\end_layout
     3605
     3606\end_inset
     3607
     3608
    32513609\end_layout
    32523610
    32533611\begin_layout Standard
    3254 
    3255     ]];
     3612Si se trata de un módulo de tipo
     3613\begin_inset Quotes eld
     3614\end_inset
     3615
     3616master
     3617\begin_inset Quotes erd
     3618\end_inset
     3619
     3620, entonces deberá implementar estos métodos en lugar de los definidos en
     3621 la sección anterior y que corresponden al actual
     3622\begin_inset Quotes eld
     3623\end_inset
     3624
     3625joint
     3626\begin_inset Quotes erd
     3627\end_inset
     3628
     3629
     3630\end_layout
     3631
     3632\begin_layout Description
     3633Get.Modular.Schema retorna el esquema modular o modo en el que se resolverán
     3634 las simulaciones que puede ser
     3635\begin_inset Quotes eld
     3636\end_inset
     3637
     3638monophasic
     3639\begin_inset Quotes erd
     3640\end_inset
     3641
     3642,
     3643\begin_inset Quotes eld
     3644\end_inset
     3645
     3646sequential
     3647\begin_inset Quotes erd
     3648\end_inset
     3649
     3650 Ã³
     3651\begin_inset Quotes eld
     3652\end_inset
     3653
     3654parallel
     3655\begin_inset Quotes erd
     3656\end_inset
     3657
     3658 
     3659\begin_inset listings
     3660lstparams "basicstyle={\small\ttfamily}"
     3661inline false
     3662status open
     3663
     3664\begin_layout Plain Layout
     3665
     3666Text Get.Modular.Schema(Real unused)
     3667\end_layout
     3668
     3669\end_inset
     3670
     3671
     3672\end_layout
     3673
     3674\begin_layout Description
     3675Get.Modules retorna el conjunto de módulos, cada uno de los cuales es un
     3676 NameBlock utilizable a su vez por el Import de forma recursiva
     3677\begin_inset listings
     3678lstparams "basicstyle={\small\ttfamily}"
     3679inline false
     3680status open
     3681
     3682\begin_layout Plain Layout
     3683
     3684Set Get.Modules(Real unused)
     3685\end_layout
     3686
     3687\end_inset
     3688
     3689
    32563690\end_layout
    32573691
    32583692\begin_layout Standard
     3693Si se trata de un módulo de tipo
     3694\begin_inset Quotes eld
     3695\end_inset
     3696
     3697primary
     3698\begin_inset Quotes erd
     3699\end_inset
     3700
     3701, entonces sólo puede tener un segmento el cual debe tener estos métodos
     3702 en lugar de los descritos en la sección Get.Equation.Output, Get.Equation.Input.Size
     3703, Get.Equation.Input.Coef y Get.Equation.Input.Param
     3704\end_layout
     3705
     3706\begin_layout Description
     3707Get.OutputVMatrix devuelve la matriz de output del segmento de regresión
     3708 
     3709\begin_inset listings
     3710lstparams "basicstyle={\small\ttfamily}"
     3711inline false
     3712status open
     3713
     3714\begin_layout Plain Layout
     3715
     3716VMatrix Get.OutputVMatrix(Real unused)
     3717\end_layout
     3718
     3719\end_inset
     3720
     3721
     3722\end_layout
     3723
     3724\begin_layout Description
     3725Get.InputVMatrix devuelve la matriz de input del segmento de regresión
     3726\begin_inset listings
     3727lstparams "basicstyle={\small\ttfamily}"
     3728inline false
     3729status open
     3730
     3731\begin_layout Plain Layout
     3732
     3733VMatrix Get.InputVMatrix(Real unused)
     3734\end_layout
     3735
     3736\end_inset
     3737
    32593738
    32603739\end_layout
    32613740
    32623741\begin_layout Standard
    3263 
    3264     Text Get.Doc.Model.Name(Real void)
     3742El método Get.Equation.Size se mantiene porque el reconocedor sintáctico no
     3743 va a caragr la matriz y desconoce por tanto sus dimensiones.
    32653744\end_layout
    32663745
    32673746\begin_layout Standard
    3268 
    3269     {
    3270 \end_layout
    3271 
    3272 \begin_layout Standard
    3273 
    3274       Text "BSRExample"
    3275 \end_layout
    3276 
    3277 \begin_layout Standard
    3278 
    3279     };
    3280 \end_layout
    3281 
    3282 \begin_layout Standard
    3283 
    3284 \end_layout
    3285 
    3286 \begin_layout Standard
    3287 
    3288     Text Get.Doc.Model.Description(Real void)
    3289 \end_layout
    3290 
    3291 \begin_layout Standard
    3292 
    3293     {
    3294 \end_layout
    3295 
    3296 \begin_layout Standard
    3297 
    3298       Text "Modelo simple ARMA(2,1)"
    3299 \end_layout
    3300 
    3301 \begin_layout Standard
    3302 
    3303     };
    3304 \end_layout
    3305 
    3306 \begin_layout Standard
    3307 
    3308 \end_layout
    3309 
    3310 \begin_layout Standard
    3311 
    3312     Text Get.Doc.Session.Name(Real void)
    3313 \end_layout
    3314 
    3315 \begin_layout Standard
    3316 
    3317     {
    3318 \end_layout
    3319 
    3320 \begin_layout Standard
    3321 
    3322       Text _.session.id
    3323 \end_layout
    3324 
    3325 \begin_layout Standard
    3326 
    3327     };
    3328 \end_layout
    3329 
    3330 \begin_layout Standard
    3331 
    3332 \end_layout
    3333 
    3334 \begin_layout Standard
    3335 
    3336     Text Get.Doc.Session.Description(Real void)
    3337 \end_layout
    3338 
    3339 \begin_layout Standard
    3340 
    3341     {
    3342 \end_layout
    3343 
    3344 \begin_layout Standard
    3345 
    3346       Text "Session "+_.session.id+" para el modelo: " +
    3347 \end_layout
    3348 
    3349 \begin_layout Standard
    3350 
    3351            Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0)
    3352 \end_layout
    3353 
    3354 \begin_layout Standard
    3355 
    3356     };
    3357 \end_layout
    3358 
    3359 \begin_layout Standard
    3360 
    3361 \end_layout
    3362 
    3363 \begin_layout Standard
    3364 
    3365     Text Get.Doc.Session.Authors(Real void)
    3366 \end_layout
    3367 
    3368 \begin_layout Standard
    3369 
    3370     {
    3371 \end_layout
    3372 
    3373 \begin_layout Standard
    3374 
    3375       Text "user@bayesforecast.com"
    3376 \end_layout
    3377 
    3378 \begin_layout Standard
    3379 
    3380     };
    3381 \end_layout
    3382 
    3383 \begin_layout Standard
    3384 
    3385 \end_layout
    3386 
    3387 \begin_layout Standard
    3388 
    3389     Text Get.Doc.Path(Real void)
    3390 \end_layout
    3391 
    3392 \begin_layout Standard
    3393 
    3394     {
    3395 \end_layout
    3396 
    3397 \begin_layout Standard
    3398 
    3399       Text _.path.out
    3400 \end_layout
    3401 
    3402 \begin_layout Standard
    3403 
    3404     };
    3405 \end_layout
    3406 
    3407 \begin_layout Standard
    3408 
    3409 \end_layout
    3410 
    3411 \begin_layout Standard
    3412 
    3413     Real Get.LinReg.Size(Real void)
    3414 \end_layout
    3415 
    3416 \begin_layout Standard
    3417 
    3418     {
    3419 \end_layout
    3420 
    3421 \begin_layout Standard
    3422 
    3423       // para el ejemplo actual solo tenemos un segmento de regresión
    3424 \end_layout
    3425 
    3426 \begin_layout Standard
    3427 
    3428       Real 1
    3429 \end_layout
    3430 
    3431 \begin_layout Standard
    3432 
    3433     };
    3434 \end_layout
    3435 
    3436 \begin_layout Standard
    3437 
    3438 \end_layout
    3439 
    3440 \begin_layout Standard
    3441 
    3442     NameBlock Get.LinReg.Segment(Real iS)
    3443 \end_layout
    3444 
    3445 \begin_layout Standard
    3446 
    3447     {
    3448 \end_layout
    3449 
    3450 \begin_layout Standard
    3451 
    3452       // en este caso retornamos el NameBlock para el único segmento
    3453 \end_layout
    3454 
    3455 \begin_layout Standard
    3456 
    3457       // que se modela para mas de un segmento de regresión se suele
    3458 \end_layout
    3459 
    3460 \begin_layout Standard
    3461 
    3462       // usar un Set que es indexado por iS: _bsr.blocks[iS]
    3463 \end_layout
    3464 
    3465 \begin_layout Standard
    3466 
    3467       NameBlock _.bsr.ARMA.2_1
    3468 \end_layout
    3469 
    3470 \begin_layout Standard
    3471 
    3472     };
    3473 \end_layout
    3474 
    3475 \begin_layout Standard
    3476 
    3477 \end_layout
    3478 
    3479 \begin_layout Standard
    3480 
    3481     NameBlock Get.Constraints.Handler(Real void)
    3482 \end_layout
    3483 
    3484 \begin_layout Standard
    3485 
    3486     {
    3487 \end_layout
    3488 
    3489 \begin_layout Standard
    3490 
    3491       // retornamos un NameBlock predefinido para el caso
    3492 \end_layout
    3493 
    3494 \begin_layout Standard
    3495 
    3496       // no restringido
    3497 \end_layout
    3498 
    3499 \begin_layout Standard
    3500 
    3501       NameBlock BysMcmc::Bsr::Import::Unconstrained(0)
    3502 \end_layout
    3503 
    3504 \begin_layout Standard
    3505 
    3506     }
    3507 \end_layout
    3508 
    3509 \begin_layout Standard
    3510 
    3511   ]]
    3512 \end_layout
    3513 
    3514 \begin_layout Standard
    3515 
    3516 };
     3747Tanto en los módulos
     3748\begin_inset Quotes eld
     3749\end_inset
     3750
     3751primary
     3752\begin_inset Quotes erd
     3753\end_inset
     3754
     3755 como en los
     3756\begin_inset Quotes eld
     3757\end_inset
     3758
     3759joint
     3760\begin_inset Quotes erd
     3761\end_inset
     3762
     3763 los segmentos pueden ahora añadir la información referida a los fitrosno
     3764 lineales que antes se introducían a BSR de forma externa.
     3765 Para ello se deberá definir el método
     3766\end_layout
     3767
     3768\begin_layout Description
     3769Get.NonLinearFilters Devuelve un conjunto de NameBlock's cada uno de los
     3770 cuales define un filtro no lineal sobre el mismo segmento
     3771\begin_inset listings
     3772lstparams "basicstyle={\small\ttfamily}"
     3773inline false
     3774status open
     3775
     3776\begin_layout Plain Layout
     3777
     3778Set Get.NonLinearFilters(Real unused)
    35173779\end_layout
    35183780
Note: See TracChangeset for help on using the changeset viewer.