Changeset 9ba790a in tol for doc


Ignore:
Timestamp:
Nov 19, 2008, 9:50:50 AM (18 years ago)
Author:
Miguel Ángel Fernández <mafernandez@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
55fca77
Parents:
77dfa39
Message:

Actualizado con funcion ModSes.Mix.Constraint.Create

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

File:
1 edited

Legend:

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

    r77dfa39 r9ba790a  
    1 #LyX 1.5.6 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:Plantilla-del-modelo-Bsr-Hlm"
    6976
    … …  
    8592A continuación exponemos las partes necesarias de código en las que consiste
    8693 una plantilla ejemplo para el uso de BSr-Hlm:
    87 \newline
    88 
    89 \newline
    90 Este NameBlock especifica
    91  los datos necesarios para la conexión con la base da datos BsrHlm
    92 \newline
     94\begin_inset Newline newline
     95\end_inset
     96
     97
     98\begin_inset Newline newline
     99\end_inset
     100
     101Este NameBlock especifica los datos necesarios para la conexión con la base
     102 da datos BsrHlm
     103\begin_inset Newline newline
     104\end_inset
     105
    93106
    94107\begin_inset listings
    … …  
    96109status open
    97110
    98 \begin_layout Standard
     111\begin_layout Plain Layout
    99112
    100113NameBlock DBConnection = [[   
    101114\end_layout
    102115
    103 \begin_layout Standard
     116\begin_layout Plain Layout
    104117
    105118  NameBlock BsrHlm = DBConnect::Create("BsrHlm","bysfor","bys!98.",
    106119\end_layout
    107120
    108 \begin_layout Standard
     121\begin_layout Plain Layout
    109122
    110123     "mysql","bysNPIDSO","d-mysql01","Almacenamiento de
    111124\end_layout
    112125
    113 \begin_layout Standard
     126\begin_layout Plain Layout
    114127
    115128      modelos BSR-DynHLM"); 
    116129\end_layout
    117130
    118 \begin_layout Standard
     131\begin_layout Plain Layout
    119132
    120133  Real check = Real DBConnect::CheckAll(0)
    121134\end_layout
    122135
    123 \begin_layout Standard
     136\begin_layout Plain Layout
    124137
    125138                         ]];
    … …  
    129142
    130143Activamos la base de datos BsrHlm:
    131 \newline
     144\begin_inset Newline newline
     145\end_inset
     146
    132147
    133148\begin_inset listings
    … …  
    135150status open
    136151
    137 \begin_layout Standard
     152\begin_layout Plain Layout
    138153
    139154Real DBConnection::BsrHlm::Activate(0);
    … …  
    143158
    144159Identificamos el nombre del modelo:
    145 \newline
     160\begin_inset Newline newline
     161\end_inset
     162
    146163
    147164\begin_inset listings
    … …  
    149166status open
    150167
    151 \begin_layout Standard
     168\begin_layout Plain Layout
    152169
    153170Text id_model =  "BSR_Lat.Reg.Test_III";
    … …  
    157174
    158175Descripción del objetivo del modelo:
    159 \newline
     176\begin_inset Newline newline
     177\end_inset
     178
    160179
    161180\begin_inset listings
    … …  
    163182status open
    164183
    165 \begin_layout Standard
     184\begin_layout Plain Layout
    166185
    167186Text ds_model = "Pruebas para nodos latentes regresivos";
    … …  
    171190
    172191Identificamos la sesión:
    173 \newline
     192\begin_inset Newline newline
     193\end_inset
     194
    174195
    175196\begin_inset listings
    … …  
    177198status open
    178199
    179 \begin_layout Standard
     200\begin_layout Plain Layout
    180201
    181202Text id_session = "SES_LAT.REG_TEST.20081006_22";
    … …  
    185206
    186207Descripción de la sesión:
    187 \newline
     208\begin_inset Newline newline
     209\end_inset
     210
    188211
    189212\begin_inset listings
    … …  
    191214status open
    192215
    193 \begin_layout Standard
     216\begin_layout Plain Layout
    194217
    195218Text ds_session = "Pruebas nodos regresivos latentes";
    … …  
    199222
    200223Listado de autores:
    201 \newline
     224\begin_inset Newline newline
     225\end_inset
     226
    202227
    203228\begin_inset listings
    … …  
    205230status open
    206231
    207 \begin_layout Standard
     232\begin_layout Plain Layout
    208233
    209234Text ds_authors = "mafernandez@bayesinf.com;";
    … …  
    213238
    214239Inserción del modelo en la base de datos:
    215 \newline
     240\begin_inset Newline newline
     241\end_inset
     242
    216243
    217244\begin_inset listings
    … …  
    219246status open
    220247
    221 \begin_layout Standard
     248\begin_layout Plain Layout
    222249
    223250Real BysMcmc::Bsr::DynHlm::DBApi::Mod.Create(
    224251\end_layout
    225252
    226 \begin_layout Standard
     253\begin_layout Plain Layout
    227254
    228255     DBConnection::BsrHlm::_.defaultDB, id_model, ds_model);
    … …  
    232259
    233260Inserción de la sesión en la base de datos:
    234 \newline
     261\begin_inset Newline newline
     262\end_inset
     263
    235264
    236265\begin_inset listings
    … …  
    238267status open
    239268
    240 \begin_layout Standard
     269\begin_layout Plain Layout
    241270
    242271Real BysMcmc::Bsr::DynHlm::DBApi::Ses.Create(
    243272\end_layout
    244273
    245 \begin_layout Standard
     274\begin_layout Plain Layout
    246275
    247276     DBConnection::BsrHlm::_.defaultDB, id_session, ds_session,
    248277\end_layout
    249278
    250 \begin_layout Standard
     279\begin_layout Plain Layout
    251280
    252281     ds_authors);
    … …  
    256285
    257286Inserción del modelo-sesión en la base de datos:
    258 \newline
     287\begin_inset Newline newline
     288\end_inset
     289
    259290
    260291\begin_inset listings
    … …  
    262293status open
    263294
    264 \begin_layout Standard
     295\begin_layout Plain Layout
    265296
    266297Real BysMcmc::Bsr::DynHlm::DBApi::ModSes.Create(
    267298\end_layout
    268299
    269 \begin_layout Standard
     300\begin_layout Plain Layout
    270301
    271302      DBConnection::BsrHlm::_.defaultDB, id_model, id_session);
    … …  
    275306
    276307Se crean en la base da datos los niveles de jerarquía .
    277 \newline
     308\begin_inset Newline newline
     309\end_inset
     310
    278311
    279312\begin_inset listings
    … …  
    281314status open
    282315
    283 \begin_layout Standard
     316\begin_layout Plain Layout
    284317
    285318Real BysMcmc::Bsr::DynHlm::DBApi::ModSes.SetLevels(
    286319\end_layout
    287320
    288 \begin_layout Standard
     321\begin_layout Plain Layout
    289322
    290323     DBConnection::BsrHlm::_.defaultDB,id_model,id_session,
    291324\end_layout
    292325
    293 \begin_layout Standard
     326\begin_layout Plain Layout
    294327
    295328     Real maxLatLevel = 1,
    296329\end_layout
    297330
    298 \begin_layout Standard
     331\begin_layout Plain Layout
    299332
    300333     Real hasPrior    = True,
    301334\end_layout
    302335
    303 \begin_layout Standard
     336\begin_layout Plain Layout
    304337
    305338     Real hasMixture  = False)};
    … …  
    317350 NameBlock, los comentarios realizados con ## indican variables que son
    318351 obligatorias:
    319 \newline
     352\begin_inset Newline newline
     353\end_inset
     354
    320355
    321356\begin_inset listings
    … …  
    323358status open
    324359
    325 \begin_layout Standard
     360\begin_layout Plain Layout
    326361
    327362/////////////////////////////////////////////////////////
    328363\end_layout
    329364
    330 \begin_layout Standard
     365\begin_layout Plain Layout
    331366
    332367NameBlock node.series.handler (Real node)
    333368\end_layout
    334369
    335 \begin_layout Standard
     370\begin_layout Plain Layout
    336371
    337372/////////////////////////////////////////////////////////
    338373\end_layout
    339374
    340 \begin_layout Standard
     375\begin_layout Plain Layout
    341376
    342377{ [[
    343378\end_layout
    344379
    345 \begin_layout Standard
     380\begin_layout Plain Layout
    346381
    347382    // Se forma la etiqueta del nodo.
    348383\end_layout
    349384
    350 \begin_layout Standard
     385\begin_layout Plain Layout
    351386
    352387    Text _node = FormatReal(node,"%1.0f");
    353388\end_layout
    354389
    355 \begin_layout Standard
     390\begin_layout Plain Layout
    356391
    357392    //## Nombre del nodo
    358393\end_layout
    359394
    360 \begin_layout Standard
     395\begin_layout Plain Layout
    361396
    362397    Text _.description = "Nodo observacional referido al output "+_node;
    363398\end_layout
    364399
    365 \begin_layout Standard
     400\begin_layout Plain Layout
    366401
    367402    //# Contiene todas las series output e input con nombres únicos dentro
    368403\end_layout
    369404
    370 \begin_layout Standard
     405\begin_layout Plain Layout
    371406
    372407    //de cada nodo
    373408\end_layout
    374409
    375 \begin_layout Standard
     410\begin_layout Plain Layout
    376411
    377412     Set _.series = { SetOfSerie (
    378413\end_layout
    379414
    380 \begin_layout Standard
     415\begin_layout Plain Layout
    381416
    382417        Output = .....
    383418\end_layout
    384419
    385 \begin_layout Standard
     420\begin_layout Plain Layout
    386421
    387422        Input1 = .....
    388423\end_layout
    389424
    390 \begin_layout Standard
     425\begin_layout Plain Layout
    391426
    392427        Input2 = .....
    393428\end_layout
    394429
    395 \begin_layout Standard
     430\begin_layout Plain Layout
    396431
    397432        ....
    398433\end_layout
    399434
    400 \begin_layout Standard
     435\begin_layout Plain Layout
    401436
    402437               )
    403438\end_layout
    404439
    405 \begin_layout Standard
     440\begin_layout Plain Layout
    406441
    407442                    };
    408443\end_layout
    409444
    410 \begin_layout Standard
     445\begin_layout Plain Layout
    411446
    412447    //# Se indexa para acelerar búsquedas
    413448\end_layout
    414449
    415 \begin_layout Standard
     450\begin_layout Plain Layout
    416451
    417452      Real _check_unique = SetIndexByName(_.series);
    418453\end_layout
    419454
    420 \begin_layout Standard
     455\begin_layout Plain Layout
    421456
    422457    //## Devuelve serie del nodo dado un identificaador único
    423458\end_layout
    424459
    425 \begin_layout Standard
     460\begin_layout Plain Layout
    426461
    427462      GetSerie (Text id_serie)
    428463\end_layout
    429464
    430 \begin_layout Standard
     465\begin_layout Plain Layout
    431466
    432467      {
    433468\end_layout
    434469
    435 \begin_layout Standard
     470\begin_layout Plain Layout
    436471
    437472       _.series[id_serie]
    438473\end_layout
    439474
    440 \begin_layout Standard
     475\begin_layout Plain Layout
    441476
    442477      }
    443478\end_layout
    444479
    445 \begin_layout Standard
     480\begin_layout Plain Layout
    446481
    447482    //##Información adicional del modelo sobre el output
    448483\end_layout
    449484
    450 \begin_layout Standard
     485\begin_layout Plain Layout
    451486
    452487     NameBlock _.output =   
    453488\end_layout
    454489
    455 \begin_layout Standard
     490\begin_layout Plain Layout
    456491
    457492      {[[
    458493\end_layout
    459494
    460 \begin_layout Standard
     495\begin_layout Plain Layout
    461496
    462497      //##Nombre con el que reconoce la serie en la base de datos
    463498\end_layout
    464499
    465 \begin_layout Standard
     500\begin_layout Plain Layout
    466501
    467502      Text _.name = "Output";
    468503\end_layout
    469504
    470 \begin_layout Standard
     505\begin_layout Plain Layout
    471506
    472507      //##Serie output
    473508\end_layout
    474509
    475 \begin_layout Standard
     510\begin_layout Plain Layout
    476511
    477512      Serie _.serie = _.series::Output;
    478513\end_layout
    479514
    480 \begin_layout Standard
     515\begin_layout Plain Layout
    481516
    482517      //##Número de sigmas para la distribución a priori de los omitidos
    483518\end_layout
    484519
    485 \begin_layout Standard
     520\begin_layout Plain Layout
    486521
    487522      Real _.mis_pri_sig_fac = 5;
    488523\end_layout
    489524
    490 \begin_layout Standard
     525\begin_layout Plain Layout
    491526
    492527      //##Valor mínimo a priori para los omitidos
    493528\end_layout
    494529
    495 \begin_layout Standard
     530\begin_layout Plain Layout
    496531
    497532      Real _.mis_pri_min     = 0;
    498533\end_layout
    499534
    500 \begin_layout Standard
     535\begin_layout Plain Layout
    501536
    502537      //##Valor máximo a priori para los omitidos
    503538\end_layout
    504539
    505 \begin_layout Standard
     540\begin_layout Plain Layout
    506541
    507542      Real _.mis_pri_max     = 2;
    508543\end_layout
    509544
    510 \begin_layout Standard
     545\begin_layout Plain Layout
    511546
    512547      //##Fecha inicial de estimación del nodo
    513548\end_layout
    514549
    515 \begin_layout Standard
     550\begin_layout Plain Layout
    516551
    517552      Date _.firstDate =  y2001m01;
    518553\end_layout
    519554
    520 \begin_layout Standard
     555\begin_layout Plain Layout
    521556
    522557      //##Fecha final de estimación del nodo
    523558\end_layout
    524559
    525 \begin_layout Standard
     560\begin_layout Plain Layout
    526561
    527562      Date _.lastDate  =  y2013m01;
    528563\end_layout
    529564
    530 \begin_layout Standard
     565\begin_layout Plain Layout
    531566
    532567      //Desviación típica de los residuos.
    … …  
    534569\end_layout
    535570
    536 \begin_layout Standard
     571\begin_layout Plain Layout
    537572
    538573      Real _.sigma = ?;
    539574\end_layout
    540575
    541 \begin_layout Standard
     576\begin_layout Plain Layout
    542577
    543578      //##Parte ARIMA asociada
    544579\end_layout
    545580
    546 \begin_layout Standard
     581\begin_layout Plain Layout
    547582
    548583      Set _.arima = SetOfSet (
    549584\end_layout
    550585
    551 \begin_layout Standard
     586\begin_layout Plain Layout
    552587
    553588         ARIMAStruct (1,1,1,1)
    554589\end_layout
    555590
    556 \begin_layout Standard
     591\begin_layout Plain Layout
    557592
    558593      )
    559594\end_layout
    560595
    561 \begin_layout Standard
     596\begin_layout Plain Layout
    562597
    563598      ]]};
    564599\end_layout
    565600
    566 \begin_layout Standard
     601\begin_layout Plain Layout
    567602
    568603      //##Información adicional del modelo sobre los inputs
    569604\end_layout
    570605
    571 \begin_layout Standard
     606\begin_layout Plain Layout
    572607
    573608      //Cada elemento es un NameBlock cuyo nombre será el identificador
    … …  
    575610\end_layout
    576611
    577 \begin_layout Standard
     612\begin_layout Plain Layout
    578613
    579614      //la base de datos de BsrHlm y es obligatorio que se llame igual que
    580615\end_layout
    581616
    582 \begin_layout Standard
     617\begin_layout Plain Layout
    583618
    584619      //la corespondiente serie input
    585620\end_layout
    586621
    587 \begin_layout Standard
     622\begin_layout Plain Layout
    588623
    589624      Set _.input = {
    590625\end_layout
    591626
    592 \begin_layout Standard
     627\begin_layout Plain Layout
    593628
    594629      SetOfNameBlock(
    595630\end_layout
    596631
    597 \begin_layout Standard
     632\begin_layout Plain Layout
    598633
    599634      NameBlock Input1= [[
    600635\end_layout
    601636
    602 \begin_layout Standard
     637\begin_layout Plain Layout
    603638
    604639      //##Serie input
    605640\end_layout
    606641
    607 \begin_layout Standard
     642\begin_layout Plain Layout
    608643
    609644      Serie _.serie = _.series::Input1;
    610645\end_layout
    611646
    612 \begin_layout Standard
     647\begin_layout Plain Layout
    613648
    614649      //##Si es falso no se usará este input
    615650\end_layout
    616651
    617 \begin_layout Standard
     652\begin_layout Plain Layout
    618653
    619654      Real _.enabled = 1;
    620655\end_layout
    621656
    622 \begin_layout Standard
     657\begin_layout Plain Layout
    623658
    624659      //##Número de sigmas para la distribución a priori de los omitidos
    625660\end_layout
    626661
    627 \begin_layout Standard
     662\begin_layout Plain Layout
    628663
    629664      Real _.mis_pri_sig_fac =  5;
    630665\end_layout
    631666
    632 \begin_layout Standard
     667\begin_layout Plain Layout
    633668
    634669      //##Valor mínimo a priori para los omitidos
    635670\end_layout
    636671
    637 \begin_layout Standard
     672\begin_layout Plain Layout
    638673
    639674      Real _.mis_pri_min     =  0;
    640675\end_layout
    641676
    642 \begin_layout Standard
     677\begin_layout Plain Layout
    643678
    644679      //##Valor máximo a priori para los omitidos
    645680\end_layout
    646681
    647 \begin_layout Standard
     682\begin_layout Plain Layout
    648683
    649684      Real _.mis_pri_max     =  2;
    650685\end_layout
    651686
    652 \begin_layout Standard
     687\begin_layout Plain Layout
    653688
    654689      //##Valor inicial del parámetro
    655690\end_layout
    656691
    657 \begin_layout Standard
     692\begin_layout Plain Layout
    658693
    659694      Real _.initValue       = 0.1;
    660695\end_layout
    661696
    662 \begin_layout Standard
     697\begin_layout Plain Layout
    663698
    664699      //##Valor mínimo a priori del parámetro
    665700\end_layout
    666701
    667 \begin_layout Standard
     702\begin_layout Plain Layout
    668703
    669704      Real _.minimum         = -1;
    670705\end_layout
    671706
    672 \begin_layout Standard
     707\begin_layout Plain Layout
    673708
    674709      //##Valor máximo a priori del parámetro
    675710\end_layout
    676711
    677 \begin_layout Standard
     712\begin_layout Plain Layout
    678713
    679714      Real _.maximum         =  1
    680715\end_layout
    681716
    682 \begin_layout Standard
     717\begin_layout Plain Layout
    683718
    684719      ]],
    685720\end_layout
    686721
    687 \begin_layout Standard
     722\begin_layout Plain Layout
    688723
    689724      NameBlock Input2 = [[
    690725\end_layout
    691726
    692 \begin_layout Standard
     727\begin_layout Plain Layout
    693728
    694729       .....
    695730\end_layout
    696731
    697 \begin_layout Standard
     732\begin_layout Plain Layout
    698733
    699734       .....
    700735\end_layout
    701736
    702 \begin_layout Standard
     737\begin_layout Plain Layout
    703738
    704739      ]],
    705740\end_layout
    706741
    707 \begin_layout Standard
     742\begin_layout Plain Layout
    708743
    709744      .....
    710745\end_layout
    711746
    712 \begin_layout Standard
     747\begin_layout Plain Layout
    713748
    714749    // Se indexa para acelerar busquedas
    715750\end_layout
    716751
    717 \begin_layout Standard
     752\begin_layout Plain Layout
    718753
    719754    Real _checkUniqueInput = SetIndexByName(_.input)
    720755\end_layout
    721756
    722 \begin_layout Standard
     757\begin_layout Plain Layout
    723758
    724759 ]]
    725760\end_layout
    726761
    727 \begin_layout Standard
     762\begin_layout Plain Layout
    728763
    729764};
    … …  
    738773Ahora se llama al manejador de series del modelo, notar que el bucle For
    739774 debe correr a todos los nodos observacionales que se quieran calcular:
    740 \newline
     775\begin_inset Newline newline
     776\end_inset
     777
    741778
    742779\begin_inset listings
    … …  
    744781status open
    745782
    746 \begin_layout Standard
     783\begin_layout Plain Layout
    747784
    748785///////////////////////////////////////////////////////
    749786\end_layout
    750787
    751 \begin_layout Standard
     788\begin_layout Plain Layout
    752789
    753790NameBlock series.handler =
    754791\end_layout
    755792
    756 \begin_layout Standard
     793\begin_layout Plain Layout
    757794
    758795  BysMcmc::Bsr::DynHlm::DBApi::CreateSeriesHandler(
    759796\end_layout
    760797
    761 \begin_layout Standard
     798\begin_layout Plain Layout
    762799
    763800  For (1,num_nodos, NameBlock (Real node)
    764801\end_layout
    765802
    766 \begin_layout Standard
     803\begin_layout Plain Layout
    767804
    768805  {
    769806\end_layout
    770807
    771 \begin_layout Standard
     808\begin_layout Plain Layout
    772809
    773810   WriteLn("[series.handler] creando de series del nodo "+ IntText(node));
    774811\end_layout
    775812
    776 \begin_layout Standard
     813\begin_layout Plain Layout
    777814
    778815   NameBlock aux = node.series.handler(node);   
    779816\end_layout
    780817
    781 \begin_layout Standard
     818\begin_layout Plain Layout
    782819
    783820   Eval(aux::_.id_node+"=aux")
    784821\end_layout
    785822
    786 \begin_layout Standard
     823\begin_layout Plain Layout
    787824
    788825}));
    … …  
    792829
    793830 Ahora se crea en la base de datos los nodos observacionales :
    794 \newline
     831\begin_inset Newline newline
     832\end_inset
     833
    795834
    796835\begin_inset listings
    … …  
    798837status open
    799838
    800 \begin_layout Standard
     839\begin_layout Plain Layout
    801840
    802841Real BysMcmc::Bsr::DynHlm::DBApi::ModSes.Obs.CreateAll(
    803842\end_layout
    804843
    805 \begin_layout Standard
     844\begin_layout Plain Layout
    806845
    807846     DBConnection::BsrHlm::_.defaultDB, id_model, id_session,
    808847\end_layout
    809848
    810 \begin_layout Standard
     849\begin_layout Plain Layout
    811850
    812851     series.handler::_.obs.node);
    … …  
    822861 para implementar en el modelo los nodos latentes, nodos a priori etc...
    823862 Incluimos algunos ejemplos del uso de estas funciones
    824 \newline
    825 
    826 \newline
     863\begin_inset Newline newline
     864\end_inset
     865
     866
     867\begin_inset Newline newline
     868\end_inset
     869
    827870
    828871\series bold
    … …  
    838881status open
    839882
    840 \begin_layout Standard
     883\begin_layout Plain Layout
    841884
    842885Real {
    843886\end_layout
    844887
    845 \begin_layout Standard
     888\begin_layout Plain Layout
    846889
    847890 BysMcmc::Bsr::DynHlm::DBApi::ModSes.Lat.Homog_1.Create
    848891\end_layout
    849892
    850 \begin_layout Standard
     893\begin_layout Plain Layout
    851894
    852895 (DBConnection::BsrHlm::_.defaultDB,
    853896\end_layout
    854897
    855 \begin_layout Standard
     898\begin_layout Plain Layout
    856899
    857900  id_model,
    858901\end_layout
    859902
    860 \begin_layout Standard
     903\begin_layout Plain Layout
    861904
    862905  id_session,
    863906\end_layout
    864907
    865 \begin_layout Standard
     908\begin_layout Plain Layout
    866909
    867910  // identificación del nodo latente
    868911\end_layout
    869912
    870 \begin_layout Standard
     913\begin_layout Plain Layout
    871914
    872915  id_node = "Lat."+child_input,
    873916\end_layout
    874917
    875 \begin_layout Standard
     918\begin_layout Plain Layout
    876919
    877920  // descripción del node latente
    878921\end_layout
    879922
    880 \begin_layout Standard
     923\begin_layout Plain Layout
    881924
    882925  description = "Fuerza la homogeneidad de la variable ...",
    883926\end_layout
    884927
    885 \begin_layout Standard
     928\begin_layout Plain Layout
    886929
    887930  // Nivel de latencia en la jerarquía
    888931\end_layout
    889932
    890 \begin_layout Standard
     933\begin_layout Plain Layout
    891934
    892935  Real level = 1,
    893936\end_layout
    894937
    895 \begin_layout Standard
     938\begin_layout Plain Layout
    896939
    897940  //Orden de aparición dentro del nivel
    898941\end_layout
    899942
    900 \begin_layout Standard
     943\begin_layout Plain Layout
    901944
    902945  Copy(level.1_number := level.1_number+1),
    903946\end_layout
    904947
    905 \begin_layout Standard
     948\begin_layout Plain Layout
    906949
    907950  //Nombre del hiperparámetro
    908951\end_layout
    909952
    910 \begin_layout Standard
     953\begin_layout Plain Layout
    911954
    912955  Text id_parameter = "hiper",
    913956\end_layout
    914957
    915 \begin_layout Standard
     958\begin_layout Plain Layout
    916959
    917960  //Valor inicial del hiperparámetro
    918961\end_layout
    919962
    920 \begin_layout Standard
     963\begin_layout Plain Layout
    921964
    922965  Real initValue = -0.1,
    923966\end_layout
    924967
    925 \begin_layout Standard
     968\begin_layout Plain Layout
    926969
    927970  //Desviación típica de los residuos.
    … …  
    929972\end_layout
    930973
    931 \begin_layout Standard
     974\begin_layout Plain Layout
    932975
    933976  Real sigma = 0.05,
    934977\end_layout
    935978
    936 \begin_layout Standard
     979\begin_layout Plain Layout
    937980
    938981  //Valor mínimo del hiperparámetro
    939982\end_layout
    940983
    941 \begin_layout Standard
     984\begin_layout Plain Layout
    942985
    943986  Real minimum = -1,
    944987\end_layout
    945988
    946 \begin_layout Standard
     989\begin_layout Plain Layout
    947990
    948991  //Valor máximo del hiperparámetro
    949992\end_layout
    950993
    951 \begin_layout Standard
     994\begin_layout Plain Layout
    952995
    953996  Real maximum = 10,
    954997\end_layout
    955998
    956 \begin_layout Standard
     999\begin_layout Plain Layout
    9571000
    9581001  //Selección de los parámetros y nodos hijos con el input habilitado
    9591002\end_layout
    9601003
    961 \begin_layout Standard
     1004\begin_layout Plain Layout
    9621005
    9631006  //Es un Set formado por tantos NameBlocks como parémetroas hijos
    9641007\end_layout
    9651008
    966 \begin_layout Standard
     1009\begin_layout Plain Layout
    9671010
    9681011  //(betas) formen el nodo latente homogéneo
    9691012\end_layout
    9701013
    971 \begin_layout Standard
     1014\begin_layout Plain Layout
    9721015
    9731016  [[
    9741017\end_layout
    9751018
    976 \begin_layout Standard
     1019\begin_layout Plain Layout
    9771020
    9781021    NameBlock beta1 = [[
    9791022\end_layout
    9801023
    981 \begin_layout Standard
     1024\begin_layout Plain Layout
    9821025
    9831026       Text _.id_parameter = "Nombre del nodo donde está beta1"
    9841027\end_layout
    9851028
    986 \begin_layout Standard
     1029\begin_layout Plain Layout
    9871030
    9881031       Text _.id_node      = "Nodo donde está situado el beta1"
    9891032\end_layout
    9901033
    991 \begin_layout Standard
     1034\begin_layout Plain Layout
    9921035
    9931036       Real _.sigma_factor = 1
    9941037\end_layout
    9951038
    996 \begin_layout Standard
     1039\begin_layout Plain Layout
    9971040
    9981041                      ]],
    9991042\end_layout
    10001043
    1001 \begin_layout Standard
     1044\begin_layout Plain Layout
    10021045
    10031046    NameBlock beta2 = [[ ...
    10041047\end_layout
    10051048
    1006 \begin_layout Standard
     1049\begin_layout Plain Layout
    10071050
    10081051                         ...]],
    10091052\end_layout
    10101053
    1011 \begin_layout Standard
     1054\begin_layout Plain Layout
    10121055
    10131056    ...
    10141057\end_layout
    10151058
    1016 \begin_layout Standard
     1059\begin_layout Plain Layout
    10171060
    10181061    ...
    10191062\end_layout
    10201063
    1021 \begin_layout Standard
     1064\begin_layout Plain Layout
    10221065
    10231066  ]]
    10241067\end_layout
    10251068
    1026 \begin_layout Standard
     1069\begin_layout Plain Layout
    10271070
    10281071 )};
    … …  
    10411084status open
    10421085
    1043 \begin_layout Standard
     1086\begin_layout Plain Layout
    10441087
    10451088Real {
    10461089\end_layout
    10471090
    1048 \begin_layout Standard
     1091\begin_layout Plain Layout
    10491092
    10501093  // Set de hiperparámetros.
    … …  
    10521095\end_layout
    10531096
    1054 \begin_layout Standard
     1097\begin_layout Plain Layout
    10551098
    10561099  // hiperparámetros tiene el nodo lantente.
    10571100\end_layout
    10581101
    1059 \begin_layout Standard
     1102\begin_layout Plain Layout
    10601103
    10611104  Set father_parameters = [[
    10621105\end_layout
    10631106
    1064 \begin_layout Standard
     1107\begin_layout Plain Layout
    10651108
    10661109      NameBlock Lam1 =  ModSes.Lat.Father.Param.Def (
    10671110\end_layout
    10681111
    1069 \begin_layout Standard
     1112\begin_layout Plain Layout
    10701113
    10711114                        Text id_parameter = "hiper1",
    10721115\end_layout
    10731116
    1074 \begin_layout Standard
     1117\begin_layout Plain Layout
    10751118
    10761119                        Real init_value   = 0.1,
    10771120\end_layout
    10781121
    1079 \begin_layout Standard
     1122\begin_layout Plain Layout
    10801123
    10811124                        Real min          = 0,
    10821125\end_layout
    10831126
    1084 \begin_layout Standard
     1127\begin_layout Plain Layout
    10851128
    10861129                        Real max          = 1
    10871130\end_layout
    10881131
    1089 \begin_layout Standard
     1132\begin_layout Plain Layout
    10901133
    10911134                        ),
    10921135\end_layout
    10931136
    1094 \begin_layout Standard
     1137\begin_layout Plain Layout
    10951138
    10961139      NameBlock Lam2 = ModSes.Lat.Father.Param.Def (
    10971140\end_layout
    10981141
    1099 \begin_layout Standard
     1142\begin_layout Plain Layout
    11001143
    11011144                        ......
    11021145\end_layout
    11031146
    1104 \begin_layout Standard
     1147\begin_layout Plain Layout
    11051148
    11061149                        ......
    11071150\end_layout
    11081151
    1109 \begin_layout Standard
     1152\begin_layout Plain Layout
    11101153
    11111154                        ),
    11121155\end_layout
    11131156
    1114 \begin_layout Standard
     1157\begin_layout Plain Layout
    11151158
    11161159      ........
    11171160\end_layout
    11181161
    1119 \begin_layout Standard
     1162\begin_layout Plain Layout
    11201163
    11211164      ........
    11221165\end_layout
    11231166
    1124 \begin_layout Standard
     1167\begin_layout Plain Layout
    11251168
    11261169                          ]]; 
    11271170\end_layout
    11281171
    1129 \begin_layout Standard
     1172\begin_layout Plain Layout
    11301173
    11311174   // Set de parámetros hijo.
    … …  
    11331176\end_layout
    11341177
    1135 \begin_layout Standard
     1178\begin_layout Plain Layout
    11361179
    11371180   // paramétros hijo tenga el nodo latente regresivo.
    11381181\end_layout
    11391182
    1140 \begin_layout Standard
     1183\begin_layout Plain Layout
    11411184
    11421185   Set node_childs = [[
    11431186\end_layout
    11441187
    1145 \begin_layout Standard
     1188\begin_layout Plain Layout
    11461189
    11471190      NameBlock beta1 = ModSes.Lat.Child.Param.Def (
    11481191\end_layout
    11491192
    1150 \begin_layout Standard
     1193\begin_layout Plain Layout
    11511194
    11521195                        Text id_node = "node1",
    11531196\end_layout
    11541197
    1155 \begin_layout Standard
     1198\begin_layout Plain Layout
    11561199
    11571200                        Text id_parameter = "beta1",
    11581201\end_layout
    11591202
    1160 \begin_layout Standard
     1203\begin_layout Plain Layout
    11611204
    11621205                        Real sigma_factor = 1
    11631206\end_layout
    11641207
    1165 \begin_layout Standard
     1208\begin_layout Plain Layout
    11661209
    11671210                        ),
    11681211\end_layout
    11691212
    1170 \begin_layout Standard
     1213\begin_layout Plain Layout
    11711214
    11721215      NameBlock beta2 = ModSes.Lat.Child.Param.Def (
    11731216\end_layout
    11741217
    1175 \begin_layout Standard
     1218\begin_layout Plain Layout
    11761219
    11771220                        .....
    11781221\end_layout
    11791222
    1180 \begin_layout Standard
     1223\begin_layout Plain Layout
    11811224
    11821225                        .....
    11831226\end_layout
    11841227
    1185 \begin_layout Standard
     1228\begin_layout Plain Layout
    11861229
    11871230                        ),
    11881231\end_layout
    11891232
    1190 \begin_layout Standard
     1233\begin_layout Plain Layout
    11911234
    11921235      ......
    11931236\end_layout
    11941237
    1195 \begin_layout Standard
     1238\begin_layout Plain Layout
    11961239
    11971240      ......
    11981241\end_layout
    11991242
    1200 \begin_layout Standard
     1243\begin_layout Plain Layout
    12011244
    12021245                     ]]; 
    12031246\end_layout
    12041247
    1205 \begin_layout Standard
     1248\begin_layout Plain Layout
    12061249
    12071250Real BysMcmc::Bsr::DynHlm::DBApi::ModSes.Lat.Create (
    12081251\end_layout
    12091252
    1210 \begin_layout Standard
     1253\begin_layout Plain Layout
    12111254
    12121255     DBConnection::BsrHlm::_.defaultDB,
    12131256\end_layout
    12141257
    1215 \begin_layout Standard
     1258\begin_layout Plain Layout
    12161259
    12171260     id_model,
    12181261\end_layout
    12191262
    1220 \begin_layout Standard
     1263\begin_layout Plain Layout
    12211264
    12221265     id_session,
    12231266\end_layout
    12241267
    1225 \begin_layout Standard
     1268\begin_layout Plain Layout
    12261269
    12271270     // Nombre del nodo latente
    12281271\end_layout
    12291272
    1230 \begin_layout Standard
     1273\begin_layout Plain Layout
    12311274
    12321275     id_node = "Lat.Reg",
    12331276\end_layout
    12341277
    1235 \begin_layout Standard
     1278\begin_layout Plain Layout
    12361279
    12371280     // Descripcion del nodo latente
    12381281\end_layout
    12391282
    1240 \begin_layout Standard
     1283\begin_layout Plain Layout
    12411284
    12421285     description = "Establece un nodo regresivo latente...",
    12431286\end_layout
    12441287
    1245 \begin_layout Standard
     1288\begin_layout Plain Layout
    12461289
    12471290     //Nivel de latencia en la jerarquía
    12481291\end_layout
    12491292
    1250 \begin_layout Standard
     1293\begin_layout Plain Layout
    12511294
    12521295     Real level = 1,
    12531296\end_layout
    12541297
    1255 \begin_layout Standard
     1298\begin_layout Plain Layout
    12561299
    12571300     // Orden de aparición dentro del nivel
    12581301\end_layout
    12591302
    1260 \begin_layout Standard
     1303\begin_layout Plain Layout
    12611304
    12621305     Copy(level.1_number := level.1_number+1),
    12631306\end_layout
    12641307
    1265 \begin_layout Standard
     1308\begin_layout Plain Layout
    12661309
    12671310     father_parameters,
    12681311\end_layout
    12691312
    1270 \begin_layout Standard
     1313\begin_layout Plain Layout
    12711314
    12721315     node_childs,
    12731316\end_layout
    12741317
    1275 \begin_layout Standard
     1318\begin_layout Plain Layout
    12761319
    12771320     // Valor de la sigma del bloque latente conjunto
    12781321\end_layout
    12791322
    1280 \begin_layout Standard
     1323\begin_layout Plain Layout
    12811324
    12821325     Real sigma = 0.1,
    12831326\end_layout
    12841327
    1285 \begin_layout Standard
     1328\begin_layout Plain Layout
    12861329
    12871330     // Matrix X del nodo latente
    12881331\end_layout
    12891332
    1290 \begin_layout Standard
     1333\begin_layout Plain Layout
    12911334
    12921335     Matrix X
    12931336\end_layout
    12941337
    1295 \begin_layout Standard
     1338\begin_layout Plain Layout
    12961339
    12971340     )
    12981341\end_layout
    12991342
    1300 \begin_layout Standard
     1343\begin_layout Plain Layout
    13011344
    13021345};
    … …  
    13151358status open
    13161359
    1317 \begin_layout Standard
     1360\begin_layout Plain Layout
    13181361
    13191362Real {
    13201363\end_layout
    13211364
    1322 \begin_layout Standard
     1365\begin_layout Plain Layout
    13231366
    13241367   Set father_parameters = [[
    13251368\end_layout
    13261369
    1327 \begin_layout Standard
     1370\begin_layout Plain Layout
    13281371
    13291372      NameBlock Lam1 =  ModSes.Lat.Father.Param.Def (
    13301373\end_layout
    13311374
    1332 \begin_layout Standard
     1375\begin_layout Plain Layout
    13331376
    13341377                        Text id_parameter = "hiper1",
    13351378\end_layout
    13361379
    1337 \begin_layout Standard
     1380\begin_layout Plain Layout
    13381381
    13391382                        Real init_value   = 0.1,
    13401383\end_layout
    13411384
    1342 \begin_layout Standard
     1385\begin_layout Plain Layout
    13431386
    13441387                        Real min          = 0,
    13451388\end_layout
    13461389
    1347 \begin_layout Standard
     1390\begin_layout Plain Layout
    13481391
    13491392                        Real max          = 1
    13501393\end_layout
    13511394
    1352 \begin_layout Standard
     1395\begin_layout Plain Layout
    13531396
    13541397                        ),
    13551398\end_layout
    13561399
    1357 \begin_layout Standard
     1400\begin_layout Plain Layout
    13581401
    13591402      NameBlock Lam2 = ModSes.Lat.Father.Param.Def (
    13601403\end_layout
    13611404
    1362 \begin_layout Standard
     1405\begin_layout Plain Layout
    13631406
    13641407                        ......
    13651408\end_layout
    13661409
    1367 \begin_layout Standard
     1410\begin_layout Plain Layout
    13681411
    13691412                        ......
    13701413\end_layout
    13711414
    1372 \begin_layout Standard
     1415\begin_layout Plain Layout
    13731416
    13741417                        ),
    13751418\end_layout
    13761419
    1377 \begin_layout Standard
     1420\begin_layout Plain Layout
    13781421
    13791422      ........
    13801423\end_layout
    13811424
    1382 \begin_layout Standard
     1425\begin_layout Plain Layout
    13831426
    13841427      ........
    13851428\end_layout
    13861429
    1387 \begin_layout Standard
     1430\begin_layout Plain Layout
    13881431
    13891432                          ]]; 
    13901433\end_layout
    13911434
    1392 \begin_layout Standard
     1435\begin_layout Plain Layout
    13931436
    13941437   // Set de parámetros hijo.
    … …  
    13961439\end_layout
    13971440
    1398 \begin_layout Standard
     1441\begin_layout Plain Layout
    13991442
    14001443   // paramétros hijo tenga el nodo latente regresivo.
    14011444\end_layout
    14021445
    1403 \begin_layout Standard
     1446\begin_layout Plain Layout
    14041447
    14051448   Set node_childs = [[
    14061449\end_layout
    14071450
    1408 \begin_layout Standard
     1451\begin_layout Plain Layout
    14091452
    14101453      NameBlock beta1 = ModSes.Lat.Child.Param.Def (
    14111454\end_layout
    14121455
    1413 \begin_layout Standard
     1456\begin_layout Plain Layout
    14141457
    14151458                        Text id_node = "node1",
    14161459\end_layout
    14171460
    1418 \begin_layout Standard
     1461\begin_layout Plain Layout
    14191462
    14201463                        Text id_parameter = "beta1",
    14211464\end_layout
    14221465
    1423 \begin_layout Standard
     1466\begin_layout Plain Layout
    14241467
    14251468                        Real sigma_factor = 1
    14261469\end_layout
    14271470
    1428 \begin_layout Standard
     1471\begin_layout Plain Layout
    14291472
    14301473                        ),
    14311474\end_layout
    14321475
    1433 \begin_layout Standard
     1476\begin_layout Plain Layout
    14341477
    14351478      NameBlock beta2 = ModSes.Lat.Child.Param.Def (
    14361479\end_layout
    14371480
    1438 \begin_layout Standard
     1481\begin_layout Plain Layout
    14391482
    14401483                        .....
    14411484\end_layout
    14421485
    1443 \begin_layout Standard
     1486\begin_layout Plain Layout
    14441487
    14451488                        .....
    14461489\end_layout
    14471490
    1448 \begin_layout Standard
     1491\begin_layout Plain Layout
    14491492
    14501493                        ),
    14511494\end_layout
    14521495
    1453 \begin_layout Standard
     1496\begin_layout Plain Layout
    14541497
    14551498      ......
    14561499\end_layout
    14571500
    1458 \begin_layout Standard
     1501\begin_layout Plain Layout
    14591502
    14601503      ......
    14611504\end_layout
    14621505
    1463 \begin_layout Standard
     1506\begin_layout Plain Layout
    14641507
    14651508                     ]];   
    14661509\end_layout
    14671510
    1468 \begin_layout Standard
    1469 
    1470 \end_layout
    1471 
    1472 \begin_layout Standard
     1511\begin_layout Plain Layout
     1512
     1513\end_layout
     1514
     1515\begin_layout Plain Layout
    14731516
    14741517      Real ModSes.Lat.OutComb.Create (
    14751518\end_layout
    14761519
    1477 \begin_layout Standard
     1520\begin_layout Plain Layout
    14781521
    14791522      DBConnection::BsrHlm::_.defaultDB,
    14801523\end_layout
    14811524
    1482 \begin_layout Standard
     1525\begin_layout Plain Layout
    14831526
    14841527      id_model,
    14851528\end_layout
    14861529
    1487 \begin_layout Standard
     1530\begin_layout Plain Layout
    14881531
    14891532      id_session,
    14901533\end_layout
    14911534
    1492 \begin_layout Standard
     1535\begin_layout Plain Layout
    14931536
    14941537      // Nombre del nodo latente
    14951538\end_layout
    14961539
    1497 \begin_layout Standard
     1540\begin_layout Plain Layout
    14981541
    14991542      id_node = "Lat.Reg",
    15001543\end_layout
    15011544
    1502 \begin_layout Standard
     1545\begin_layout Plain Layout
    15031546
    15041547      // Descripción del nodo latente
    15051548\end_layout
    15061549
    1507 \begin_layout Standard
     1550\begin_layout Plain Layout
    15081551
    15091552      description = "Establece un nodo regresivo latente...",
    15101553\end_layout
    15111554
    1512 \begin_layout Standard
     1555\begin_layout Plain Layout
    15131556
    15141557      // Nivel de latencia en la jerarquía
    15151558\end_layout
    15161559
    1517 \begin_layout Standard
     1560\begin_layout Plain Layout
    15181561
    15191562      Real level = 1,
    15201563\end_layout
    15211564
    1522 \begin_layout Standard
     1565\begin_layout Plain Layout
    15231566
    15241567      // Orden de aparición dentro del nivel
    15251568\end_layout
    15261569
    1527 \begin_layout Standard
     1570\begin_layout Plain Layout
    15281571
    15291572      Copy(level.1_number := level.1_number+1),
    15301573\end_layout
    15311574
    1532 \begin_layout Standard
     1575\begin_layout Plain Layout
    15331576
    15341577      father_parameters,
    15351578\end_layout
    15361579
    1537 \begin_layout Standard
     1580\begin_layout Plain Layout
    15381581
    15391582      node_childs,
    15401583\end_layout
    15411584
    1542 \begin_layout Standard
     1585\begin_layout Plain Layout
    15431586
    15441587      // Valor de Sigma para todo el nodo latente
    15451588\end_layout
    15461589
    1547 \begin_layout Standard
     1590\begin_layout Plain Layout
    15481591
    15491592      Real sigma = 0.1,
    15501593\end_layout
    15511594
    1552 \begin_layout Standard
     1595\begin_layout Plain Layout
    15531596
    15541597      // Matriz X del nodo latente
    15551598\end_layout
    15561599
    1557 \begin_layout Standard
     1600\begin_layout Plain Layout
    15581601
    15591602      Matrix X,
    15601603\end_layout
    15611604
    1562 \begin_layout Standard
     1605\begin_layout Plain Layout
    15631606
    15641607      // Matriz Y del nodo latente
    15651608\end_layout
    15661609
    1567 \begin_layout Standard
     1610\begin_layout Plain Layout
    15681611
    15691612      Matrix Y,
    15701613\end_layout
    15711614
    1572 \begin_layout Standard
     1615\begin_layout Plain Layout
    15731616
    15741617      // Un Set de Reales.
    … …  
    15761619\end_layout
    15771620
    1578 \begin_layout Standard
     1621\begin_layout Plain Layout
    15791622
    15801623      // de sigma de la i-ésima ecuación del nodo latente   
    15811624\end_layout
    15821625
    1583 \begin_layout Standard
     1626\begin_layout Plain Layout
    15841627
    15851628      Set SigmaLat = [[
    15861629\end_layout
    15871630
    1588 \begin_layout Standard
     1631\begin_layout Plain Layout
    15891632
    15901633      Real sigma1 = 0.1
    15911634\end_layout
    15921635
    1593 \begin_layout Standard
     1636\begin_layout Plain Layout
    15941637
    15951638      Real sigma2 = 0.2
    15961639\end_layout
    15971640
    1598 \begin_layout Standard
     1641\begin_layout Plain Layout
    15991642
    16001643      ....
    16011644\end_layout
    16021645
    1603 \begin_layout Standard
     1646\begin_layout Plain Layout
    16041647
    16051648      ....
    16061649\end_layout
    16071650
    1608 \begin_layout Standard
     1651\begin_layout Plain Layout
    16091652
    16101653      ]])
    16111654\end_layout
    16121655
    1613 \begin_layout Standard
     1656\begin_layout Plain Layout
    16141657
    16151658};     
    … …  
    16231666\series default
    16241667.
    1625 \newline
     1668\begin_inset Newline newline
     1669\end_inset
     1670
    16261671
    16271672\begin_inset listings
    … …  
    16291674status open
    16301675
    1631 \begin_layout Standard
     1676\begin_layout Plain Layout
    16321677
    16331678Real{
    16341679\end_layout
    16351680
    1636 \begin_layout Standard
     1681\begin_layout Plain Layout
    16371682
    16381683  BysMcmc::Bsr::DynHlm::DPApi::ModSes.Pri.Homog_1.Create(
    16391684\end_layout
    16401685
    1641 \begin_layout Standard
     1686\begin_layout Plain Layout
    16421687
    16431688    DBConnection::BsrHlm::_.defaultDB,
    16441689\end_layout
    16451690
    1646 \begin_layout Standard
     1691\begin_layout Plain Layout
    16471692
    16481693    id_model,
    16491694\end_layout
    16501695
    1651 \begin_layout Standard
     1696\begin_layout Plain Layout
    16521697
    16531698    id_session,
    16541699\end_layout
    16551700
    1656 \begin_layout Standard
     1701\begin_layout Plain Layout
    16571702
    16581703    // identificación del nodo
    16591704\end_layout
    16601705
    1661 \begin_layout Standard
     1706\begin_layout Plain Layout
    16621707
    16631708    id_node = "Pri",
    16641709\end_layout
    16651710
    1666 \begin_layout Standard
     1711\begin_layout Plain Layout
    16671712
    16681713    // descripción del nodo
    16691714\end_layout
    16701715
    1671 \begin_layout Standard
     1716\begin_layout Plain Layout
    16721717
    16731718    description = "Prior para..."
    16741719\end_layout
    16751720
    1676 \begin_layout Standard
     1721\begin_layout Plain Layout
    16771722
    16781723    // Conjunto de NameBlock.
    … …  
    16801725\end_layout
    16811726
    1682 \begin_layout Standard
     1727\begin_layout Plain Layout
    16831728
    16841729    // parámetro o hiperparámetro es el que tiene el a priori.
    16851730\end_layout
    16861731
    1687 \begin_layout Standard
     1732\begin_layout Plain Layout
    16881733
    16891734    [[
    16901735\end_layout
    16911736
    1692 \begin_layout Standard
     1737\begin_layout Plain Layout
    16931738
    16941739       NameBlock hiper1 = [[
    16951740\end_layout
    16961741
    1697 \begin_layout Standard
     1742\begin_layout Plain Layout
    16981743
    16991744                            // Nombre del nodo donde está hiper1
    17001745\end_layout
    17011746
    1702 \begin_layout Standard
     1747\begin_layout Plain Layout
    17031748
    17041749                            Text _.id_node = "node_hiper1",
    17051750\end_layout
    17061751
    1707 \begin_layout Standard
     1752\begin_layout Plain Layout
    17081753
    17091754                            // Nombre del parámetro que tiene el prior
    17101755\end_layout
    17111756
    1712 \begin_layout Standard
     1757\begin_layout Plain Layout
    17131758
    17141759                            Text _.id_parameter = "Lam1",
    17151760\end_layout
    17161761
    1717 \begin_layout Standard
     1762\begin_layout Plain Layout
    17181763
    17191764                            // Valor medio de la Normal prior
    17201765\end_layout
    17211766
    1722 \begin_layout Standard
     1767\begin_layout Plain Layout
    17231768
    17241769                            Real _.average = 0.1,
    17251770\end_layout
    17261771
    1727 \begin_layout Standard
     1772\begin_layout Plain Layout
    17281773
    17291774                            // Valor de sigma de la Normla prior
    17301775\end_layout
    17311776
    1732 \begin_layout Standard
     1777\begin_layout Plain Layout
    17331778
    17341779                            Real _.sigma = 0.01
    17351780\end_layout
    17361781
    1737 \begin_layout Standard
     1782\begin_layout Plain Layout
    17381783
    17391784                          ]]
    17401785\end_layout
    17411786
    1742 \begin_layout Standard
     1787\begin_layout Plain Layout
    17431788
    17441789       NameBlock hiper2 = [[
    17451790\end_layout
    17461791
    1747 \begin_layout Standard
     1792\begin_layout Plain Layout
    17481793
    17491794                             ....
    17501795\end_layout
    17511796
    1752 \begin_layout Standard
     1797\begin_layout Plain Layout
    17531798
    17541799                             ....
    … …  
    17561801\end_layout
    17571802
    1758 \begin_layout Standard
     1803\begin_layout Plain Layout
    17591804
    17601805                          ]]
    17611806\end_layout
    17621807
    1763 \begin_layout Standard
     1808\begin_layout Plain Layout
    17641809
    17651810       ....
    17661811\end_layout
    17671812
    1768 \begin_layout Standard
    1769 
    1770 \end_layout
    1771 
    1772 \begin_layout Standard
     1813\begin_layout Plain Layout
     1814
     1815\end_layout
     1816
     1817\begin_layout Plain Layout
    17731818
    17741819    ]]
    17751820\end_layout
    17761821
    1777 \begin_layout Standard
     1822\begin_layout Plain Layout
    17781823
    17791824    )
    17801825\end_layout
    17811826
    1782 \begin_layout Standard
     1827\begin_layout Plain Layout
    17831828
    17841829};
    … …  
    17961841\series default
    17971842.
    1798 \newline
     1843\begin_inset Newline newline
     1844\end_inset
     1845
    17991846
    18001847\begin_inset listings
    … …  
    18021849status open
    18031850
    1804 \begin_layout Standard
     1851\begin_layout Plain Layout
    18051852
    18061853Real {
    18071854\end_layout
    18081855
    1809 \begin_layout Standard
     1856\begin_layout Plain Layout
    18101857
    18111858  BysMcmc::Bsr::DynHlm::DPApi::ModSes.Pri.Out.Comb.Create(
    18121859\end_layout
    18131860
    1814 \begin_layout Standard
     1861\begin_layout Plain Layout
    18151862
    18161863    DBConnection::BsrHlm::_.defaultDB,
    18171864\end_layout
    18181865
    1819 \begin_layout Standard
     1866\begin_layout Plain Layout
    18201867
    18211868    id_model,
    18221869\end_layout
    18231870
    1824 \begin_layout Standard
     1871\begin_layout Plain Layout
    18251872
    18261873    id_session,
    18271874\end_layout
    18281875
    1829 \begin_layout Standard
     1876\begin_layout Plain Layout
    18301877
    18311878    // identificación del nodo
    18321879\end_layout
    18331880
    1834 \begin_layout Standard
     1881\begin_layout Plain Layout
    18351882
    18361883    id_node = "Pri.OutComb",
    18371884\end_layout
    18381885
    1839 \begin_layout Standard
     1886\begin_layout Plain Layout
    18401887
    18411888    // descripción del nodo
    18421889\end_layout
    18431890
    1844 \begin_layout Standard
     1891\begin_layout Plain Layout
    18451892
    18461893    description = "Prior para...",
    18471894\end_layout
    18481895
    1849 \begin_layout Standard
     1896\begin_layout Plain Layout
    18501897
    18511898    Copy(level.2_number := level.2_number+1),
    18521899\end_layout
    18531900
    1854 \begin_layout Standard
     1901\begin_layout Plain Layout
    18551902
    18561903    // Set de sets, cada set contiene dos reales que especifican
    18571904\end_layout
    18581905
    1859 \begin_layout Standard
     1906\begin_layout Plain Layout
    18601907
    18611908    // el valor de la media y sigma para cada ecuacion del nodo a priori
    18621909\end_layout
    18631910
    1864 \begin_layout Standard
     1911\begin_layout Plain Layout
    18651912
    18661913    [[
    18671914\end_layout
    18681915
    1869 \begin_layout Standard
     1916\begin_layout Plain Layout
    18701917
    18711918      [[ mu_1, sigma_1 ]],
    18721919\end_layout
    18731920
    1874 \begin_layout Standard
     1921\begin_layout Plain Layout
    18751922
    18761923      [[ mu_2, sigma_2 ]],
    18771924\end_layout
    18781925
    1879 \begin_layout Standard
     1926\begin_layout Plain Layout
    18801927
    18811928         ............
    18821929\end_layout
    18831930
    1884 \begin_layout Standard
     1931\begin_layout Plain Layout
    18851932
    18861933    ]],
    18871934\end_layout
    18881935
    1889 \begin_layout Standard
     1936\begin_layout Plain Layout
    18901937
    18911938    // Set de NameBlocks, tantos NameBlocks como parámetros entran
    18921939\end_layout
    18931940
    1894 \begin_layout Standard
     1941\begin_layout Plain Layout
    18951942
    18961943    // en la combinación lineal del output
    18971944\end_layout
    18981945
    1899 \begin_layout Standard
     1946\begin_layout Plain Layout
    19001947
    19011948    [[
    19021949\end_layout
    19031950
    1904 \begin_layout Standard
     1951\begin_layout Plain Layout
    19051952
    19061953      NameBlock param1 = [[
    19071954\end_layout
    19081955
    1909 \begin_layout Standard
     1956\begin_layout Plain Layout
    19101957
    19111958                          // Nombre de ese parámetro
    19121959\end_layout
    19131960
    1914 \begin_layout Standard
     1961\begin_layout Plain Layout
    19151962
    19161963                          Text _.id_node = "param1",
    19171964\end_layout
    19181965
    1919 \begin_layout Standard
     1966\begin_layout Plain Layout
    19201967
    19211968                          // Localización de ese parámetro
    19221969\end_layout
    19231970
    1924 \begin_layout Standard
     1971\begin_layout Plain Layout
    19251972
    19261973                          Text _.id_parameter = "node.param1"
    19271974\end_layout
    19281975
    1929 \begin_layout Standard
     1976\begin_layout Plain Layout
    19301977
    19311978                         ]],
    19321979\end_layout
    19331980
    1934 \begin_layout Standard
     1981\begin_layout Plain Layout
    19351982
    19361983      NameBlock param2 = [[
    19371984\end_layout
    19381985
    1939 \begin_layout Standard
     1986\begin_layout Plain Layout
    19401987
    19411988                          .....
    … …  
    19431990\end_layout
    19441991
    1945 \begin_layout Standard
     1992\begin_layout Plain Layout
    19461993
    19471994                         ]]
    19481995\end_layout
    19491996
    1950 \begin_layout Standard
     1997\begin_layout Plain Layout
    19511998
    19521999    ]],
    19532000\end_layout
    19542001
    1955 \begin_layout Standard
     2002\begin_layout Plain Layout
    19562003
    19572004    // Matriz Y responsable de la combinación lineal del output
    19582005\end_layout
    19592006
    1960 \begin_layout Standard
     2007\begin_layout Plain Layout
    19612008
    19622009    Matrix Y
    19632010\end_layout
    19642011
    1965 \begin_layout Standard
     2012\begin_layout Plain Layout
    19662013
    19672014    )
    19682015\end_layout
    19692016
    1970 \begin_layout Standard
     2017\begin_layout Plain Layout
    19712018
    19722019}
    … …  
    19842031\series default
    19852032
    1986 \newline
     2033\begin_inset Newline newline
     2034\end_inset
     2035
    19872036
    19882037\begin_inset listings
    … …  
    19902039status open
    19912040
     2041\begin_layout Plain Layout
     2042
     2043Real {
     2044\end_layout
     2045
     2046\begin_layout Plain Layout
     2047
     2048  BysMcmc::Bsr::DynHlm::DBApi::ModSes.Mix.OrderRelation.Create(
     2049\end_layout
     2050
     2051\begin_layout Plain Layout
     2052
     2053    DBConnection::BsrHlm::_.defaultDB,
     2054\end_layout
     2055
     2056\begin_layout Plain Layout
     2057
     2058    id_model,
     2059\end_layout
     2060
     2061\begin_layout Plain Layout
     2062
     2063    id_session,
     2064\end_layout
     2065
     2066\begin_layout Plain Layout
     2067
     2068    id_node_param1, "param1",
     2069\end_layout
     2070
     2071\begin_layout Plain Layout
     2072
     2073    /* <= */ // param1 <= param2
     2074\end_layout
     2075
     2076\begin_layout Plain Layout
     2077
     2078    id_node_param2, "param2")
     2079\end_layout
     2080
     2081\begin_layout Plain Layout
     2082
     2083     };
     2084\end_layout
     2085
     2086\end_inset
     2087
     2088
     2089\end_layout
     2090
    19922091\begin_layout Standard
    19932092
    1994 Real {
    1995 \end_layout
    1996 
    1997 \begin_layout Standard
    1998 
    1999   BysMcmc::Bsr::DynHlm::DBApi::ModSes.Mix.OrderRelation.Create(
    2000 \end_layout
    2001 
    2002 \begin_layout Standard
    2003 
    2004     DBConnection::BsrHlm::_.defaultDB,
    2005 \end_layout
    2006 
    2007 \begin_layout Standard
    2008 
    2009     id_model,
    2010 \end_layout
    2011 
    2012 \begin_layout Standard
    2013 
    2014     id_session,
    2015 \end_layout
    2016 
    2017 \begin_layout Standard
    2018 
    2019     id_node_param1, "param1",
    2020 \end_layout
    2021 
    2022 \begin_layout Standard
    2023 
    2024     /* <= */ // param1 <= param2
    2025 \end_layout
    2026 
    2027 \begin_layout Standard
    2028 
    2029     id_node_param2, "param2")
    2030 \end_layout
    2031 
    2032 \begin_layout Standard
    2033 
    2034      };
    2035 \end_layout
    2036 
    2037 \end_inset
    2038 
    2039 
    2040 \end_layout
    2041 
    2042 \begin_layout Standard
    2043 Finalmente la llamada al estimador BSR se realiza por el siguiente código:
    2044 \newline
     2093\series bold
     2094Nodo restricción de orden con combinación lineales.
     2095\begin_inset Newline newline
     2096\end_inset
     2097
     2098
     2099\series default
    20452100
    20462101\begin_inset listings
    … …  
    20482103status open
    20492104
     2105\begin_layout Plain Layout
     2106
     2107Real{
     2108\end_layout
     2109
     2110\begin_layout Plain Layout
     2111
     2112  BysMcmc::Bsr::DynHlm::DBApi::ModSes.Mix.Constraint.Create(
     2113\end_layout
     2114
     2115\begin_layout Plain Layout
     2116
     2117    DBConnection::BsrHlm::_.defaultDB,
     2118\end_layout
     2119
     2120\begin_layout Plain Layout
     2121
     2122    id_model,
     2123\end_layout
     2124
     2125\begin_layout Plain Layout
     2126
     2127    id_session,
     2128\end_layout
     2129
     2130\begin_layout Plain Layout
     2131
     2132    id_session,
     2133\end_layout
     2134
     2135\begin_layout Plain Layout
     2136
     2137    // El límite por la izquierda puede ser -1/0 o ? en el caso de
     2138\end_layout
     2139
     2140\begin_layout Plain Layout
     2141
     2142    // que no haya límite por la izquierda
     2143\end_layout
     2144
     2145\begin_layout Plain Layout
     2146
     2147    Real leftBound = -1/0,
     2148\end_layout
     2149
     2150\begin_layout Plain Layout
     2151
     2152    // Set de NameBlocks que especifica la información de cada
     2153\end_layout
     2154
     2155\begin_layout Plain Layout
     2156
     2157    // uno de los parámetros que entran en la combinación lineal
     2158\end_layout
     2159
     2160\begin_layout Plain Layout
     2161
     2162    [[
     2163\end_layout
     2164
     2165\begin_layout Plain Layout
     2166
     2167      NameBlock param1 =  [[
     2168\end_layout
     2169
     2170\begin_layout Plain Layout
     2171
     2172                            // Localización del parámetro
     2173\end_layout
     2174
     2175\begin_layout Plain Layout
     2176
     2177                               Text _.id_node =
     2178\begin_inset Quotes eld
     2179\end_inset
     2180
     2181node.param1
     2182\begin_inset Quotes erd
     2183\end_inset
     2184
     2185,
     2186\end_layout
     2187
     2188\begin_layout Plain Layout
     2189
     2190                            // Nombre del parámetro
     2191\end_layout
     2192
     2193\begin_layout Plain Layout
     2194
     2195                               Text _.id_parameter =
     2196\begin_inset Quotes eld
     2197\end_inset
     2198
     2199param1
     2200\begin_inset Quotes erd
     2201\end_inset
     2202
     2203,
     2204\end_layout
     2205
     2206\begin_layout Plain Layout
     2207
     2208                            // Coeficiente asociado a la combinación lineal
     2209\end_layout
     2210
     2211\begin_layout Plain Layout
     2212
     2213                               Real _.coef = 0.3
     2214\end_layout
     2215
     2216\begin_layout Plain Layout
     2217
     2218                          ]]
     2219\end_layout
     2220
     2221\begin_layout Plain Layout
     2222
     2223      NameBlock param2 =  [[
     2224\end_layout
     2225
     2226\begin_layout Plain Layout
     2227
     2228                              .....
     2229\end_layout
     2230
     2231\begin_layout Plain Layout
     2232
     2233                              .....
     2234\end_layout
     2235
     2236\begin_layout Plain Layout
     2237
     2238                          ]]
     2239\end_layout
     2240
     2241\begin_layout Plain Layout
     2242
     2243   
     2244\end_layout
     2245
     2246\begin_layout Plain Layout
     2247
     2248\end_layout
     2249
     2250\begin_layout Plain Layout
     2251
     2252    ]],
     2253\end_layout
     2254
     2255\begin_layout Plain Layout
     2256
     2257    // El límite por la derecha puede ser -1/0 o ? en el caso de
     2258\end_layout
     2259
     2260\begin_layout Plain Layout
     2261
     2262    // que no haya límite por la derecha
     2263\end_layout
     2264
     2265\begin_layout Plain Layout
     2266
     2267    Real rightBound = 0   
     2268\end_layout
     2269
     2270\begin_layout Plain Layout
     2271
     2272  )
     2273\end_layout
     2274
     2275\begin_layout Plain Layout
     2276
     2277}
     2278\end_layout
     2279
     2280\end_inset
     2281
     2282
     2283\end_layout
     2284
    20502285\begin_layout Standard
     2286Finalmente la llamada al estimador BSR se realiza por el siguiente código:
     2287\begin_inset Newline newline
     2288\end_inset
     2289
     2290
     2291\begin_inset listings
     2292inline false
     2293status open
     2294
     2295\begin_layout Plain Layout
    20512296
    20522297NameBlock bsr.config =
    20532298\end_layout
    20542299
    2055 \begin_layout Standard
     2300\begin_layout Plain Layout
    20562301
    20572302[[
    20582303\end_layout
    20592304
    2060 \begin_layout Standard
     2305\begin_layout Plain Layout
    20612306
    20622307  //MCMC dimensions
    20632308\end_layout
    20642309
    2065 \begin_layout Standard
     2310\begin_layout Plain Layout
    20662311
    20672312  Real mcmc.burnin   =  100;
    20682313\end_layout
    20692314
    2070 \begin_layout Standard
     2315\begin_layout Plain Layout
    20712316
    20722317  Real mcmc.sampleLength = 2000;
    20732318\end_layout
    20742319
    2075 \begin_layout Standard
     2320\begin_layout Plain Layout
    20762321
    20772322  Real mcmc.cacheLength  =  100;
    20782323\end_layout
    20792324
    2080 \begin_layout Standard
     2325\begin_layout Plain Layout
    20812326
    20822327  //Basic master configuration
    20832328\end_layout
    20842329
    2085 \begin_layout Standard
     2330\begin_layout Plain Layout
    20862331
    20872332  Real basic.cholesky.epsilon = 1.E-10;
    20882333\end_layout
    20892334
    2090 \begin_layout Standard
     2335\begin_layout Plain Layout
    20912336
    20922337  Real basic.cholesky.warningFreq = 100;
    20932338\end_layout
    20942339
    2095 \begin_layout Standard
     2340\begin_layout Plain Layout
    20962341
    20972342  Real basic.truncMNormal.gibbsNumIter = 5;
    20982343\end_layout
    20992344
    2100 \begin_layout Standard
     2345\begin_layout Plain Layout
    21012346
    21022347  //Report configuration
    21032348\end_layout
    21042349
    2105 \begin_layout Standard
     2350\begin_layout Plain Layout
    21062351
    21072352  Real report.raftery.diag.q   = 0.025;
    21082353\end_layout
    21092354
    2110 \begin_layout Standard
     2355\begin_layout Plain Layout
    21112356
    21122357  Real report.raftery.diag.r   = 0.007;
    21132358\end_layout
    21142359
    2115 \begin_layout Standard
     2360\begin_layout Plain Layout
    21162361
    21172362  Real report.raftery.diag.s   = 0.950;
    21182363\end_layout
    21192364
    2120 \begin_layout Standard
     2365\begin_layout Plain Layout
    21212366
    21222367  Real report.raftery.diag.eps = 0.001;
    21232368\end_layout
    21242369
    2125 \begin_layout Standard
     2370\begin_layout Plain Layout
    21262371
    21272372  Real report.acf.lag          = 20,
    21282373\end_layout
    21292374
    2130 \begin_layout Standard
     2375\begin_layout Plain Layout
    21312376
    21322377  Real report.histogram.parts  = 100;
    21332378\end_layout
    21342379
    2135 \begin_layout Standard
     2380\begin_layout Plain Layout
    21362381
    21372382  Real report.kerDens.points   = 0;
    21382383\end_layout
    21392384
    2140 \begin_layout Standard
     2385\begin_layout Plain Layout
    21412386
    21422387  Real report.kerDens.numIter  = 2;
    21432388\end_layout
    21442389
    2145 \begin_layout Standard
     2390\begin_layout Plain Layout
    21462391
    21472392  Real report.kerDens.epsilon  = 0.001;
    21482393\end_layout
    21492394
    2150 \begin_layout Standard
     2395\begin_layout Plain Layout
    21512396
    21522397  //Generic flags
    21532398\end_layout
    21542399
    2155 \begin_layout Standard
     2400\begin_layout Plain Layout
    21562401
    21572402  Real do.resume          =  False;
    21582403\end_layout
    21592404
    2160 \begin_layout Standard
     2405\begin_layout Plain Layout
    21612406
    21622407  Real do.report          =  True;
    21632408\end_layout
    21642409
    2165 \begin_layout Standard
     2410\begin_layout Plain Layout
    21662411
    21672412  Real do.eval            =  True;
    21682413\end_layout
    21692414
    2170 \begin_layout Standard
     2415\begin_layout Plain Layout
    21712416
    21722417  Real do.linear.effects  =  True
    21732418\end_layout
    21742419
    2175 \begin_layout Standard
     2420\begin_layout Plain Layout
    21762421
    21772422]];
    21782423\end_layout
    21792424
    2180 \begin_layout Standard
     2425\begin_layout Plain Layout
    21812426
    21822427///////////////////////////////////////////////////////////
    21832428\end_layout
    21842429
    2185 \begin_layout Standard
    2186 
    2187 \end_layout
    2188 
    2189 \begin_layout Standard
     2430\begin_layout Plain Layout
     2431
     2432\end_layout
     2433
     2434\begin_layout Plain Layout
    21902435
    21912436///////////////////////////////////////////////////////////
    21922437\end_layout
    21932438
    2194 \begin_layout Standard
     2439\begin_layout Plain Layout
    21952440
    21962441// Estimación del modelo con el sistema Bsr::DynHlm
    21972442\end_layout
    21982443
    2199 \begin_layout Standard
     2444\begin_layout Plain Layout
    22002445
    22012446///////////////////////////////////////////////////////////
    22022447\end_layout
    22032448
    2204 \begin_layout Standard
     2449\begin_layout Plain Layout
    22052450
    22062451Set bsr.estim = {BysMcmc::Bsr::DynHlm::DBApi::Estim(
    22072452\end_layout
    22082453
    2209 \begin_layout Standard
     2454\begin_layout Plain Layout
    22102455
    22112456  DBConnection::BsrHlm::_.defaultDB,
    22122457\end_layout
    22132458
    2214 \begin_layout Standard
     2459\begin_layout Plain Layout
    22152460
    22162461  id_model,
    22172462\end_layout
    22182463
    2219 \begin_layout Standard
     2464\begin_layout Plain Layout
    22202465
    22212466  id_session,
    22222467\end_layout
    22232468
    2224 \begin_layout Standard
     2469\begin_layout Plain Layout
    22252470
    22262471  Path::_.data.out,
    22272472\end_layout
    22282473
    2229 \begin_layout Standard
     2474\begin_layout Plain Layout
    22302475
    22312476  series.handler,
    22322477\end_layout
    22332478
    2234 \begin_layout Standard
     2479\begin_layout Plain Layout
    22352480
    22362481  bsr.config
    22372482\end_layout
    22382483
    2239 \begin_layout Standard
     2484\begin_layout Plain Layout
    22402485
    22412486)};
    22422487\end_layout
    22432488
    2244 \begin_layout Standard
    2245 
    2246 \end_layout
    2247 
    2248 \begin_layout Standard
     2489\begin_layout Plain Layout
     2490
     2491\end_layout
     2492
     2493\begin_layout Plain Layout
    22492494
    22502495// Desconectamos de la base de datos
    22512496\end_layout
    22522497
    2253 \begin_layout Standard
     2498\begin_layout Plain Layout
    22542499
    22552500  Real DBConnection::BsrHlm::Close(0);
Note: See TracChangeset for help on using the changeset viewer.