source: tol/doc/modeling/BSR/BSR_P3_S2_BsrHlm_plantilla_de_modelo.lyx

devel
Last change on this file was bd324f8, checked in by Miguel Ángel Fernández <mafernandez@…>, 18 years ago

Pequeña correcion funcion Pri.Homog_1.Create

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

  • Property mode set to 100644
File size: 37.0 KB
Line 
1#LyX 1.6.0 created this file. For more info see http://www.lyx.org/
2\lyxformat 345
3\begin_document
4\begin_header
5\textclass amsbook
6\begin_preamble
7\usepackage{a4wide}
8%\documentclass[spanish]{article}
9\usepackage{babel}
10\usepackage{a4wide}
11\usepackage{varioref}
12\usepackage{amssymb}
13\usepackage{latexsym}
14\usepackage{amssymb}
15\usepackage{amsmath}
16
17\usepackage{graphics}
18\usepackage{graphicx}
19\usepackage{ulem}
20\usepackage{color}
21\usepackage{multicol}
22\usepackage{longtable}
23
24%\usepackage{makeidx}
25\usepackage{hyperref}
26\makeindex
27
28\hypersetup{urlbordercolor=0 0 0,pdfborder=0 0 1 [3 2]}
29\end_preamble
30\use_default_options false
31\begin_modules
32theorems-ams
33\end_modules
34\language spanish
35\inputencoding auto
36\font_roman default
37\font_sans default
38\font_typewriter default
39\font_default_family default
40\font_sc false
41\font_osf false
42\font_sf_scale 100
43\font_tt_scale 100
44
45\graphics default
46\paperfontsize default
47\spacing single
48\use_hyperref false
49\papersize default
50\use_geometry false
51\use_amsmath 1
52\use_esint 0
53\cite_engine basic
54\use_bibtopic false
55\paperorientation portrait
56\secnumdepth 3
57\tocdepth 3
58\paragraph_separation indent
59\defskip medskip
60\quotes_language english
61\papercolumns 1
62\papersides 1
63\paperpagestyle default
64\tracking_changes false
65\output_changes false
66\author ""
67\author ""
68\end_header
69
70\begin_body
71
72\begin_layout Chapter
73\begin_inset CommandInset label
74LatexCommand label
75name "cha:Plantilla-del-modelo-Bsr-Hlm"
76
77\end_inset
78
79Plantilla del modelo Bsr-Hlm
80\end_layout
81
82\begin_layout Standard
83Se describe la plantilla del modelo Bsr-Hlm para usar el sistema sin interfaz
84 gráfica, empleando tan sólo código TOL.
85\end_layout
86
87\begin_layout Section
88Descripción
89\end_layout
90
91\begin_layout Standard
92A continuación exponemos las partes necesarias de código en las que consiste
93 una plantilla ejemplo para el uso de BSr-Hlm:
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
106
107\begin_inset listings
108inline false
109status open
110
111\begin_layout Plain Layout
112
113NameBlock DBConnection = [[   
114\end_layout
115
116\begin_layout Plain Layout
117
118  NameBlock BsrHlm = DBConnect::Create("BsrHlm","bysfor","bys!98.",
119\end_layout
120
121\begin_layout Plain Layout
122
123     "mysql","bysNPIDSO","d-mysql01","Almacenamiento de
124\end_layout
125
126\begin_layout Plain Layout
127
128      modelos BSR-DynHLM"); 
129\end_layout
130
131\begin_layout Plain Layout
132
133  Real check = Real DBConnect::CheckAll(0)
134\end_layout
135
136\begin_layout Plain Layout
137
138                         ]];
139\end_layout
140
141\end_inset
142
143Activamos la base de datos BsrHlm:
144\begin_inset Newline newline
145\end_inset
146
147
148\begin_inset listings
149inline false
150status open
151
152\begin_layout Plain Layout
153
154Real DBConnection::BsrHlm::Activate(0);
155\end_layout
156
157\end_inset
158
159Identificamos el nombre del modelo:
160\begin_inset Newline newline
161\end_inset
162
163
164\begin_inset listings
165inline false
166status open
167
168\begin_layout Plain Layout
169
170Text id_model =  "BSR_Lat.Reg.Test_III";
171\end_layout
172
173\end_inset
174
175Descripción del objetivo del modelo:
176\begin_inset Newline newline
177\end_inset
178
179
180\begin_inset listings
181inline false
182status open
183
184\begin_layout Plain Layout
185
186Text ds_model = "Pruebas para nodos latentes regresivos";
187\end_layout
188
189\end_inset
190
191Identificamos la sesión:
192\begin_inset Newline newline
193\end_inset
194
195
196\begin_inset listings
197inline false
198status open
199
200\begin_layout Plain Layout
201
202Text id_session = "SES_LAT.REG_TEST.20081006_22";
203\end_layout
204
205\end_inset
206
207Descripción de la sesión:
208\begin_inset Newline newline
209\end_inset
210
211
212\begin_inset listings
213inline false
214status open
215
216\begin_layout Plain Layout
217
218Text ds_session = "Pruebas nodos regresivos latentes";
219\end_layout
220
221\end_inset
222
223Listado de autores:
224\begin_inset Newline newline
225\end_inset
226
227
228\begin_inset listings
229inline false
230status open
231
232\begin_layout Plain Layout
233
234Text ds_authors = "mafernandez@bayesinf.com;";
235\end_layout
236
237\end_inset
238
239Inserción del modelo en la base de datos:
240\begin_inset Newline newline
241\end_inset
242
243
244\begin_inset listings
245inline false
246status open
247
248\begin_layout Plain Layout
249
250Real BysMcmc::Bsr::DynHlm::DBApi::Mod.Create(
251\end_layout
252
253\begin_layout Plain Layout
254
255     DBConnection::BsrHlm::_.defaultDB, id_model, ds_model);
256\end_layout
257
258\end_inset
259
260Inserción de la sesión en la base de datos:
261\begin_inset Newline newline
262\end_inset
263
264
265\begin_inset listings
266inline false
267status open
268
269\begin_layout Plain Layout
270
271Real BysMcmc::Bsr::DynHlm::DBApi::Ses.Create(
272\end_layout
273
274\begin_layout Plain Layout
275
276     DBConnection::BsrHlm::_.defaultDB, id_session, ds_session,
277\end_layout
278
279\begin_layout Plain Layout
280
281     ds_authors);
282\end_layout
283
284\end_inset
285
286Inserción del modelo-sesión en la base de datos:
287\begin_inset Newline newline
288\end_inset
289
290
291\begin_inset listings
292inline false
293status open
294
295\begin_layout Plain Layout
296
297Real BysMcmc::Bsr::DynHlm::DBApi::ModSes.Create(
298\end_layout
299
300\begin_layout Plain Layout
301
302      DBConnection::BsrHlm::_.defaultDB, id_model, id_session);
303\end_layout
304
305\end_inset
306
307Se crean en la base da datos los niveles de jerarquía .
308\begin_inset Newline newline
309\end_inset
310
311
312\begin_inset listings
313inline false
314status open
315
316\begin_layout Plain Layout
317
318Real BysMcmc::Bsr::DynHlm::DBApi::ModSes.SetLevels(
319\end_layout
320
321\begin_layout Plain Layout
322
323     DBConnection::BsrHlm::_.defaultDB,id_model,id_session,
324\end_layout
325
326\begin_layout Plain Layout
327
328     Real maxLatLevel = 1,
329\end_layout
330
331\begin_layout Plain Layout
332
333     Real hasPrior    = True,
334\end_layout
335
336\begin_layout Plain Layout
337
338     Real hasMixture  = False)};
339\end_layout
340
341\end_inset
342
343
344\end_layout
345
346\begin_layout Standard
347Es el momento de crear el NameBlock node.series.handler, responsable de manejar
348 las series asociada a un nodo observacional.
349 Describimos a continuación los elementos necesarios que aparecen en este
350 NameBlock, los comentarios realizados con ## indican variables que son
351 obligatorias:
352\begin_inset Newline newline
353\end_inset
354
355
356\begin_inset listings
357inline false
358status open
359
360\begin_layout Plain Layout
361
362/////////////////////////////////////////////////////////
363\end_layout
364
365\begin_layout Plain Layout
366
367NameBlock node.series.handler (Real node)
368\end_layout
369
370\begin_layout Plain Layout
371
372/////////////////////////////////////////////////////////
373\end_layout
374
375\begin_layout Plain Layout
376
377{ [[
378\end_layout
379
380\begin_layout Plain Layout
381
382    // Se forma la etiqueta del nodo.
383\end_layout
384
385\begin_layout Plain Layout
386
387    Text _node = FormatReal(node,"%1.0f");
388\end_layout
389
390\begin_layout Plain Layout
391
392    //## Nombre del nodo
393\end_layout
394
395\begin_layout Plain Layout
396
397    Text _.description = "Nodo observacional referido al output "+_node;
398\end_layout
399
400\begin_layout Plain Layout
401
402    //# Contiene todas las series output e input con nombres únicos dentro
403\end_layout
404
405\begin_layout Plain Layout
406
407    //de cada nodo
408\end_layout
409
410\begin_layout Plain Layout
411
412     Set _.series = { SetOfSerie (
413\end_layout
414
415\begin_layout Plain Layout
416
417        Output = .....
418\end_layout
419
420\begin_layout Plain Layout
421
422        Input1 = .....
423\end_layout
424
425\begin_layout Plain Layout
426
427        Input2 = .....
428\end_layout
429
430\begin_layout Plain Layout
431
432        ....
433\end_layout
434
435\begin_layout Plain Layout
436
437               )
438\end_layout
439
440\begin_layout Plain Layout
441
442                    };
443\end_layout
444
445\begin_layout Plain Layout
446
447    //# Se indexa para acelerar búsquedas
448\end_layout
449
450\begin_layout Plain Layout
451
452      Real _check_unique = SetIndexByName(_.series);
453\end_layout
454
455\begin_layout Plain Layout
456
457    //## Devuelve serie del nodo dado un identificaador único
458\end_layout
459
460\begin_layout Plain Layout
461
462      GetSerie (Text id_serie)
463\end_layout
464
465\begin_layout Plain Layout
466
467      {
468\end_layout
469
470\begin_layout Plain Layout
471
472       _.series[id_serie]
473\end_layout
474
475\begin_layout Plain Layout
476
477      }
478\end_layout
479
480\begin_layout Plain Layout
481
482    //##Información adicional del modelo sobre el output
483\end_layout
484
485\begin_layout Plain Layout
486
487     NameBlock _.output =   
488\end_layout
489
490\begin_layout Plain Layout
491
492      {[[
493\end_layout
494
495\begin_layout Plain Layout
496
497      //##Nombre con el que reconoce la serie en la base de datos
498\end_layout
499
500\begin_layout Plain Layout
501
502      Text _.name = "Output";
503\end_layout
504
505\begin_layout Plain Layout
506
507      //##Serie output
508\end_layout
509
510\begin_layout Plain Layout
511
512      Serie _.serie = _.series::Output;
513\end_layout
514
515\begin_layout Plain Layout
516
517      //##Número de sigmas para la distribución a priori de los omitidos
518\end_layout
519
520\begin_layout Plain Layout
521
522      Real _.mis_pri_sig_fac = 5;
523\end_layout
524
525\begin_layout Plain Layout
526
527      //##Valor mínimo a priori para los omitidos
528\end_layout
529
530\begin_layout Plain Layout
531
532      Real _.mis_pri_min     = 0;
533\end_layout
534
535\begin_layout Plain Layout
536
537      //##Valor máximo a priori para los omitidos
538\end_layout
539
540\begin_layout Plain Layout
541
542      Real _.mis_pri_max     = 2;
543\end_layout
544
545\begin_layout Plain Layout
546
547      //##Fecha inicial de estimación del nodo
548\end_layout
549
550\begin_layout Plain Layout
551
552      Date _.firstDate =  y2001m01;
553\end_layout
554
555\begin_layout Plain Layout
556
557      //##Fecha final de estimación del nodo
558\end_layout
559
560\begin_layout Plain Layout
561
562      Date _.lastDate  =  y2013m01;
563\end_layout
564
565\begin_layout Plain Layout
566
567      // Desviación típica de los residuos para el nodo observacional.
568 
569\end_layout
570
571\begin_layout Plain Layout
572
573      // Si es ? se estimará
574\end_layout
575
576\begin_layout Plain Layout
577
578      Real _.sigma = ?;
579\end_layout
580
581\begin_layout Plain Layout
582
583      //##Parte ARIMA asociada
584\end_layout
585
586\begin_layout Plain Layout
587
588      Set _.arima = SetOfSet (
589\end_layout
590
591\begin_layout Plain Layout
592
593         ARIMAStruct (1,1,1,1)
594\end_layout
595
596\begin_layout Plain Layout
597
598      )
599\end_layout
600
601\begin_layout Plain Layout
602
603      ]]};
604\end_layout
605
606\begin_layout Plain Layout
607
608      //##Información adicional del modelo sobre los inputs
609\end_layout
610
611\begin_layout Plain Layout
612
613      //Cada elemento es un NameBlock cuyo nombre será el identificador
614 en
615\end_layout
616
617\begin_layout Plain Layout
618
619      //la base de datos de BsrHlm y es obligatorio que se llame igual que
620\end_layout
621
622\begin_layout Plain Layout
623
624      //la corespondiente serie input
625\end_layout
626
627\begin_layout Plain Layout
628
629      Set _.input = {
630\end_layout
631
632\begin_layout Plain Layout
633
634      SetOfNameBlock(
635\end_layout
636
637\begin_layout Plain Layout
638
639      NameBlock Input1= [[
640\end_layout
641
642\begin_layout Plain Layout
643
644      //##Serie input
645\end_layout
646
647\begin_layout Plain Layout
648
649      Serie _.serie = _.series::Input1;
650\end_layout
651
652\begin_layout Plain Layout
653
654      //##Si es falso no se usará este input
655\end_layout
656
657\begin_layout Plain Layout
658
659      Real _.enabled = 1;
660\end_layout
661
662\begin_layout Plain Layout
663
664      //##Número de sigmas para la distribución a priori de los omitidos
665\end_layout
666
667\begin_layout Plain Layout
668
669      Real _.mis_pri_sig_fac =  5;
670\end_layout
671
672\begin_layout Plain Layout
673
674      //##Valor mínimo a priori para los omitidos
675\end_layout
676
677\begin_layout Plain Layout
678
679      Real _.mis_pri_min     =  0;
680\end_layout
681
682\begin_layout Plain Layout
683
684      //##Valor máximo a priori para los omitidos
685\end_layout
686
687\begin_layout Plain Layout
688
689      Real _.mis_pri_max     =  2;
690\end_layout
691
692\begin_layout Plain Layout
693
694      //##Valor inicial del parámetro
695\end_layout
696
697\begin_layout Plain Layout
698
699      Real _.initValue       = 0.1;
700\end_layout
701
702\begin_layout Plain Layout
703
704      //##Valor mínimo a priori del parámetro
705\end_layout
706
707\begin_layout Plain Layout
708
709      Real _.minimum         = -1;
710\end_layout
711
712\begin_layout Plain Layout
713
714      //##Valor máximo a priori del parámetro
715\end_layout
716
717\begin_layout Plain Layout
718
719      Real _.maximum         =  1
720\end_layout
721
722\begin_layout Plain Layout
723
724      ]],
725\end_layout
726
727\begin_layout Plain Layout
728
729      NameBlock Input2 = [[
730\end_layout
731
732\begin_layout Plain Layout
733
734       .....
735\end_layout
736
737\begin_layout Plain Layout
738
739       .....
740\end_layout
741
742\begin_layout Plain Layout
743
744      ]],
745\end_layout
746
747\begin_layout Plain Layout
748
749      .....
750\end_layout
751
752\begin_layout Plain Layout
753
754    // Se indexa para acelerar busquedas
755\end_layout
756
757\begin_layout Plain Layout
758
759    Real _checkUniqueInput = SetIndexByName(_.input)
760\end_layout
761
762\begin_layout Plain Layout
763
764 ]]
765\end_layout
766
767\begin_layout Plain Layout
768
769};
770\end_layout
771
772\end_inset
773
774
775\end_layout
776
777\begin_layout Standard
778Ahora se llama al manejador de series del modelo, notar que el bucle For
779 debe correr a todos los nodos observacionales que se quieran calcular:
780\begin_inset Newline newline
781\end_inset
782
783
784\begin_inset listings
785inline false
786status open
787
788\begin_layout Plain Layout
789
790///////////////////////////////////////////////////////
791\end_layout
792
793\begin_layout Plain Layout
794
795NameBlock series.handler =
796\end_layout
797
798\begin_layout Plain Layout
799
800  BysMcmc::Bsr::DynHlm::DBApi::CreateSeriesHandler(
801\end_layout
802
803\begin_layout Plain Layout
804
805  For (1,num_nodos, NameBlock (Real node)
806\end_layout
807
808\begin_layout Plain Layout
809
810  {
811\end_layout
812
813\begin_layout Plain Layout
814
815   WriteLn("[series.handler] creando de series del nodo "+ IntText(node));
816\end_layout
817
818\begin_layout Plain Layout
819
820   NameBlock aux = node.series.handler(node);   
821\end_layout
822
823\begin_layout Plain Layout
824
825   Eval(aux::_.id_node+"=aux")
826\end_layout
827
828\begin_layout Plain Layout
829
830}));
831\end_layout
832
833\end_inset
834
835 Ahora se crea en la base de datos los nodos observacionales :
836\begin_inset Newline newline
837\end_inset
838
839
840\begin_inset listings
841inline false
842status open
843
844\begin_layout Plain Layout
845
846Real BysMcmc::Bsr::DynHlm::DBApi::ModSes.Obs.CreateAll(
847\end_layout
848
849\begin_layout Plain Layout
850
851     DBConnection::BsrHlm::_.defaultDB, id_model, id_session,
852\end_layout
853
854\begin_layout Plain Layout
855
856     series.handler::_.obs.node);
857\end_layout
858
859\end_inset
860
861
862\end_layout
863
864\begin_layout Standard
865Ahora viene la parte del código dónde se usarán las funciones necesarias
866 para implementar en el modelo los nodos latentes, nodos a priori etc...
867 Incluimos algunos ejemplos del uso de estas funciones
868\begin_inset Newline newline
869\end_inset
870
871
872\begin_inset Newline newline
873\end_inset
874
875
876\series bold
877Nodos latentes homogéneos.
878
879\series default
880 
881\end_layout
882
883\begin_layout Standard
884\begin_inset listings
885inline false
886status open
887
888\begin_layout Plain Layout
889
890Real {
891\end_layout
892
893\begin_layout Plain Layout
894
895 BysMcmc::Bsr::DynHlm::DBApi::ModSes.Lat.Homog_1.Create
896\end_layout
897
898\begin_layout Plain Layout
899
900 (DBConnection::BsrHlm::_.defaultDB,
901\end_layout
902
903\begin_layout Plain Layout
904
905  id_model,
906\end_layout
907
908\begin_layout Plain Layout
909
910  id_session,
911\end_layout
912
913\begin_layout Plain Layout
914
915  // identificación del nodo latente
916\end_layout
917
918\begin_layout Plain Layout
919
920  id_node = "Lat."+child_input,
921\end_layout
922
923\begin_layout Plain Layout
924
925  // descripción del node latente
926\end_layout
927
928\begin_layout Plain Layout
929
930  description = "Fuerza la homogeneidad de la variable ...",
931\end_layout
932
933\begin_layout Plain Layout
934
935  // Nivel de latencia en la jerarquía
936\end_layout
937
938\begin_layout Plain Layout
939
940  Real level = 1,
941\end_layout
942
943\begin_layout Plain Layout
944
945  //Orden de aparición dentro del nivel
946\end_layout
947
948\begin_layout Plain Layout
949
950  Copy(level.1_number := level.1_number+1),
951\end_layout
952
953\begin_layout Plain Layout
954
955  //Nombre del hiperparámetro
956\end_layout
957
958\begin_layout Plain Layout
959
960  Text id_parameter = "hiper",
961\end_layout
962
963\begin_layout Plain Layout
964
965  //Valor inicial del hiperparámetro
966\end_layout
967
968\begin_layout Plain Layout
969
970  Real initValue = -0.1,
971\end_layout
972
973\begin_layout Plain Layout
974
975  //Desviación típica de los residuos.
976 Si es ? se estimará
977\end_layout
978
979\begin_layout Plain Layout
980
981  Real sigma = 0.05,
982\end_layout
983
984\begin_layout Plain Layout
985
986  //Valor mínimo del hiperparámetro
987\end_layout
988
989\begin_layout Plain Layout
990
991  Real minimum = -1,
992\end_layout
993
994\begin_layout Plain Layout
995
996  //Valor máximo del hiperparámetro
997\end_layout
998
999\begin_layout Plain Layout
1000
1001  Real maximum = 10,
1002\end_layout
1003
1004\begin_layout Plain Layout
1005
1006  //Selección de los parámetros y nodos hijos con el input habilitado
1007\end_layout
1008
1009\begin_layout Plain Layout
1010
1011  //Es un Set formado por tantos NameBlocks como parémetroas hijos
1012\end_layout
1013
1014\begin_layout Plain Layout
1015
1016  //(betas) formen el nodo latente homogéneo
1017\end_layout
1018
1019\begin_layout Plain Layout
1020
1021  [[
1022\end_layout
1023
1024\begin_layout Plain Layout
1025
1026    NameBlock beta1 = [[
1027\end_layout
1028
1029\begin_layout Plain Layout
1030
1031       Text _.id_parameter = "Nombre del nodo donde está beta1"
1032\end_layout
1033
1034\begin_layout Plain Layout
1035
1036       Text _.id_node      = "Nodo donde está situado el beta1"
1037\end_layout
1038
1039\begin_layout Plain Layout
1040
1041       Real _.sigma_factor = 1
1042\end_layout
1043
1044\begin_layout Plain Layout
1045
1046                      ]],
1047\end_layout
1048
1049\begin_layout Plain Layout
1050
1051    NameBlock beta2 = [[ ...
1052\end_layout
1053
1054\begin_layout Plain Layout
1055
1056                         ...]],
1057\end_layout
1058
1059\begin_layout Plain Layout
1060
1061    ...
1062\end_layout
1063
1064\begin_layout Plain Layout
1065
1066    ...
1067\end_layout
1068
1069\begin_layout Plain Layout
1070
1071  ]]
1072\end_layout
1073
1074\begin_layout Plain Layout
1075
1076 )};
1077\end_layout
1078
1079\end_inset
1080
1081
1082\series bold
1083Nodos latentes generalizados.
1084\end_layout
1085
1086\begin_layout Standard
1087\begin_inset listings
1088inline false
1089status open
1090
1091\begin_layout Plain Layout
1092
1093Real {
1094\end_layout
1095
1096\begin_layout Plain Layout
1097
1098  // Set de hiperparámetros.
1099 Es un set con tantos NameBlocks como
1100\end_layout
1101
1102\begin_layout Plain Layout
1103
1104  // hiperparámetros tiene el nodo lantente.
1105\end_layout
1106
1107\begin_layout Plain Layout
1108
1109  Set father_parameters = [[
1110\end_layout
1111
1112\begin_layout Plain Layout
1113
1114      NameBlock Lam1 =  ModSes.Lat.Father.Param.Def (
1115\end_layout
1116
1117\begin_layout Plain Layout
1118
1119                        Text id_parameter = "hiper1",
1120\end_layout
1121
1122\begin_layout Plain Layout
1123
1124                        Real init_value   = 0.1,
1125\end_layout
1126
1127\begin_layout Plain Layout
1128
1129                        Real min          = 0,
1130\end_layout
1131
1132\begin_layout Plain Layout
1133
1134                        Real max          = 1
1135\end_layout
1136
1137\begin_layout Plain Layout
1138
1139                        ),
1140\end_layout
1141
1142\begin_layout Plain Layout
1143
1144      NameBlock Lam2 = ModSes.Lat.Father.Param.Def (
1145\end_layout
1146
1147\begin_layout Plain Layout
1148
1149                        ......
1150\end_layout
1151
1152\begin_layout Plain Layout
1153
1154                        ......
1155\end_layout
1156
1157\begin_layout Plain Layout
1158
1159                        ),
1160\end_layout
1161
1162\begin_layout Plain Layout
1163
1164      ........
1165\end_layout
1166
1167\begin_layout Plain Layout
1168
1169      ........
1170\end_layout
1171
1172\begin_layout Plain Layout
1173
1174                          ]]; 
1175\end_layout
1176
1177\begin_layout Plain Layout
1178
1179   // Set de parámetros hijo.
1180 Es un set con tantos NameBlocks como
1181\end_layout
1182
1183\begin_layout Plain Layout
1184
1185   // paramétros hijo tenga el nodo latente regresivo.
1186\end_layout
1187
1188\begin_layout Plain Layout
1189
1190   Set node_childs = [[
1191\end_layout
1192
1193\begin_layout Plain Layout
1194
1195      NameBlock beta1 = ModSes.Lat.Child.Param.Def (
1196\end_layout
1197
1198\begin_layout Plain Layout
1199
1200                        Text id_node = "node1",
1201\end_layout
1202
1203\begin_layout Plain Layout
1204
1205                        Text id_parameter = "beta1",
1206\end_layout
1207
1208\begin_layout Plain Layout
1209
1210                        Real sigma_factor = 1
1211\end_layout
1212
1213\begin_layout Plain Layout
1214
1215                        ),
1216\end_layout
1217
1218\begin_layout Plain Layout
1219
1220      NameBlock beta2 = ModSes.Lat.Child.Param.Def (
1221\end_layout
1222
1223\begin_layout Plain Layout
1224
1225                        .....
1226\end_layout
1227
1228\begin_layout Plain Layout
1229
1230                        .....
1231\end_layout
1232
1233\begin_layout Plain Layout
1234
1235                        ),
1236\end_layout
1237
1238\begin_layout Plain Layout
1239
1240      ......
1241\end_layout
1242
1243\begin_layout Plain Layout
1244
1245      ......
1246\end_layout
1247
1248\begin_layout Plain Layout
1249
1250                     ]]; 
1251\end_layout
1252
1253\begin_layout Plain Layout
1254
1255Real BysMcmc::Bsr::DynHlm::DBApi::ModSes.Lat.Create (
1256\end_layout
1257
1258\begin_layout Plain Layout
1259
1260     DBConnection::BsrHlm::_.defaultDB,
1261\end_layout
1262
1263\begin_layout Plain Layout
1264
1265     id_model,
1266\end_layout
1267
1268\begin_layout Plain Layout
1269
1270     id_session,
1271\end_layout
1272
1273\begin_layout Plain Layout
1274
1275     // Nombre del nodo latente
1276\end_layout
1277
1278\begin_layout Plain Layout
1279
1280     id_node = "Lat.Reg",
1281\end_layout
1282
1283\begin_layout Plain Layout
1284
1285     // Descripcion del nodo latente
1286\end_layout
1287
1288\begin_layout Plain Layout
1289
1290     description = "Establece un nodo regresivo latente...",
1291\end_layout
1292
1293\begin_layout Plain Layout
1294
1295     //Nivel de latencia en la jerarquía
1296\end_layout
1297
1298\begin_layout Plain Layout
1299
1300     Real level = 1,
1301\end_layout
1302
1303\begin_layout Plain Layout
1304
1305     // Orden de aparición dentro del nivel
1306\end_layout
1307
1308\begin_layout Plain Layout
1309
1310     Copy(level.1_number := level.1_number+1),
1311\end_layout
1312
1313\begin_layout Plain Layout
1314
1315     father_parameters,
1316\end_layout
1317
1318\begin_layout Plain Layout
1319
1320     node_childs,
1321\end_layout
1322
1323\begin_layout Plain Layout
1324
1325     // Valor de la sigma del bloque latente conjunto
1326\end_layout
1327
1328\begin_layout Plain Layout
1329
1330     Real sigma = 0.1,
1331\end_layout
1332
1333\begin_layout Plain Layout
1334
1335     // Matrix X del nodo latente
1336\end_layout
1337
1338\begin_layout Plain Layout
1339
1340     Matrix X
1341\end_layout
1342
1343\begin_layout Plain Layout
1344
1345     )
1346\end_layout
1347
1348\begin_layout Plain Layout
1349
1350};
1351\end_layout
1352
1353\end_inset
1354
1355
1356\series bold
1357Nodos latentes con combinacion de output.
1358\end_layout
1359
1360\begin_layout Standard
1361\begin_inset listings
1362inline false
1363status open
1364
1365\begin_layout Plain Layout
1366
1367Real {
1368\end_layout
1369
1370\begin_layout Plain Layout
1371
1372   Set father_parameters = [[
1373\end_layout
1374
1375\begin_layout Plain Layout
1376
1377      NameBlock Lam1 =  ModSes.Lat.Father.Param.Def (
1378\end_layout
1379
1380\begin_layout Plain Layout
1381
1382                        Text id_parameter = "hiper1",
1383\end_layout
1384
1385\begin_layout Plain Layout
1386
1387                        Real init_value   = 0.1,
1388\end_layout
1389
1390\begin_layout Plain Layout
1391
1392                        Real min          = 0,
1393\end_layout
1394
1395\begin_layout Plain Layout
1396
1397                        Real max          = 1
1398\end_layout
1399
1400\begin_layout Plain Layout
1401
1402                        ),
1403\end_layout
1404
1405\begin_layout Plain Layout
1406
1407      NameBlock Lam2 = ModSes.Lat.Father.Param.Def (
1408\end_layout
1409
1410\begin_layout Plain Layout
1411
1412                        ......
1413\end_layout
1414
1415\begin_layout Plain Layout
1416
1417                        ......
1418\end_layout
1419
1420\begin_layout Plain Layout
1421
1422                        ),
1423\end_layout
1424
1425\begin_layout Plain Layout
1426
1427      ........
1428\end_layout
1429
1430\begin_layout Plain Layout
1431
1432      ........
1433\end_layout
1434
1435\begin_layout Plain Layout
1436
1437                          ]]; 
1438\end_layout
1439
1440\begin_layout Plain Layout
1441
1442   // Set de parámetros hijo.
1443 Es un set con tantos NameBlocks como
1444\end_layout
1445
1446\begin_layout Plain Layout
1447
1448   // paramétros hijo tenga el nodo latente regresivo.
1449\end_layout
1450
1451\begin_layout Plain Layout
1452
1453   Set node_childs = [[
1454\end_layout
1455
1456\begin_layout Plain Layout
1457
1458      NameBlock beta1 = ModSes.Lat.Child.Param.Def (
1459\end_layout
1460
1461\begin_layout Plain Layout
1462
1463                        Text id_node = "node1",
1464\end_layout
1465
1466\begin_layout Plain Layout
1467
1468                        Text id_parameter = "beta1",
1469\end_layout
1470
1471\begin_layout Plain Layout
1472
1473                        Real sigma_factor = 1
1474\end_layout
1475
1476\begin_layout Plain Layout
1477
1478                        ),
1479\end_layout
1480
1481\begin_layout Plain Layout
1482
1483      NameBlock beta2 = ModSes.Lat.Child.Param.Def (
1484\end_layout
1485
1486\begin_layout Plain Layout
1487
1488                        .....
1489\end_layout
1490
1491\begin_layout Plain Layout
1492
1493                        .....
1494\end_layout
1495
1496\begin_layout Plain Layout
1497
1498                        ),
1499\end_layout
1500
1501\begin_layout Plain Layout
1502
1503      ......
1504\end_layout
1505
1506\begin_layout Plain Layout
1507
1508      ......
1509\end_layout
1510
1511\begin_layout Plain Layout
1512
1513                     ]];   
1514\end_layout
1515
1516\begin_layout Plain Layout
1517
1518\end_layout
1519
1520\begin_layout Plain Layout
1521
1522      Real ModSes.Lat.OutComb.Create (
1523\end_layout
1524
1525\begin_layout Plain Layout
1526
1527      DBConnection::BsrHlm::_.defaultDB,
1528\end_layout
1529
1530\begin_layout Plain Layout
1531
1532      id_model,
1533\end_layout
1534
1535\begin_layout Plain Layout
1536
1537      id_session,
1538\end_layout
1539
1540\begin_layout Plain Layout
1541
1542      // Nombre del nodo latente
1543\end_layout
1544
1545\begin_layout Plain Layout
1546
1547      id_node = "Lat.Reg",
1548\end_layout
1549
1550\begin_layout Plain Layout
1551
1552      // Descripción del nodo latente
1553\end_layout
1554
1555\begin_layout Plain Layout
1556
1557      description = "Establece un nodo regresivo latente...",
1558\end_layout
1559
1560\begin_layout Plain Layout
1561
1562      // Nivel de latencia en la jerarquía
1563\end_layout
1564
1565\begin_layout Plain Layout
1566
1567      Real level = 1,
1568\end_layout
1569
1570\begin_layout Plain Layout
1571
1572      // Orden de aparición dentro del nivel
1573\end_layout
1574
1575\begin_layout Plain Layout
1576
1577      Copy(level.1_number := level.1_number+1),
1578\end_layout
1579
1580\begin_layout Plain Layout
1581
1582      father_parameters,
1583\end_layout
1584
1585\begin_layout Plain Layout
1586
1587      node_childs,
1588\end_layout
1589
1590\begin_layout Plain Layout
1591
1592      // Valor de Sigma para todo el nodo latente
1593\end_layout
1594
1595\begin_layout Plain Layout
1596
1597      Real sigma = 0.1,
1598\end_layout
1599
1600\begin_layout Plain Layout
1601
1602      // Matriz X del nodo latente
1603\end_layout
1604
1605\begin_layout Plain Layout
1606
1607      Matrix X,
1608\end_layout
1609
1610\begin_layout Plain Layout
1611
1612      // Matriz Y del nodo latente
1613\end_layout
1614
1615\begin_layout Plain Layout
1616
1617      Matrix Y,
1618\end_layout
1619
1620\begin_layout Plain Layout
1621
1622      // Un Set de Reales.
1623 Cada valor real especifica el i-ésimo valor
1624\end_layout
1625
1626\begin_layout Plain Layout
1627
1628      // de sigma de la i-ésima ecuación del nodo latente   
1629\end_layout
1630
1631\begin_layout Plain Layout
1632
1633      Set SigmaLat = [[
1634\end_layout
1635
1636\begin_layout Plain Layout
1637
1638      Real sigma1 = 0.1
1639\end_layout
1640
1641\begin_layout Plain Layout
1642
1643      Real sigma2 = 0.2
1644\end_layout
1645
1646\begin_layout Plain Layout
1647
1648      ....
1649\end_layout
1650
1651\begin_layout Plain Layout
1652
1653      ....
1654\end_layout
1655
1656\begin_layout Plain Layout
1657
1658      ]])
1659\end_layout
1660
1661\begin_layout Plain Layout
1662
1663};     
1664\end_layout
1665
1666\end_inset
1667
1668
1669\series bold
1670Nodo a priori
1671\series default
1672.
1673\begin_inset Newline newline
1674\end_inset
1675
1676
1677\begin_inset listings
1678inline false
1679status open
1680
1681\begin_layout Plain Layout
1682
1683Real{
1684\end_layout
1685
1686\begin_layout Plain Layout
1687
1688  BysMcmc::Bsr::DynHlm::DBApi::ModSes.Pri.Homog_1.Create(
1689\end_layout
1690
1691\begin_layout Plain Layout
1692
1693    DBConnection::BsrHlm::_.defaultDB,
1694\end_layout
1695
1696\begin_layout Plain Layout
1697
1698    id_model,
1699\end_layout
1700
1701\begin_layout Plain Layout
1702
1703    id_session,
1704\end_layout
1705
1706\begin_layout Plain Layout
1707
1708    // identificación del nodo
1709\end_layout
1710
1711\begin_layout Plain Layout
1712
1713    id_node = "Pri",
1714\end_layout
1715
1716\begin_layout Plain Layout
1717
1718    // descripción del nodo
1719\end_layout
1720
1721\begin_layout Plain Layout
1722
1723    description = "Prior para..."
1724\end_layout
1725
1726\begin_layout Plain Layout
1727
1728    // Conjunto de NameBlock.
1729 Cada NameBlock especifica que
1730\end_layout
1731
1732\begin_layout Plain Layout
1733
1734    // parámetro o hiperparámetro es el que tiene el a priori.
1735\end_layout
1736
1737\begin_layout Plain Layout
1738
1739    [[
1740\end_layout
1741
1742\begin_layout Plain Layout
1743
1744       NameBlock hiper1 = [[
1745\end_layout
1746
1747\begin_layout Plain Layout
1748
1749                            // Nombre del nodo donde está hiper1
1750\end_layout
1751
1752\begin_layout Plain Layout
1753
1754                            Text _.id_node = "node_hiper1",
1755\end_layout
1756
1757\begin_layout Plain Layout
1758
1759                            // Nombre del parámetro que tiene el prior
1760\end_layout
1761
1762\begin_layout Plain Layout
1763
1764                            Text _.id_parameter = "Lam1",
1765\end_layout
1766
1767\begin_layout Plain Layout
1768
1769                            // Valor medio de la Normal prior
1770\end_layout
1771
1772\begin_layout Plain Layout
1773
1774                            Real _.average = 0.1,
1775\end_layout
1776
1777\begin_layout Plain Layout
1778
1779                            // Valor de sigma de la Normla prior
1780\end_layout
1781
1782\begin_layout Plain Layout
1783
1784                            Real _.sigma = 0.01
1785\end_layout
1786
1787\begin_layout Plain Layout
1788
1789                          ]]
1790\end_layout
1791
1792\begin_layout Plain Layout
1793
1794       NameBlock hiper2 = [[
1795\end_layout
1796
1797\begin_layout Plain Layout
1798
1799                             ....
1800\end_layout
1801
1802\begin_layout Plain Layout
1803
1804                             ....
1805 
1806\end_layout
1807
1808\begin_layout Plain Layout
1809
1810                          ]]
1811\end_layout
1812
1813\begin_layout Plain Layout
1814
1815       ....
1816\end_layout
1817
1818\begin_layout Plain Layout
1819
1820\end_layout
1821
1822\begin_layout Plain Layout
1823
1824    ]]
1825\end_layout
1826
1827\begin_layout Plain Layout
1828
1829    )
1830\end_layout
1831
1832\begin_layout Plain Layout
1833
1834};
1835\end_layout
1836
1837\end_inset
1838
1839
1840\end_layout
1841
1842\begin_layout Standard
1843
1844\series bold
1845Nodo a priori combinación del output
1846\series default
1847.
1848\begin_inset Newline newline
1849\end_inset
1850
1851
1852\begin_inset listings
1853inline false
1854status open
1855
1856\begin_layout Plain Layout
1857
1858Real {
1859\end_layout
1860
1861\begin_layout Plain Layout
1862
1863  BysMcmc::Bsr::DynHlm::DPApi::ModSes.Pri.Out.Comb.Create(
1864\end_layout
1865
1866\begin_layout Plain Layout
1867
1868    DBConnection::BsrHlm::_.defaultDB,
1869\end_layout
1870
1871\begin_layout Plain Layout
1872
1873    id_model,
1874\end_layout
1875
1876\begin_layout Plain Layout
1877
1878    id_session,
1879\end_layout
1880
1881\begin_layout Plain Layout
1882
1883    // identificación del nodo
1884\end_layout
1885
1886\begin_layout Plain Layout
1887
1888    id_node = "Pri.OutComb",
1889\end_layout
1890
1891\begin_layout Plain Layout
1892
1893    // descripción del nodo
1894\end_layout
1895
1896\begin_layout Plain Layout
1897
1898    description = "Prior para...",
1899\end_layout
1900
1901\begin_layout Plain Layout
1902
1903    Copy(level.2_number := level.2_number+1),
1904\end_layout
1905
1906\begin_layout Plain Layout
1907
1908    // Set de sets, cada set contiene dos reales que especifican
1909\end_layout
1910
1911\begin_layout Plain Layout
1912
1913    // el valor de la media y sigma para cada ecuacion del nodo a priori
1914\end_layout
1915
1916\begin_layout Plain Layout
1917
1918    [[
1919\end_layout
1920
1921\begin_layout Plain Layout
1922
1923      [[ mu_1, sigma_1 ]],
1924\end_layout
1925
1926\begin_layout Plain Layout
1927
1928      [[ mu_2, sigma_2 ]],
1929\end_layout
1930
1931\begin_layout Plain Layout
1932
1933         ............
1934\end_layout
1935
1936\begin_layout Plain Layout
1937
1938    ]],
1939\end_layout
1940
1941\begin_layout Plain Layout
1942
1943    // Set de NameBlocks, tantos NameBlocks como parámetros entran
1944\end_layout
1945
1946\begin_layout Plain Layout
1947
1948    // en la combinación lineal del output
1949\end_layout
1950
1951\begin_layout Plain Layout
1952
1953    [[
1954\end_layout
1955
1956\begin_layout Plain Layout
1957
1958      NameBlock param1 = [[
1959\end_layout
1960
1961\begin_layout Plain Layout
1962
1963                          // Nombre de ese parámetro
1964\end_layout
1965
1966\begin_layout Plain Layout
1967
1968                          Text _.id_node = "param1",
1969\end_layout
1970
1971\begin_layout Plain Layout
1972
1973                          // Localización de ese parámetro
1974\end_layout
1975
1976\begin_layout Plain Layout
1977
1978                          Text _.id_parameter = "node.param1"
1979\end_layout
1980
1981\begin_layout Plain Layout
1982
1983                         ]],
1984\end_layout
1985
1986\begin_layout Plain Layout
1987
1988      NameBlock param2 = [[
1989\end_layout
1990
1991\begin_layout Plain Layout
1992
1993                          .....
1994   
1995\end_layout
1996
1997\begin_layout Plain Layout
1998
1999                         ]]
2000\end_layout
2001
2002\begin_layout Plain Layout
2003
2004    ]],
2005\end_layout
2006
2007\begin_layout Plain Layout
2008
2009    // Matriz Y responsable de la combinación lineal del output
2010\end_layout
2011
2012\begin_layout Plain Layout
2013
2014    Matrix Y
2015\end_layout
2016
2017\begin_layout Plain Layout
2018
2019    )
2020\end_layout
2021
2022\begin_layout Plain Layout
2023
2024}
2025\end_layout
2026
2027\end_inset
2028
2029
2030\end_layout
2031
2032\begin_layout Standard
2033
2034\series bold
2035Nodo restricción de orden.
2036\series default
2037
2038\begin_inset Newline newline
2039\end_inset
2040
2041
2042\begin_inset listings
2043inline false
2044status open
2045
2046\begin_layout Plain Layout
2047
2048Real {
2049\end_layout
2050
2051\begin_layout Plain Layout
2052
2053  BysMcmc::Bsr::DynHlm::DBApi::ModSes.Mix.OrderRelation.Create(
2054\end_layout
2055
2056\begin_layout Plain Layout
2057
2058    DBConnection::BsrHlm::_.defaultDB,
2059\end_layout
2060
2061\begin_layout Plain Layout
2062
2063    id_model,
2064\end_layout
2065
2066\begin_layout Plain Layout
2067
2068    id_session,
2069\end_layout
2070
2071\begin_layout Plain Layout
2072
2073    id_node_param1, "param1",
2074\end_layout
2075
2076\begin_layout Plain Layout
2077
2078    /* <= */ // param1 <= param2
2079\end_layout
2080
2081\begin_layout Plain Layout
2082
2083    id_node_param2, "param2")
2084\end_layout
2085
2086\begin_layout Plain Layout
2087
2088     };
2089\end_layout
2090
2091\end_inset
2092
2093
2094\end_layout
2095
2096\begin_layout Standard
2097
2098\series bold
2099Nodo restricción de orden con combinación lineales.
2100\begin_inset Newline newline
2101\end_inset
2102
2103
2104\series default
2105
2106\begin_inset listings
2107inline false
2108status open
2109
2110\begin_layout Plain Layout
2111
2112Real{
2113\end_layout
2114
2115\begin_layout Plain Layout
2116
2117  BysMcmc::Bsr::DynHlm::DBApi::ModSes.Mix.Constraint.Create(
2118\end_layout
2119
2120\begin_layout Plain Layout
2121
2122    DBConnection::BsrHlm::_.defaultDB,
2123\end_layout
2124
2125\begin_layout Plain Layout
2126
2127    id_model,
2128\end_layout
2129
2130\begin_layout Plain Layout
2131
2132    id_session,
2133\end_layout
2134
2135\begin_layout Plain Layout
2136
2137    id_session,
2138\end_layout
2139
2140\begin_layout Plain Layout
2141
2142    // El límite por la izquierda puede ser -1/0 o ? en el caso de
2143\end_layout
2144
2145\begin_layout Plain Layout
2146
2147    // que no haya límite por la izquierda
2148\end_layout
2149
2150\begin_layout Plain Layout
2151
2152    Real leftBound = -1/0,
2153\end_layout
2154
2155\begin_layout Plain Layout
2156
2157    // Set de NameBlocks que especifica la información de cada
2158\end_layout
2159
2160\begin_layout Plain Layout
2161
2162    // uno de los parámetros que entran en la combinación lineal
2163\end_layout
2164
2165\begin_layout Plain Layout
2166
2167    [[
2168\end_layout
2169
2170\begin_layout Plain Layout
2171
2172      NameBlock param1 =  [[
2173\end_layout
2174
2175\begin_layout Plain Layout
2176
2177                            // Localización del parámetro
2178\end_layout
2179
2180\begin_layout Plain Layout
2181
2182                               Text _.id_node =
2183\begin_inset Quotes eld
2184\end_inset
2185
2186node.param1
2187\begin_inset Quotes erd
2188\end_inset
2189
2190,
2191\end_layout
2192
2193\begin_layout Plain Layout
2194
2195                            // Nombre del parámetro
2196\end_layout
2197
2198\begin_layout Plain Layout
2199
2200                               Text _.id_parameter =
2201\begin_inset Quotes eld
2202\end_inset
2203
2204param1
2205\begin_inset Quotes erd
2206\end_inset
2207
2208,
2209\end_layout
2210
2211\begin_layout Plain Layout
2212
2213                            // Coeficiente asociado a la combinación lineal
2214\end_layout
2215
2216\begin_layout Plain Layout
2217
2218                               Real _.coef = 0.3
2219\end_layout
2220
2221\begin_layout Plain Layout
2222
2223                          ]]
2224\end_layout
2225
2226\begin_layout Plain Layout
2227
2228      NameBlock param2 =  [[
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   
2249\end_layout
2250
2251\begin_layout Plain Layout
2252
2253\end_layout
2254
2255\begin_layout Plain Layout
2256
2257    ]],
2258\end_layout
2259
2260\begin_layout Plain Layout
2261
2262    // El límite por la derecha puede ser -1/0 o ? en el caso de
2263\end_layout
2264
2265\begin_layout Plain Layout
2266
2267    // que no haya límite por la derecha
2268\end_layout
2269
2270\begin_layout Plain Layout
2271
2272    Real rightBound = 0   
2273\end_layout
2274
2275\begin_layout Plain Layout
2276
2277  )
2278\end_layout
2279
2280\begin_layout Plain Layout
2281
2282}
2283\end_layout
2284
2285\end_inset
2286
2287
2288\end_layout
2289
2290\begin_layout Standard
2291Finalmente la llamada al estimador BSR se realiza por el siguiente código:
2292\begin_inset Newline newline
2293\end_inset
2294
2295
2296\begin_inset listings
2297inline false
2298status open
2299
2300\begin_layout Plain Layout
2301
2302NameBlock bsr.config =
2303\end_layout
2304
2305\begin_layout Plain Layout
2306
2307[[
2308\end_layout
2309
2310\begin_layout Plain Layout
2311
2312  //MCMC dimensions
2313\end_layout
2314
2315\begin_layout Plain Layout
2316
2317  Real mcmc.burnin   =  100;
2318\end_layout
2319
2320\begin_layout Plain Layout
2321
2322  Real mcmc.sampleLength = 2000;
2323\end_layout
2324
2325\begin_layout Plain Layout
2326
2327  Real mcmc.cacheLength  =  100;
2328\end_layout
2329
2330\begin_layout Plain Layout
2331
2332  //Basic master configuration
2333\end_layout
2334
2335\begin_layout Plain Layout
2336
2337  Real basic.cholesky.epsilon = 1.E-10;
2338\end_layout
2339
2340\begin_layout Plain Layout
2341
2342  Real basic.cholesky.warningFreq = 100;
2343\end_layout
2344
2345\begin_layout Plain Layout
2346
2347  Real basic.truncMNormal.gibbsNumIter = 5;
2348\end_layout
2349
2350\begin_layout Plain Layout
2351
2352  //Report configuration
2353\end_layout
2354
2355\begin_layout Plain Layout
2356
2357  Real report.raftery.diag.q   = 0.025;
2358\end_layout
2359
2360\begin_layout Plain Layout
2361
2362  Real report.raftery.diag.r   = 0.007;
2363\end_layout
2364
2365\begin_layout Plain Layout
2366
2367  Real report.raftery.diag.s   = 0.950;
2368\end_layout
2369
2370\begin_layout Plain Layout
2371
2372  Real report.raftery.diag.eps = 0.001;
2373\end_layout
2374
2375\begin_layout Plain Layout
2376
2377  Real report.acf.lag          = 20,
2378\end_layout
2379
2380\begin_layout Plain Layout
2381
2382  Real report.histogram.parts  = 100;
2383\end_layout
2384
2385\begin_layout Plain Layout
2386
2387  Real report.kerDens.points   = 0;
2388\end_layout
2389
2390\begin_layout Plain Layout
2391
2392  Real report.kerDens.numIter  = 2;
2393\end_layout
2394
2395\begin_layout Plain Layout
2396
2397  Real report.kerDens.epsilon  = 0.001;
2398\end_layout
2399
2400\begin_layout Plain Layout
2401
2402  //Generic flags
2403\end_layout
2404
2405\begin_layout Plain Layout
2406
2407  Real do.resume          =  False;
2408\end_layout
2409
2410\begin_layout Plain Layout
2411
2412  Real do.report          =  True;
2413\end_layout
2414
2415\begin_layout Plain Layout
2416
2417  Real do.eval            =  True;
2418\end_layout
2419
2420\begin_layout Plain Layout
2421
2422  Real do.linear.effects  =  True
2423\end_layout
2424
2425\begin_layout Plain Layout
2426
2427]];
2428\end_layout
2429
2430\begin_layout Plain Layout
2431
2432///////////////////////////////////////////////////////////
2433\end_layout
2434
2435\begin_layout Plain Layout
2436
2437\end_layout
2438
2439\begin_layout Plain Layout
2440
2441///////////////////////////////////////////////////////////
2442\end_layout
2443
2444\begin_layout Plain Layout
2445
2446// Estimación del modelo con el sistema Bsr::DynHlm
2447\end_layout
2448
2449\begin_layout Plain Layout
2450
2451///////////////////////////////////////////////////////////
2452\end_layout
2453
2454\begin_layout Plain Layout
2455
2456Set bsr.estim = {BysMcmc::Bsr::DynHlm::DBApi::Estim(
2457\end_layout
2458
2459\begin_layout Plain Layout
2460
2461  DBConnection::BsrHlm::_.defaultDB,
2462\end_layout
2463
2464\begin_layout Plain Layout
2465
2466  id_model,
2467\end_layout
2468
2469\begin_layout Plain Layout
2470
2471  id_session,
2472\end_layout
2473
2474\begin_layout Plain Layout
2475
2476  Path::_.data.out,
2477\end_layout
2478
2479\begin_layout Plain Layout
2480
2481  series.handler,
2482\end_layout
2483
2484\begin_layout Plain Layout
2485
2486  bsr.config
2487\end_layout
2488
2489\begin_layout Plain Layout
2490
2491)};
2492\end_layout
2493
2494\begin_layout Plain Layout
2495
2496\end_layout
2497
2498\begin_layout Plain Layout
2499
2500// Desconectamos de la base de datos
2501\end_layout
2502
2503\begin_layout Plain Layout
2504
2505  Real DBConnection::BsrHlm::Close(0);
2506\end_layout
2507
2508\end_inset
2509
2510
2511\end_layout
2512
2513\end_body
2514\end_document
Note: See TracBrowser for help on using the repository browser.