source: tol/doc/modeling/BSR/BSR_P2_S5_DynHlm.lyx @ 5ed3b7e

1941-docker-image-to-testdevel
Last change on this file since 5ed3b7e was 5ed3b7e, checked in by Miguel Ángel Fernández <mafernandez@…>, 18 years ago

Actualización funciones Mod.Ses.Lat.Create, Mod.Ses.Lat.OutComb.Create y ModSes.Pri.OutComb.Create

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

  • Property mode set to 100644
File size: 37.2 KB
Line 
1#LyX 1.5.6 created this file. For more info see http://www.lyx.org/
2\lyxformat 276
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\language spanish
31\inputencoding auto
32\font_roman default
33\font_sans default
34\font_typewriter default
35\font_default_family default
36\font_sc false
37\font_osf false
38\font_sf_scale 100
39\font_tt_scale 100
40\graphics default
41\paperfontsize default
42\spacing single
43\papersize default
44\use_geometry false
45\use_amsmath 1
46\use_esint 0
47\cite_engine basic
48\use_bibtopic false
49\paperorientation portrait
50\secnumdepth 3
51\tocdepth 3
52\paragraph_separation indent
53\defskip medskip
54\quotes_language english
55\papercolumns 1
56\papersides 1
57\paperpagestyle default
58\tracking_changes false
59\output_changes false
60\author ""
61\author ""
62\end_header
63
64\begin_body
65
66\begin_layout Chapter
67\begin_inset LatexCommand label
68name "cha:BysMcmc::Bsr::DynHlm"
69
70\end_inset
71
72BysMcmc::Bsr::DynHlm
73\end_layout
74
75\begin_layout Standard
76Se describen los miembros y métodos generales del NameBlock BysMcmc::Bsr::DynHlm
77\end_layout
78
79\begin_layout Section
80Descripción
81\end_layout
82
83\begin_layout Standard
84Como ya se ha dicho anteriormente el caso del modelo jerárquico aparece
85 de forma natural en multitud de ocasiones y su especial estructura sparse
86 por bloques permite simplificaciones importantes a la hora de la definición
87 del modelo.
88 En particular es especialemente apta para ser almacenada en una base de
89 datos que facilite la inserción, modificación y mantenimiento en general
90 de diversos modelos y versiones ó sesiones del mismo, de forma que se automatic
91e al máximo las tareas de definición, diagnosis, inferencia y todas las
92 tareas que conlleva un sistema de modelación masiva tanto en la etapa de
93 desarrollo como en la de producción.
94\end_layout
95
96\begin_layout Section
97\begin_inset LatexCommand label
98name "sec:El-script-de-La-base-de-datos-Bsr-Hlm"
99
100\end_inset
101
102El script de la base de datos del sistema Bsr-Hlm
103\end_layout
104
105\begin_layout Standard
106De todo ellos se ocupan los miembros y métodos de este
107\series bold
108NameBlock BysMcmc::Bsr::DynHlm
109\series default
110 implementado en
111\begin_inset LatexCommand htmlurl
112target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_dynhlm.tol"
113
114\end_inset
115
116
117\end_layout
118
119\begin_layout Standard
120El script SQL
121\begin_inset LatexCommand htmlurl
122target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/db_bsrhlm_mysql.sql"
123
124\end_inset
125
126 contiene todo lo necesario para convertir una base de datos existente en
127 el sistema de gestión de modelos de
128\series bold
129BysMcmc::Bsr::DynHlm
130\series default
131 que llamaremos en lo sucesivo sistema Bsr-Hlm.
132\end_layout
133
134\begin_layout Standard
135En el capítulo
136\begin_inset LatexCommand ref
137reference "cha:La-base-de-datos-del-sistema-Bsr-Hlm"
138
139\end_inset
140
141 se explica con detalle todo lo relativo a las tablas del sistema y sus
142 relaciones.
143 Baste decir aquí que existen varios grupos de tablas
144\end_layout
145
146\begin_layout Itemize
147Dimensionales: Aquellas que definen los valores que pueden adoptar determinados
148 campos de otras tablas
149\end_layout
150
151\begin_deeper
152\begin_layout Itemize
153Del sistema: aquellas cuyos valores vienen dados por el propio sistema y
154 no deben ser modificadas por el usuario.
155\end_layout
156
157\begin_layout Itemize
158De usuario: aquellas que vienen vacías de fábrica y en las que el usuario,
159 mediante el programa de interfaz que elija, debe introducir datos propios.
160\end_layout
161
162\end_deeper
163\begin_layout Itemize
164ModSes: Aquellas que definen una sesión concreta de un modelo específico.
165 Deben ser rellenadas por el programa de interfaz de usuario.
166 El índice de todas estas tablas comienza siempre por los campos (id_model,
167 id_session) que definen el objetivo y la versión concreta del modelo en
168 cuestión.
169\end_layout
170
171\begin_deeper
172\begin_layout Itemize
173Genéricas: aquellas que no se refieren a ningún tipo de nodo en particular.
174\end_layout
175
176\begin_layout Itemize
177Observacionales: aquellas que se refieren a los nodos observacionales.
178\end_layout
179
180\begin_layout Itemize
181Latentes: aquellas que se refieren a los nodos latentes.
182\end_layout
183
184\begin_layout Itemize
185A priori: aquellas que se refieren a los nodos a priori.
186\end_layout
187
188\begin_layout Itemize
189Mixtas: aquellas que se refieren a los nodos mixtos, es decir que pueden
190 relacionar diversos tipos de nodos.
191\end_layout
192
193\end_deeper
194\begin_layout Itemize
195Resultados: Aquellas que recojen resultados de la simulación y que son rellenada
196s por el propio sistema Bsr-Hlm durante y después del proceso.
197\end_layout
198
199\begin_layout Section
200
201\family typewriter
202NameBlock BysMcmc::Bsr::DynHlm::DbApi
203\end_layout
204
205\begin_layout Standard
206En el fichero
207\begin_inset LatexCommand htmlurl
208target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.tol"
209
210\end_inset
211
212 se implementa la cabecera del
213\series bold
214NameBlock BysMcmc::Bsr::DynHlm::DbApi
215\series default
216 que incluye los métodos específicos de manejo de la base de datos del sistema
217 Bsr-Hlm.
218\end_layout
219
220\begin_layout Standard
221Todos los métodos precisan que previamente haya sido abierta y activa la
222 conexión a la base de datos del sistema Bsr-Hlm.
223 
224\end_layout
225
226\begin_layout Standard
227Se han clasificado dichos métodos en distintos ficheros según el tipo de
228 datos a los que afectan:
229\end_layout
230
231\begin_layout Itemize
232\begin_inset LatexCommand htmlurl
233target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.tools.tol"
234
235\end_inset
236
237: Contiene las utilidades SQL genéricas y las de manejo de las tablas dimensiona
238les:
239\end_layout
240
241\begin_deeper
242\begin_layout Itemize
243
244\series bold
245Real SetEngineToMySQL(Real unused)
246\series default
247: Establece en el miembro
248\series bold
249_.engine
250\series default
251 el motor de base de datos a emplear.
252 De momento el único admitido es MySql.
253\end_layout
254
255\begin_layout Itemize
256
257\series bold
258Set SqlTableTrace(Text query, Text structure)
259\series default
260: Ejecuta una consulta de tipo
261\series bold
262SELECT
263\series default
264 y devuelve el contenido en un conjunto con la estructura dada, si no es
265 la cadena vacía en cuyo caso se devuelve una tabla no estructurada.
266 Si el miembro de configuración doQueryTrace está habilitado se escribirá
267 primero la consulta por la salida estándar.
268\end_layout
269
270\begin_layout Itemize
271
272\series bold
273Real SqlExecTrace(Text query)
274\series default
275: Ejecuta una consulta de modificación (
276\series bold
277INSERT
278\series default
279,
280\series bold
281DELETE
282\series default
283,
284\series bold
285UPDATE
286\series default
287,
288\series bold
289ALTER
290\series default
291, ...) y devuelve 1 en caso de éxito.
292 Si el miembro de configuración doQueryTrace está habilitado se escribirá
293 primero la consulta por la salida estándar.
294\end_layout
295
296\begin_layout Itemize
297
298\series bold
299Text SqlFormatDate(Date dte)
300\series default
301: Transforma una fecha en un texto admisible como fecha por el motor de
302 la base de datos dado en el miembro
303\series bold
304_.engine.
305 
306\series default
307Si la fecha no es válida devuelve el texto
308\series bold
309'NULL'
310\series default
311para que sea tratado como tal por la base de datos.
312\end_layout
313
314\begin_layout Itemize
315
316\series bold
317Text SqlFormatReal(Real x)
318\series default
319: Transforma un número real en un texto admisible como número de precisión
320 doble por el motor de la base de datos dado en el miembro
321\series bold
322_.engine.
323 
324\series default
325Si el número no es finito devuelve el texto
326\series bold
327'NULL'
328\series default
329para que sea tratado como tal por la base de datos.
330\end_layout
331
332\begin_layout Itemize
333
334\series bold
335Real CreateSkeleton(Real unused)
336\series default
337: Ejecuta el script de la base de datos del sistema (ver
338\begin_inset LatexCommand ref
339reference "sec:El-script-de-La-base-de-datos-Bsr-Hlm"
340
341\end_inset
342
343) en la base de datos activa.
344\end_layout
345
346\begin_layout Itemize
347
348\series bold
349Real ForeignKey.Disable(Real unused)
350\series default
351: Desactiva las claves ajenas que relacionan las tablas para permitir hacer
352 modificaciones controladas.
353 No se debe usar si no se está seguro de que las modificaciones serán congruente
354s con dichas claves.
355\end_layout
356
357\begin_layout Itemize
358
359\series bold
360Real ForeignKey.Enable(Real unused)
361\series default
362: Reestablece las claves ajenas que relacionan las tablas después de haber
363 hecho modificaciones controladas.
364\end_layout
365
366\begin_layout Itemize
367
368\series bold
369Real Mod.Create(Text dbName, Text model, Text description)
370\series default
371: Crea un nuevo registro de modelo o modifica uno existente.
372\end_layout
373
374\begin_layout Itemize
375
376\series bold
377Real Mod.Delete(Text dbName, Text model)
378\series default
379: Elimina, si existe, un registro de modelo y todos los registros asociados
380 a todas las sesiones del mismo en todas las tablas del sistema.
381 Se debe usar por tanto con mucho cuidado pues supone la eliminación de
382 todo rastro del modelo.
383\end_layout
384
385\begin_layout Itemize
386
387\series bold
388Real Mod.SetBlocked(Text dbName, Text model, Real blocked)
389\series default
390: Bloquea o desbloquea todas las model-session asociadas a un modelo.
391\end_layout
392
393\begin_layout Itemize
394
395\series bold
396Real Ses.Create(Text dbName, Text model, Text description)
397\series default
398: Crea un nuevo registro de sesión o modifica uno existente.
399\end_layout
400
401\begin_layout Itemize
402
403\series bold
404Real Ses.Delete(Text dbName, Text model)
405\series default
406: Elimina, si existe, un registro de sesión y todos los registros asociados
407 a todas los modelos de la misma en todas las tablas del sistema.
408 Se debe usar por tanto con mucho cuidado pues supone la eliminación de
409 todo rastro de la sesión.
410\end_layout
411
412\begin_layout Itemize
413
414\series bold
415Real Ses.SetBlocked(Text dbName, Text model, Real blocked)
416\series default
417: Bloquea o desbloquea todas las model-session asociadas a una sesión.
418\end_layout
419
420\end_deeper
421\begin_layout Itemize
422\begin_inset LatexCommand htmlurl
423target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.tools.modses.tol"
424
425\end_inset
426
427: Contiene las utilidades de manejo de las tablas de tipo ModSes genéricas:
428\end_layout
429
430\begin_deeper
431\begin_layout Itemize
432
433\series bold
434Real ModSes.CheckBlocked(Text dbName, Text model, Text session, Real forzeStop)
435\series default
436: Comprueba si una model-session está bloqueada y en tal caso, si
437\series bold
438forzeStop
439\series default
440 es cierto se para el proceso de compilación TOL en curso con
441\series bold
442Real Stop
443\series default
444.
445\end_layout
446
447\begin_layout Itemize
448
449\series bold
450Real ModSes.SetBlocked(Text dbName, Text model, Text session, Real blocked)
451\series default
452: Establece el estado de bloqueo de una model-session al valor
453\series bold
454blocked
455\series default
456.
457\end_layout
458
459\begin_layout Itemize
460
461\series bold
462Real ModSes.Create(Text dbName, Text model, Text session)
463\series default
464: Crea un registro de model-session.
465 Un modelo puede tener diferentes sesiones y una sesión se puede referir
466 a varios modelos.
467\end_layout
468
469\begin_layout Itemize
470
471\series bold
472Real ModSes.SetLevels(Text dbName, Text model, Text session, Real maxLatLevel,
473 Real hasPrior, Real hasMixture)
474\series default
475: Establece los niveles de jerarquía admnisibles del modelo.
476\end_layout
477
478\begin_layout Itemize
479
480\series bold
481ModSes.Node.Create(Text dbName, Text model, Text session, Text node, Text
482 nodeType, Real level, Real number, Text description)
483\series default
484: Crea un nuevo registro de nodo.
485 Si ya existiera uno con ese nombre en esa model-session dará error de SQL.
486\end_layout
487
488\begin_layout Itemize
489
490\series bold
491Real ModSes.Delete(Text dbName, Text model, Text session)
492\series default
493: Borra todos los registros asociados a una model-session en todas las tablas
494 del sistema.
495 Se debe usar por tanto con mucho cuidado pues supone la eliminación de
496 todo rastro de la model-session.
497\end_layout
498
499\begin_layout Itemize
500
501\series bold
502Real ModSes.Replicate(Text from_dbName, Text from_model, Text from_session,
503 Text to_dbName, Text to_model, Text to_session)
504\series default
505: Hace una copia de una model-session.
506 Como es lógico, al menos uno de los tres descriptores de destino
507\series bold
508to_dbName, to_model, to_session
509\series default
510 debe ser distintos de los correspondientes descriptores de origen
511\series bold
512from_dbName, from_model, from_session
513\series default
514.
515 Si es
516\series bold
517to_dbName
518\series default
519 distinta de
520\series bold
521from_dbName
522\series default
523 esto permite transmitir modelos entre distintas bases de datos dentro del
524 mismo gestor.
525\end_layout
526
527\begin_layout Itemize
528
529\series bold
530Real ModSes.Move(Text from_dbName, Text from_model, Text from_session, Text
531 to_dbName, Text to_model, Text to_session)
532\series default
533: Copia una model-session de origen en otra de destino como se explica en
534 la función anterior y luego borra la de origen.
535\end_layout
536
537\begin_layout Itemize
538
539\series bold
540Real ModSes.Node.Rename(Text dbName, Text model, Text session, Text from_node,
541 Text to_node)
542\series default
543: Renombra un nodo dentro de una model-session extendiendo el cambio a todas
544 las tablas afectadas para mantener la integridad referencial.
545\end_layout
546
547\begin_layout Itemize
548
549\series bold
550Real ModSes.Node.Delete(Text dbName, Text model, Text session, Text from_node)
551\series default
552: Borra un nodo un nodo dentro de una model-session extendiendo el cambio
553 a todas las tablas afectadas para mantener la integridad referencial.
554\end_layout
555
556\end_deeper
557\begin_layout Itemize
558\begin_inset LatexCommand htmlurl
559target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.tools.modses.obs.tol"
560
561\end_inset
562
563: Contiene las utilidades de manejo de las tablas de tipo ModSes Observacionales
564:
565\end_layout
566
567\begin_deeper
568\begin_layout Itemize
569
570\series bold
571Real ModSes.Obs.Output.Create(...)
572\series default
573: Crea el registro de output
574\end_layout
575
576\begin_layout Itemize
577
578\series bold
579Real ModSes.Obs.Input.Create(...)
580\series default
581: Crea un registro de input
582\end_layout
583
584\begin_layout Itemize
585
586\series bold
587Real ModSes.Obs.TransFun.Create(...)
588\series default
589: Crea un registro de función de transferencia omega(B)/delta(B)
590\end_layout
591
592\begin_layout Itemize
593
594\series bold
595Real ModSes.Obs.SetArima(Text dbName, Text model, Text session, Text node,
596 Set arima)
597\series default
598: Crea un registro de factor ARIMA para cada elemento con estructura ARIMAStruct
599 del argumento
600\series bold
601arima
602\series default
603.
604\end_layout
605
606\begin_layout Itemize
607
608\series bold
609\begin_inset LatexCommand label
610name "ite:Real-ModSes.Obs.Create"
611
612\end_inset
613
614Real ModSes.Obs.Create(Text dbName, Text model, Text session, NameBlock node)
615\series default
616: Crea todos los registros necesarios para la definición de un nodo observaciona
617l a partir de un manejador TOL del nodo con esta API mínima
618\begin_inset listings
619lstparams "basicstyle={\small\ttfamily},extendedchars=true"
620inline false
621status open
622
623\begin_layout Standard
624
625NameBlock node =
626\end_layout
627
628\begin_layout Standard
629
630[[
631\end_layout
632
633\begin_layout Standard
634
635  //##Nombre del nodo
636\end_layout
637
638\begin_layout Standard
639
640  Text _.id_node;
641\end_layout
642
643\begin_layout Standard
644
645  //##Descripción del nodo
646\end_layout
647
648\begin_layout Standard
649
650  Text _.description;
651\end_layout
652
653\begin_layout Standard
654
655  //##Devuelve una serie del nodo dado un identificador único   
656\end_layout
657
658\begin_layout Standard
659
660  Serie GetSerie(Text id_serie);
661\end_layout
662
663\begin_layout Standard
664
665  //##Información adicional del modelo sobre el output
666\end_layout
667
668\begin_layout Standard
669
670  NameBlock _.output =
671\end_layout
672
673\begin_layout Standard
674
675  [[
676\end_layout
677
678\begin_layout Standard
679
680    //##Nombre con el que reconoce la serie en la base de datos
681\end_layout
682
683\begin_layout Standard
684
685    Text  _.name;
686\end_layout
687
688\begin_layout Standard
689
690    //##Serie output
691\end_layout
692
693\begin_layout Standard
694
695    Serie _.serie;
696\end_layout
697
698\begin_layout Standard
699
700    //##Número de sigmas para la distribución a priori de los
701\end_layout
702
703\begin_layout Standard
704
705    //omitidos se multiplicará por la desviación típica muestral
706\end_layout
707
708\begin_layout Standard
709
710    //de la serie.
711 La media a priori será la de la propia serie.
712 
713\end_layout
714
715\begin_layout Standard
716
717    Real  _.mis_pri_sig_fac;
718\end_layout
719
720\begin_layout Standard
721
722    //##Valor mínimo a priori para los omitidos
723\end_layout
724
725\begin_layout Standard
726
727    Real  _.mis_pri_min;
728\end_layout
729
730\begin_layout Standard
731
732    //##Valor máximo a priori para los omitidos
733\end_layout
734
735\begin_layout Standard
736
737    Real  _.mis_pri_max;
738\end_layout
739
740\begin_layout Standard
741
742    //##Fecha inicial de estimación del nodo.
743 Si la serie empieza
744\end_layout
745
746\begin_layout Standard
747
748    //más tarde se rellenará con omitidos
749\end_layout
750
751\begin_layout Standard
752
753    Date  _.firstDate;
754\end_layout
755
756\begin_layout Standard
757
758    //##Fecha final de estimación del nodo.
759 Si la serie acaba antes
760\end_layout
761
762\begin_layout Standard
763
764    //se rellenará con omitidos, lo cual es un método de previsión
765\end_layout
766
767\begin_layout Standard
768
769    //muy simple
770\end_layout
771
772\begin_layout Standard
773
774    Date  _.lastDate;
775\end_layout
776
777\begin_layout Standard
778
779    //##Parte ARIMA asociada
780\end_layout
781
782\begin_layout Standard
783
784    Set   _.arima;
785\end_layout
786
787\begin_layout Standard
788
789  ]];
790\end_layout
791
792\begin_layout Standard
793
794  //##Información adicional del modelo sobre los inputs
795\end_layout
796
797\begin_layout Standard
798
799  //Cada elemento es un NameBlock cuyo nombre será el identificador
800\end_layout
801
802\begin_layout Standard
803
804  //en la base de datos de BsrHlm y es obligatorio que se llame   
805\end_layout
806
807\begin_layout Standard
808
809  //igual que la correspondiente serie input
810\end_layout
811
812\begin_layout Standard
813
814  Set _.input = SetOfNameBlock(
815\end_layout
816
817\begin_layout Standard
818
819    //## input.1.name es el nombre con el que reconoce la serie en
820\end_layout
821
822\begin_layout Standard
823
824    //la base de datos
825\end_layout
826
827\begin_layout Standard
828
829    NameBlock input.1.name =                                           
830\end_layout
831
832\begin_layout Standard
833
834    [[
835\end_layout
836
837\begin_layout Standard
838
839      //##Serie input
840\end_layout
841
842\begin_layout Standard
843
844      Serie _.serie;
845\end_layout
846
847\begin_layout Standard
848
849      //##Si es falso no se usará este input
850\end_layout
851
852\begin_layout Standard
853
854      Real  _.enabled;
855\end_layout
856
857\begin_layout Standard
858
859      //#Función de transferencia.
860 Es opcional con valor por defecto 1/1       
861\end_layout
862
863\begin_layout Standard
864
865      Ratio _.transferFunction;
866\end_layout
867
868\begin_layout Standard
869
870      //##Número de sigmas para la distribución a priori de los omitidos
871\end_layout
872
873\begin_layout Standard
874
875      Real  _.mis_pri_sig_fac,
876\end_layout
877
878\begin_layout Standard
879
880      //##Valor mínimo a priori para los omitidos 
881\end_layout
882
883\begin_layout Standard
884
885      Real  _.mis_pri_min;
886\end_layout
887
888\begin_layout Standard
889
890      //##Valor máximo a priori para los omitidos
891\end_layout
892
893\begin_layout Standard
894
895      Real  _.mis_pri_max;
896\end_layout
897
898\begin_layout Standard
899
900      //##Valor inicial del parámetro
901\end_layout
902
903\begin_layout Standard
904
905      Real _.initValue;
906\end_layout
907
908\begin_layout Standard
909
910      //##Valor mínimo a priori del parámetro
911\end_layout
912
913\begin_layout Standard
914
915      Real _.minimum;
916\end_layout
917
918\begin_layout Standard
919
920      //##Valor máximo a priori del parámetro
921\end_layout
922
923\begin_layout Standard
924
925      Real _.maximum
926\end_layout
927
928\begin_layout Standard
929
930    ]],
931\end_layout
932
933\begin_layout Standard
934
935    ...
936\end_layout
937
938\begin_layout Standard
939
940  )
941\end_layout
942
943\begin_layout Standard
944
945]];
946\end_layout
947
948\end_inset
949
950
951\end_layout
952
953\begin_layout Itemize
954
955\series bold
956Real ModSes.Obs.CreateAll(Text dbName, Text model, Text session, Set nodes)
957\series default
958: Crea un conjunto de nodos observacionales a partir de un conjunto de manejador
959es TOL del nodo con la API mínima recién definida.
960\end_layout
961
962\begin_layout Itemize
963
964\series bold
965Real ModSes.Obs.Output.Serie.Rename(Text dbName, Text model, Text session, Text
966 from_serie, Text to_serie)
967\series default
968: Renombra una serie output en todas las tablas donde es necesario.
969\end_layout
970
971\begin_layout Itemize
972
973\series bold
974Real ModSes.Obs.Input.Serie.Rename(Text dbName, Text model, Text session, Text
975 from_serie, Text to_serie)
976\series default
977: Renombra una serie input en todas las tablas donde es necesario.
978\end_layout
979
980\end_deeper
981\begin_layout Itemize
982\begin_inset LatexCommand htmlurl
983target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.tools.modses.lat.tol"
984
985\end_inset
986
987: Contiene las utilidades de manejo de las tablas de tipo ModSes Latentes
988\end_layout
989
990\begin_deeper
991\begin_layout Itemize
992
993\series bold
994Real ModSes.Lat.SigBlk.Create(...)
995\series default
996: Crea el registro del Sigma-Block.
997 de un nodo latente.
998\end_layout
999
1000\begin_layout Itemize
1001
1002\series bold
1003Real ModSes.Lat.Equ.Create(...)
1004\series default
1005: Crea el registro de una ecuación de un nodo latente.
1006\end_layout
1007
1008\begin_layout Itemize
1009
1010\series bold
1011Real ModSes.Lat.Output.Create(...)
1012\series default
1013: Crea el registro de un término output para una ecuación de un nodo latente.
1014\end_layout
1015
1016\begin_layout Itemize
1017
1018\series bold
1019Real ModSes.Lat.Input.Create(...)
1020\series default
1021: Crea el registro de un término input para una ecuación de un nodo latente.
1022\end_layout
1023
1024\begin_layout Itemize
1025
1026\series bold
1027\begin_inset LatexCommand label
1028name "ite:Real-ModSes.Lat.Homog_1.Create"
1029
1030\end_inset
1031
1032Real ModSes.Lat.Homog_1.Create(Text dbName, Text model, Text session, Text
1033 id_node, Text description, Real level, Real number, Text id_parameter,
1034 Real initValue, Real sigma, Real minimum, Real maximum, Set node_childs)
1035\series default
1036: Crea todos los registros necesarios para definir un nodo latente de homogenida
1037d simple sobre un conjunto de variables de los nodos hijo con esta API
1038\begin_inset listings
1039lstparams "basicstyle={\small\ttfamily},extendedchars=true"
1040inline false
1041status open
1042
1043\begin_layout Standard
1044
1045\end_layout
1046
1047\begin_layout Standard
1048
1049  Set node_childs = SetOfNameBlock(
1050\end_layout
1051
1052\begin_layout Standard
1053
1054    NameBlock child.1 =
1055\end_layout
1056
1057\begin_layout Standard
1058
1059    [[
1060\end_layout
1061
1062\begin_layout Standard
1063
1064      Text _.id_node;
1065\end_layout
1066
1067\begin_layout Standard
1068
1069      Text _.id_parameter;
1070\end_layout
1071
1072\begin_layout Standard
1073
1074      Real _.sigma_factor
1075\end_layout
1076
1077\begin_layout Standard
1078
1079    ]],
1080\end_layout
1081
1082\begin_layout Standard
1083
1084    ...
1085\end_layout
1086
1087\begin_layout Standard
1088
1089  )
1090\end_layout
1091
1092\begin_layout Standard
1093
1094]];
1095\end_layout
1096
1097\end_inset
1098
1099
1100\end_layout
1101
1102\begin_layout Itemize
1103
1104\series bold
1105Real ModSes.Lat.Create(Text dbName, Text id_model, Text id_session, Text id_node,
1106 Text description, Real level, Real number, Set father_parameters, Set node_chil
1107ds, Real sigma, Matrix X
1108\series default
1109): Crea todos los registros necesarios para definir un nodo latente genérico
1110 de la forma:
1111\begin_inset Formula $\beta_{i}=\sum_{j}X^{ij}\lambda_{j}+e_{i}.$
1112\end_inset
1113
1114
1115\newline
1116
1117\newline
1118El
1119\series bold
1120Set father_parameters
1121\series default
1122 es un conjunto de NameBlocks con información relativa a cada uno de los
1123 hiperparámetros
1124\begin_inset Formula $\lambda_{j}$
1125\end_inset
1126
1127, este conjunto tendrá tantos Nameblocks como hiperparámetros
1128\begin_inset Formula $\lambda_{j}$
1129\end_inset
1130
1131haya:
1132\newline
1133
1134\begin_inset listings
1135inline false
1136status open
1137
1138\begin_layout Standard
1139
1140Set father_parameters = [[
1141\end_layout
1142
1143\begin_layout Standard
1144
1145   NameBlock Lam1  =
1146\end_layout
1147
1148\begin_layout Standard
1149
1150    ModSes.Lat.Father.Param.Def(Text id_parameter,
1151\end_layout
1152
1153\begin_layout Standard
1154
1155       Real init_value, Real min, Real max),
1156\end_layout
1157
1158\begin_layout Standard
1159
1160   .......
1161\end_layout
1162
1163\begin_layout Standard
1164
1165]];                                                                   
1166   
1167\end_layout
1168
1169\end_inset
1170
1171En el ejemplo citado vemos la construcción explícita de un NameBlock que
1172 corresponde al hiperparámetro
1173\begin_inset Formula $\lambda_{1}$
1174\end_inset
1175
1176  y que se realiza a través de la función
1177\series bold
1178ModSes.Lat.Father.Param.Def
1179\series default
1180 (Text id_parameter, Real init_value, Real min, Real max).
1181 Los argumentos de esta función son los siguientes:
1182\newline
1183Text id_parameter: texto
1184 identificativo del hiperparámetro.
1185\newline
1186Real init_value: valor inicial para la
1187 simulación.
1188\newline
1189Real min: valor mínimo del dominio de muestreo para
1190\begin_inset Formula $\lambda_{1}$
1191\end_inset
1192
1193.
1194\newline
1195Real max: valor máximo del dominio de muestreo para
1196\begin_inset Formula $\lambda_{1.}$
1197\end_inset
1198
1199
1200\newline
1201
1202\newline
1203El
1204\series bold
1205Set node_childs
1206\series default
1207 es un conjunto de NameBlocks con información relativa a los parámetros
1208 
1209\begin_inset Formula $\beta_{i}$
1210\end_inset
1211
1212, este conjunto tedrá tantos NameBlocks como parámetros
1213\begin_inset Formula $\beta_{i}$
1214\end_inset
1215
1216haya:
1217\newline
1218
1219\begin_inset listings
1220inline false
1221status open
1222
1223\begin_layout Standard
1224
1225Set node_childs  = [[
1226\end_layout
1227
1228\begin_layout Standard
1229
1230  NameBlock Param1 =
1231\end_layout
1232
1233\begin_layout Standard
1234
1235     ModSes.Lat.Child.Param.Def  (Text id_node,
1236\end_layout
1237
1238\begin_layout Standard
1239
1240      Text id_paramater, Real sigma_factor),
1241\end_layout
1242
1243\begin_layout Standard
1244
1245     .....
1246\end_layout
1247
1248\begin_layout Standard
1249
1250  ]];
1251\end_layout
1252
1253\end_inset
1254
1255En el ejemplo vemos la construcción explícita de un NameBlock que corresponde
1256 al parámetro
1257\begin_inset Formula $\beta_{1}$
1258\end_inset
1259
1260, y se realiza a través de la función
1261\series bold
1262ModSes.Lat.Child.Param.Def
1263\series default
1264 (Text id_node, Text id_parameter, Real sigma_factor).
1265 Los argumentos de esta función son los siguientes:
1266\newline
1267Text id_node: Texto identific
1268ativo del segmento o nodo donde se encuentra el parámetro
1269\begin_inset Formula $\beta_{i}$
1270\end_inset
1271
1272.
1273\newline
1274Text id_parameter: Texto identificativo del parámetro
1275\begin_inset Formula $\beta_{i}$
1276\end_inset
1277
1278.
1279\newline
1280Real sigma_factor: Valor real para el parámetro sigma factor, común a todo
1281 el nodo de regresión.
1282 
1283\newline
1284
1285\newline
1286La matrix X es la matrix
1287\begin_inset Formula $X^{ij}$
1288\end_inset
1289
1290.
1291\end_layout
1292
1293\begin_layout Itemize
1294
1295\series bold
1296Real ModSes.Lat.OutComb.Create(Text dbName, Text id_model, Text id_session,
1297 Text id_node, Text description, Real level, Real number, Set father_parameters,
1298 Set node_childs, Real sigma, Matrix X, Matrix Y, Set SigmaBlock)
1299\series default
1300: Crea todos los registros necesarios para definir un nodo latente genérico
1301 con output combinado, es decir de la forma:
1302\begin_inset Formula $\sum_{j}Y^{ij}\beta_{j}=$
1303\end_inset
1304
1305
1306\begin_inset Formula $\sum_{l}X^{il}\lambda_{l}+e_{i}(i=1,....,n)$
1307\end_inset
1308
1309 .
1310\newline
1311El Set father_parameters y el Set node_childs tienen el mismo significado
1312 y se construyen de la misma forma que en la función anterior Real
1313\series bold
1314 ModSes.Lat.Create.
1315 
1316\newline
1317
1318\series default
1319El Set SigmaBlock es un conjunto de valores reales que fijan el valor de
1320 
1321\begin_inset Formula $\sigma_{i}(i=1,....,n)$
1322\end_inset
1323
1324para cada una de las ecuaciones del nodo latente.
1325\end_layout
1326
1327\end_deeper
1328\begin_layout Itemize
1329\begin_inset LatexCommand htmlurl
1330target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.tools.modses.pri.tol"
1331
1332\end_inset
1333
1334: Contiene las utilidades de manejo de las tablas de tipo ModSes A priori
1335\end_layout
1336
1337\begin_deeper
1338\begin_layout Itemize
1339
1340\series bold
1341Real ModSes.Pri.Equ.Create(...)
1342\series default
1343: Crea el registro de una ecuación de un nodo a priori.
1344\end_layout
1345
1346\begin_layout Itemize
1347
1348\series bold
1349Real ModSes.Pri.Output.Create(...)
1350\series default
1351: Crea el registro de un término output para una ecuación de un nodo a priori.
1352\end_layout
1353
1354\begin_layout Itemize
1355
1356\series bold
1357\begin_inset LatexCommand label
1358name "ite:Real-ModSes.Pri.Homog_1.Create"
1359
1360\end_inset
1361
1362Real ModSes.Pri.Homog_1.Create(Text dbName, Text model, Text session, Text
1363 id_node, Text description, Set node_childs)
1364\series default
1365: Crea todos los registros necesarios para definir un nodo latente de homogenida
1366d simple sobre un conjunto de variables de los nodos hijo con esta API
1367\begin_inset listings
1368lstparams "basicstyle={\small\ttfamily},extendedchars=true"
1369inline false
1370status open
1371
1372\begin_layout Standard
1373
1374\end_layout
1375
1376\begin_layout Standard
1377
1378  Set node_childs = SetOfNameBlock(
1379\end_layout
1380
1381\begin_layout Standard
1382
1383    NameBlock child.1 =
1384\end_layout
1385
1386\begin_layout Standard
1387
1388    [[
1389\end_layout
1390
1391\begin_layout Standard
1392
1393      Text _.id_node;
1394\end_layout
1395
1396\begin_layout Standard
1397
1398      Text _.id_parameter;
1399\end_layout
1400
1401\begin_layout Standard
1402
1403      Real _.average;
1404\end_layout
1405
1406\begin_layout Standard
1407
1408      Real _.sigma
1409\end_layout
1410
1411\begin_layout Standard
1412
1413    ]],
1414\end_layout
1415
1416\begin_layout Standard
1417
1418    ...
1419\end_layout
1420
1421\begin_layout Standard
1422
1423  )
1424\end_layout
1425
1426\begin_layout Standard
1427
1428]];
1429\end_layout
1430
1431\end_inset
1432
1433
1434\end_layout
1435
1436\begin_layout Itemize
1437
1438\series bold
1439Real ModSes.Pri.OutComb.Create(Text dbName, Text model, Text session, Text
1440 id_node, Text description, Real number, Set PriorInfo, Set node_childs,
1441 Matrix Y)
1442\series default
1443: Crea todos los registros necesarios para definir un nodo a priori genérico
1444 con output combinado:
1445\begin_inset Formula $\sum_{j}Y^{ij}\beta_{j}\sim N(\mu_{i},\sigma_{i})$
1446\end_inset
1447
1448.
1449\newline
1450El Set PriorInfo es un conjunto de conjuntos que especifica los valores
1451 
1452\begin_inset Formula $\mu_{i},\sigma_{i}$
1453\end_inset
1454
1455 para cada una de las ecuaciones del nodo a priori.
1456\newline
1457
1458\begin_inset listings
1459inline false
1460status open
1461
1462\begin_layout Standard
1463
1464Set PriorInfo = [[
1465\end_layout
1466
1467\begin_layout Standard
1468
1469    [[ Real mu_1, Real sigma_1  ]],
1470\end_layout
1471
1472\begin_layout Standard
1473
1474    [[ Real mu_2, Real sigma_2  ]],
1475\end_layout
1476
1477\begin_layout Standard
1478
1479    .....
1480\end_layout
1481
1482\begin_layout Standard
1483
1484]]
1485\end_layout
1486
1487\end_inset
1488
1489En el ejemplo anterior se construye explícitamente el conjunto PriorInfo,
1490 donde aparecen dos conjuntos con los valores de
1491\begin_inset Formula $\mu_{1,}\sigma_{1}$
1492\end_inset
1493
1494y
1495\begin_inset Formula $\mu_{2},\sigma_{2}$
1496\end_inset
1497
1498 para dos ecuaciones de nodo apriori.
1499 
1500\newline
1501
1502\begin_inset LatexCommand htmlurl
1503target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.tools.modses.mix.tol"
1504
1505\end_inset
1506
1507: Contiene las utilidades de manejo de las tablas de tipo ModSes Mixtas
1508\end_layout
1509
1510\begin_layout Itemize
1511
1512\series bold
1513Real ModSes.Mix.Param.Create(...)
1514\series default
1515: Crea el registro de un parámetro a simular en el modelo.
1516\end_layout
1517
1518\begin_layout Itemize
1519
1520\series bold
1521Real ModSes.Mix.Param.Delete(...)
1522\series default
1523: Borra el registro de un parámetro a simular en el modelo en todas las
1524 tablas donde aparece.
1525\end_layout
1526
1527\begin_layout Itemize
1528
1529\series bold
1530Real ModSes.Mix.OrderRelation.Create(...)
1531\series default
1532: Crea el registro de una relación de orden entre dos parámetros del bloque
1533 lineal.
1534\end_layout
1535
1536\end_deeper
1537\begin_layout Itemize
1538\begin_inset LatexCommand htmlurl
1539target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.load.tol"
1540
1541\end_inset
1542
1543: Contiene los métodos de carga de modelos previamente definidos en la base
1544 de datos
1545\end_layout
1546
1547\begin_deeper
1548\begin_layout Itemize
1549
1550\series bold
1551NameBlock CreateSeriesHandler(Set obs.node.handlers)
1552\series default
1553: Crea el manejador de series del modelo a partir de un conjunto de NameBlock's
1554 como el definido en la función
1555\series bold
1556ModSes.Obs.Create
1557\series default
1558 (ver
1559\begin_inset LatexCommand ref
1560reference "ite:Real-ModSes.Obs.Create"
1561
1562\end_inset
1563
1564)
1565\end_layout
1566
1567\begin_layout Itemize
1568
1569\series bold
1570NameBlock LoadNodeConstraints(Text dbName, Text model, Text session, Text
1571 id_node)
1572\series default
1573: Carga el importador a BSR-ASCII de las restricciones que sólo afectan
1574 a parámetros de un nodo determinado, o bien, si
1575\series bold
1576id_node
1577\series default
1578 es igual a
1579\series bold
1580"MIXTURE"
1581\series default
1582, de las restricciones que afectan a más de un nodo.
1583\end_layout
1584
1585\begin_layout Itemize
1586
1587\series bold
1588NameBlock LoadObsNode(...)
1589\series default
1590: Carga el importador a formato ASCII-BSR de un nodo observacional.
1591\end_layout
1592
1593\begin_layout Itemize
1594
1595\series bold
1596NameBlock LoadLatNode(...)
1597\series default
1598: Carga el importador a formato ASCII-BSR de un nodo latente.
1599\end_layout
1600
1601\begin_layout Itemize
1602
1603\series bold
1604NameBlock LoadPriNode(...)
1605\series default
1606: Carga el importador a formato ASCII-BSR de un nodo a priori.
1607\end_layout
1608
1609\begin_layout Itemize
1610
1611\series bold
1612NameBlock LoadModelDef(...)
1613\series default
1614: Carga el importador a formato ASCII-BSR de un modelo Bsr-Hlm completo.
1615\end_layout
1616
1617\end_deeper
1618\begin_layout Itemize
1619\begin_inset LatexCommand htmlurl
1620target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.estim.tol"
1621
1622\end_inset
1623
1624: Contiene los métodos de estimación de modelos una vez cargados los datos
1625 de definición del modelo.
1626\end_layout
1627
1628\begin_deeper
1629\begin_layout Itemize
1630
1631\series bold
1632Real SaveParamStats(Text dbName, Text model, Text session, Set estim)
1633\series default
1634: Guarda en la base de datos los resultados de las estadísticas de diagnosis
1635 sobre la estimación de los parámetros resultante de la simulación de un
1636 modelo.
1637\end_layout
1638
1639\begin_layout Itemize
1640
1641\series bold
1642Set GetLinearBlkEffects(...)
1643\series default
1644: Crea las series de efectos lineales correspondientes a cada input o función
1645 de transferencia de cada nodo.
1646\end_layout
1647
1648\begin_layout Itemize
1649
1650\series bold
1651Set Estim(Text dbName, Text model, Text session, Text resultRootPath, NameBlock
1652 seriesHandler, NameBlock config)
1653\series default
1654: Simula y devuelve los resultados de diagnosis y de evaluación según se
1655 especifique en la configuración dada, y escribe en la base de datos la
1656 información de estado durante la simulación y, al final de la misma, las
1657 estadísticas de diagnosis sobre la estimación de los parámetros.
1658\end_layout
1659
1660\end_deeper
1661\begin_layout Section
1662
1663\family typewriter
1664NameBlock BysMcmc::Bsr::DynHlm::BuildNode
1665\end_layout
1666
1667\begin_layout Standard
1668En el fichero
1669\begin_inset LatexCommand htmlurl
1670target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_build.node.tol"
1671
1672\end_inset
1673
1674 se implementa la cabecera del
1675\series bold
1676NameBlock BysMcmc::Bsr::DynHlm::BuildNode
1677\series default
1678 que incluye los métodos específicos para la importación de nodos jerárquicos
1679 al formato BSR-ASCII, es decir los NameBlock de gestión de segmentos explicados
1680 en
1681\begin_inset LatexCommand ref
1682reference "sec:API-segmento-BSR"
1683
1684\end_inset
1685
1686
1687\end_layout
1688
1689\begin_layout Standard
1690Se han clasificado dichos métodos en distintos ficheros según el tipo de
1691 nodos a los que afectan:
1692\end_layout
1693
1694\begin_layout Itemize
1695\begin_inset LatexCommand htmlurl
1696target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_build.node.obs.tol"
1697
1698\end_inset
1699
1700: Contiene las funciones relativas a los nodos observacionales
1701\end_layout
1702
1703\begin_deeper
1704\begin_layout Itemize
1705
1706\series bold
1707NameBlock Obs.Serie.Info(...)
1708\series default
1709: Crea el manejador de una serie de observaciones, independientemente de
1710 si es un unput o el output del nodo, incluyendo la información relativa
1711 a los omitidos y a los valores iniciales, si es que se trata de un input
1712 con función de transferencia.
1713\end_layout
1714
1715\begin_layout Itemize
1716
1717\series bold
1718NameBlock Obs.Output(...)
1719\series default
1720: Crea el manejador del output.
1721\end_layout
1722
1723\begin_layout Itemize
1724
1725\series bold
1726NameBlock Obs.Input(...)
1727\series default
1728: Crea el manejador de un input sin función de transferencia.
1729\end_layout
1730
1731\begin_layout Itemize
1732
1733\series bold
1734NameBlock Obs.TransFun(...)
1735\series default
1736: Crea el manejador de un input con función de transferencia.
1737\end_layout
1738
1739\begin_layout Itemize
1740
1741\series bold
1742NameBlock Obs.TransFun(...)
1743\series default
1744: Crea el manejador de un input con función de transferencia.
1745\end_layout
1746
1747\begin_layout Itemize
1748
1749\series bold
1750NameBlock Obs.TransFun(...)
1751\series default
1752: Crea el manejador de un input con función de transferencia.
1753\end_layout
1754
1755\begin_layout Itemize
1756
1757\series bold
1758NameBlock Obs.TransFun(...)
1759\series default
1760: Crea el manejador de un input con función de transferencia.
1761\end_layout
1762
1763\begin_layout Itemize
1764
1765\series bold
1766NameBlock Obs(...)
1767\series default
1768: Crea el importador de un nodo observacional.
1769\end_layout
1770
1771\end_deeper
1772\begin_layout Itemize
1773\begin_inset LatexCommand htmlurl
1774target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_build.node.lat.tol"
1775
1776\end_inset
1777
1778: Contiene las funciones relativas a los nodos latentes.
1779\end_layout
1780
1781\begin_deeper
1782\begin_layout Itemize
1783
1784\series bold
1785NameBlock Lat.Homog(...)
1786\series default
1787: Crea el importador de un nodo latente homogéneo simple.
1788\end_layout
1789
1790\end_deeper
1791\begin_layout Itemize
1792\begin_inset LatexCommand htmlurl
1793target "http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_build.node.pri.tol"
1794
1795\end_inset
1796
1797: Contiene las funciones relativas a los nodos a priori.
1798\end_layout
1799
1800\begin_deeper
1801\begin_layout Itemize
1802
1803\series bold
1804NameBlock Lat.Homog(...)
1805\series default
1806: Crea el importador de un nodo a priori homogéneo simple.
1807\end_layout
1808
1809\end_body
1810\end_document
Note: See TracBrowser for help on using the repository browser.