Changeset 2fa3a27 in tol for doc/modeling
- Timestamp:
- Sep 30, 2009, 1:23:45 PM (17 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- ea3e834
- Parents:
- eccc7ea
- Location:
- doc/modeling/BSR
- Files:
-
- 3 edited
-
BSR_Bayesian_Sparse_Regression.pdf (modified) (previous)
-
BSR_P2_S3_Formato_ASCII_BSR.lyx (modified) (52 diffs)
-
BSR_P2_S4_Import.lyx (modified) (67 diffs)
Legend:
- Unmodified
- Added
- Removed
-
doc/modeling/BSR/BSR_P2_S3_Formato_ASCII_BSR.lyx
reccc7ea r2fa3a27 1 #LyX 1. 5.3created this file. For more info see http://www.lyx.org/2 \lyxformat 2761 #LyX 1.6.0 created this file. For more info see http://www.lyx.org/ 2 \lyxformat 345 3 3 \begin_document 4 4 \begin_header … … 28 28 \hypersetup{urlbordercolor=0 0 0,pdfborder=0 0 1 [3 2]} 29 29 \end_preamble 30 \use_default_options false 31 \begin_modules 32 theorems-ams 33 \end_modules 30 34 \language spanish 31 35 \inputencoding auto … … 38 42 \font_sf_scale 100 39 43 \font_tt_scale 100 44 40 45 \graphics default 41 46 \paperfontsize default 42 47 \spacing single 48 \use_hyperref false 43 49 \papersize default 44 50 \use_geometry false … … 65 71 66 72 \begin_layout Chapter 67 \begin_inset LatexCommand label 73 \begin_inset CommandInset label 74 LatexCommand label 68 75 name "cha:El-formato-ASCII-BSR" 69 76 … … 84 91 \begin_layout Standard 85 92 La estructura de datos que deine un modelo básico BSR explicada en 86 \begin_inset LatexCommand ref 93 \begin_inset CommandInset ref 94 LatexCommand ref 87 95 reference "sec:Método-BysMcmc::Bsr::Gibbs::BasicMaster()" 88 96 … … 110 118 \begin_layout Standard 111 119 En los directorios test_01, test_02 y test_03 disponibles en 112 \begin_inset LatexCommand htmlurl 113 target "http://cvs.tol-project.org/viewcvs.cgi/tol/stdlib/math/stat/models/bayesian/bysMcmc/" 120 \begin_inset Flex URL 121 status collapsed 122 123 \begin_layout Plain Layout 124 125 http://cvs.tol-project.org/viewcvs.cgi/tol/stdlib/math/stat/models/bayesian/bysMcmc 126 / 127 \end_layout 114 128 115 129 \end_inset … … 134 148 status open 135 149 136 \begin_layout Standard137 138 /////////////////////////////////////////////////////////////////////////////// /139 \end_layout 140 141 \begin_layout Standard150 \begin_layout Plain Layout 151 152 /////////////////////////////////////////////////////////////////////////////// 153 \end_layout 154 155 \begin_layout Plain Layout 142 156 143 157 // Bayesian Sparsed Regression 144 158 \end_layout 145 159 146 \begin_layout Standard 147 148 //////////////////////////////////////////////////////////////////////////////// 149 \end_layout 150 151 \begin_layout Standard 152 153 \end_layout 154 155 \begin_layout Standard 160 \begin_layout Plain Layout 161 162 /////////////////////////////////////////////////////////////////////////////// 163 \end_layout 164 165 \begin_layout Plain Layout 166 167 \end_layout 168 169 \begin_layout Plain Layout 170 171 $BEGIN 172 \end_layout 173 174 \begin_layout Plain Layout 175 176 \end_layout 177 178 \begin_layout Plain Layout 156 179 157 180 Model.Name = "bysMcmc.test_03"; 158 181 \end_layout 159 182 160 \begin_layout Standard183 \begin_layout Plain Layout 161 184 162 185 Model.Description = 163 186 \end_layout 164 187 165 \begin_layout Standard188 \begin_layout Plain Layout 166 189 167 190 "Randomly generation of a hierarchycal lineal model with these simple … … 170 193 \end_layout 171 194 172 \begin_layout Standard195 \begin_layout Plain Layout 173 196 174 197 "structure: … … 177 200 \end_layout 178 201 179 \begin_layout Standard202 \begin_layout Plain Layout 180 203 181 204 " 1: a set of K1 observational nodes with the same number n of variables … … 184 207 \end_layout 185 208 186 \begin_layout Standard209 \begin_layout Plain Layout 187 210 188 211 " and data length m … … 191 214 \end_layout 192 215 193 \begin_layout Standard216 \begin_layout Plain Layout 194 217 195 218 " 2: a set of n latent nodes with one central parameter for each distinct … … 198 221 \end_layout 199 222 200 \begin_layout Standard223 \begin_layout Plain Layout 201 224 202 225 " observational variable with specified standard deviation … … 205 228 \end_layout 206 229 207 \begin_layout Standard230 \begin_layout Plain Layout 208 231 209 232 " 3: a central prior equation for each latent variable with specified … … 212 235 \end_layout 213 236 214 \begin_layout Standard237 \begin_layout Plain Layout 215 238 216 239 " standard deviation … … 219 242 \end_layout 220 243 221 \begin_layout Standard244 \begin_layout Plain Layout 222 245 223 246 " 4: a set of sparse linear inequalities over the observational variables … … 226 249 \end_layout 227 250 228 \begin_layout Standard251 \begin_layout Plain Layout 229 252 230 253 ""; 231 254 \end_layout 232 255 233 \begin_layout Standard256 \begin_layout Plain Layout 234 257 235 258 Session.Name = "RS_1483339472"; 236 259 \end_layout 237 260 238 \begin_layout Standard261 \begin_layout Plain Layout 239 262 240 263 Session.Description = 241 264 \end_layout 242 265 243 \begin_layout Standard266 \begin_layout Plain Layout 244 267 245 268 "Random seed=1483339472"; 246 269 \end_layout 247 270 248 \begin_layout Standard271 \begin_layout Plain Layout 249 272 250 273 Session.Authors = "vdebuen@tol-project.org"; 251 274 \end_layout 252 275 253 \begin_layout Standard254 255 \end_layout 256 257 \begin_layout Standard276 \begin_layout Plain Layout 277 278 \end_layout 279 280 \begin_layout Plain Layout 258 281 259 282 //////////////////////////////////////////////////////////////////////////////// 260 283 \end_layout 261 284 262 \begin_layout Standard285 \begin_layout Plain Layout 263 286 264 287 // Regression Variables Declarations with initial values 265 288 \end_layout 266 289 267 \begin_layout Standard290 \begin_layout Plain Layout 268 291 269 292 //////////////////////////////////////////////////////////////////////////////// 270 293 \end_layout 271 294 272 \begin_layout Standard273 274 \end_layout 275 276 \begin_layout Standard295 \begin_layout Plain Layout 296 297 \end_layout 298 299 \begin_layout Plain Layout 277 300 278 301 NodeObs.1_Var.1 <- +0.53803037013858557; 279 302 \end_layout 280 303 281 \begin_layout Standard304 \begin_layout Plain Layout 282 305 283 306 NodeObs.1_Var.2 <- +0.46934376657009125; 284 307 \end_layout 285 308 286 \begin_layout Standard309 \begin_layout Plain Layout 287 310 288 311 NodeObs.1_Var.3 <- -0.22560517396777868; 289 312 \end_layout 290 313 291 \begin_layout Standard314 \begin_layout Plain Layout 292 315 293 316 NodeObs.2_Var.1 <- +0.86625403119251132; 294 317 \end_layout 295 318 296 \begin_layout Standard319 \begin_layout Plain Layout 297 320 298 321 NodeObs.2_Var.2 <- -0.15567512763664126; 299 322 \end_layout 300 323 301 \begin_layout Standard324 \begin_layout Plain Layout 302 325 303 326 NodeObs.2_Var.3 <- -0.075121806003153324; 304 327 \end_layout 305 328 306 \begin_layout Standard329 \begin_layout Plain Layout 307 330 308 331 NodeLat.1_Var.nu <- +0.15836594998836517; 309 332 \end_layout 310 333 311 \begin_layout Standard334 \begin_layout Plain Layout 312 335 313 336 NodeLat.2_Var.nu <- -0.85943601280450821; 314 337 \end_layout 315 338 316 \begin_layout Standard339 \begin_layout Plain Layout 317 340 318 341 NodeLat.3_Var.nu <- +0.18600673880428076; 319 342 \end_layout 320 343 321 \begin_layout Standard322 323 \end_layout 324 325 \begin_layout Standard344 \begin_layout Plain Layout 345 346 \end_layout 347 348 \begin_layout Plain Layout 326 349 327 350 //////////////////////////////////////////////////////////////////////////////// 328 351 \end_layout 329 352 330 \begin_layout Standard353 \begin_layout Plain Layout 331 354 332 355 // Regression Missing Input Declarations 333 356 \end_layout 334 357 335 \begin_layout Standard358 \begin_layout Plain Layout 336 359 337 360 //////////////////////////////////////////////////////////////////////////////// 338 361 \end_layout 339 362 340 \begin_layout Standard341 342 \end_layout 343 344 \begin_layout Standard363 \begin_layout Plain Layout 364 365 \end_layout 366 367 \begin_layout Plain Layout 345 368 346 369 MissInp.NodeObs.3.13 ? ~ Normal(0.896203693933785,0.2007952652551403); 347 370 \end_layout 348 371 349 \begin_layout Standard372 \begin_layout Plain Layout 350 373 351 374 MissInp.NodeObs.6.30 ? ~ Normal(0.6046165255829692,0.09139028575200531); 352 375 \end_layout 353 376 354 \begin_layout Standard377 \begin_layout Plain Layout 355 378 356 379 MissInp.NodeObs.3.2 ? ~ TruncatedNormal(0.9820013050921261,0.2410816408006598,0,9.8200 … … 358 381 \end_layout 359 382 360 \begin_layout Standard383 \begin_layout Plain Layout 361 384 362 385 MissInp.NodeObs.5.40 ? ~ Normal(-0.7318465355783701,0.1338998379095156); 363 386 \end_layout 364 387 365 \begin_layout Standard366 367 \end_layout 368 369 \begin_layout Standard388 \begin_layout Plain Layout 389 390 \end_layout 391 392 \begin_layout Plain Layout 370 393 371 394 //////////////////////////////////////////////////////////////////////////////// 372 395 \end_layout 373 396 374 \begin_layout Standard397 \begin_layout Plain Layout 375 398 376 399 // Regression Missing Output Declarations 377 400 \end_layout 378 401 379 \begin_layout Standard402 \begin_layout Plain Layout 380 403 381 404 //////////////////////////////////////////////////////////////////////////////// 382 405 \end_layout 383 406 384 \begin_layout Standard385 386 \end_layout 387 388 \begin_layout Standard407 \begin_layout Plain Layout 408 409 \end_layout 410 411 \begin_layout Plain Layout 389 412 390 413 MissOut.NodeObs.31 ? <- -0.4157893265383703; 391 414 \end_layout 392 415 393 \begin_layout Standard416 \begin_layout Plain Layout 394 417 395 418 MissOut.NodeObs.40 ? <- -0.3029720514576624; 396 419 \end_layout 397 420 398 \begin_layout Standard399 400 \end_layout 401 402 \begin_layout Standard421 \begin_layout Plain Layout 422 423 \end_layout 424 425 \begin_layout Plain Layout 403 426 404 427 //////////////////////////////////////////////////////////////////////////////// 405 428 \end_layout 406 429 407 \begin_layout Standard430 \begin_layout Plain Layout 408 431 409 432 // Regression Residuals Declarations Normal(0,sigma^2) 410 433 \end_layout 411 434 412 \begin_layout Standard435 \begin_layout Plain Layout 413 436 414 437 //////////////////////////////////////////////////////////////////////////////// 415 438 \end_layout 416 439 417 \begin_layout Standard418 419 \end_layout 420 421 \begin_layout Standard440 \begin_layout Plain Layout 441 442 \end_layout 443 444 \begin_layout Plain Layout 422 445 423 446 NodeObs.1_Residuals[20 dating Daily from y2008m08d09 until y2008m08d28] ~ … … 426 449 \end_layout 427 450 428 \begin_layout Standard451 \begin_layout Plain Layout 429 452 430 453 NodeObs.2_Residuals[20 dating Daily from y2008m08d09 until y2008m08d28] ~ … … 433 456 \end_layout 434 457 435 \begin_layout Standard458 \begin_layout Plain Layout 436 459 437 460 NodeLat.1_Residuals[2] ~ Normal(0,0.03276045051869933); 438 461 \end_layout 439 462 440 \begin_layout Standard463 \begin_layout Plain Layout 441 464 442 465 NodeLat.2_Residuals[2] ~ Normal(0,0.030080604978733022); 443 466 \end_layout 444 467 445 \begin_layout Standard468 \begin_layout Plain Layout 446 469 447 470 NodeLat.3_Residuals[2] ~ Normal(0,0.010264774427016805); 448 471 \end_layout 449 472 450 \begin_layout Standard473 \begin_layout Plain Layout 451 474 452 475 NodePri.1_Residuals[3] ~ Normal(0,0.011844979275860658); 453 476 \end_layout 454 477 455 \begin_layout Standard456 457 \end_layout 458 459 \begin_layout Standard478 \begin_layout Plain Layout 479 480 \end_layout 481 482 \begin_layout Plain Layout 460 483 461 484 //////////////////////////////////////////////////////////////////////////////// 462 485 \end_layout 463 486 464 \begin_layout Standard487 \begin_layout Plain Layout 465 488 466 489 // Regression equations 467 490 \end_layout 468 491 469 \begin_layout Standard492 \begin_layout Plain Layout 470 493 471 494 //////////////////////////////////////////////////////////////////////////////// 472 495 \end_layout 473 496 474 \begin_layout Standard475 476 \end_layout 477 478 \begin_layout Standard497 \begin_layout Plain Layout 498 499 \end_layout 500 501 \begin_layout Plain Layout 479 502 480 503 +5.2435581658297865 == NodeObs.1_Residuals[1]; //Reg.Equ.1 481 504 \end_layout 482 505 483 \begin_layout Standard506 \begin_layout Plain Layout 484 507 485 508 +2.1913126132131682 == NodeObs.1_Residuals[2]+MissInp.NodeObs.3.2*NodeObs.1_Var.3 … … 487 510 \end_layout 488 511 489 \begin_layout Standard512 \begin_layout Plain Layout 490 513 491 514 +0.12304427448649291 == NodeObs.1_Residuals[3]+0.63090779585763812*NodeObs.1_Var.1 … … 493 516 \end_layout 494 517 495 \begin_layout Standard518 \begin_layout Plain Layout 496 519 497 520 -2.6088045980742529 == NodeObs.1_Residuals[4]-0.66879721963778138*NodeObs.1_Var.2 … … 499 522 \end_layout 500 523 501 \begin_layout Standard524 \begin_layout Plain Layout 502 525 503 526 -6.0452993628906073 == NodeObs.1_Residuals[5]; //Reg.Equ.5 504 527 \end_layout 505 528 506 \begin_layout Standard529 \begin_layout Plain Layout 507 530 508 531 -6.3822864805891921 == NodeObs.1_Residuals[6]+0.95094704767689109*NodeObs.1_Var.1 … … 510 533 \end_layout 511 534 512 \begin_layout Standard535 \begin_layout Plain Layout 513 536 514 537 -6.6295145939371594 == NodeObs.1_Residuals[7]+0.93608348118141294*NodeObs.1_Var.1 … … 516 539 \end_layout 517 540 518 \begin_layout Standard541 \begin_layout Plain Layout 519 542 520 543 -5.5561393799341996 == NodeObs.1_Residuals[8]+0.7666153940372169*NodeObs.1_Var.2 … … 522 545 \end_layout 523 546 524 \begin_layout Standard547 \begin_layout Plain Layout 525 548 526 549 -3.1295982695386888 == NodeObs.1_Residuals[9]-0.56221867958083749*NodeObs.1_Var.1 … … 528 551 \end_layout 529 552 530 \begin_layout Standard553 \begin_layout Plain Layout 531 554 532 555 +0.76951244117245921 == NodeObs.1_Residuals[10]; //Reg.Equ.10 533 556 \end_layout 534 557 535 \begin_layout Standard558 \begin_layout Plain Layout 536 559 537 560 +2.9132946114405867 == NodeObs.1_Residuals[11]+0.95396953029558063*NodeObs.1_Var.3 … … 539 562 \end_layout 540 563 541 \begin_layout Standard564 \begin_layout Plain Layout 542 565 543 566 +5.7416648977148181 == NodeObs.1_Residuals[12]-0.95996885281056166*NodeObs.1_Var.3 … … 545 568 \end_layout 546 569 547 \begin_layout Standard570 \begin_layout Plain Layout 548 571 549 572 +6.3831794474164543 == NodeObs.1_Residuals[13]-0.64427804760634899*NodeObs.1_Var.2 … … 551 574 \end_layout 552 575 553 \begin_layout Standard576 \begin_layout Plain Layout 554 577 555 578 +4.0282180180201248 == NodeObs.1_Residuals[14]-0.90212121233344078*NodeObs.1_Var.1 … … 557 580 \end_layout 558 581 559 \begin_layout Standard582 \begin_layout Plain Layout 560 583 561 584 +4.3505297967804113 == NodeObs.1_Residuals[15]+0.85422466974705458*NodeObs.1_Var.1 … … 563 586 \end_layout 564 587 565 \begin_layout Standard588 \begin_layout Plain Layout 566 589 567 590 -1.8762849597824245 == NodeObs.1_Residuals[16]-0.71285796910524368*NodeObs.1_Var.1 … … 569 592 \end_layout 570 593 571 \begin_layout Standard594 \begin_layout Plain Layout 572 595 573 596 -5.6888365292228968 == NodeObs.1_Residuals[17]+0.98112034006044269*NodeObs.1_Var.2 … … 575 598 \end_layout 576 599 577 \begin_layout Standard600 \begin_layout Plain Layout 578 601 579 602 -8.3673617279440613 == NodeObs.1_Residuals[18]; //Reg.Equ.18 580 603 \end_layout 581 604 582 \begin_layout Standard605 \begin_layout Plain Layout 583 606 584 607 -8.0537960538725955 == NodeObs.1_Residuals[19]+0.52584361424669623*NodeObs.1_Var.2 … … 586 609 \end_layout 587 610 588 \begin_layout Standard611 \begin_layout Plain Layout 589 612 590 613 -5.9263487197705214 == NodeObs.1_Residuals[20]-0.96396565064787865*NodeObs.1_Var.2 … … 592 615 \end_layout 593 616 594 \begin_layout Standard617 \begin_layout Plain Layout 595 618 596 619 -0.6068887599917272 == NodeObs.2_Residuals[1]+0.56295138271525502*NodeObs.2_Var.2 … … 598 621 \end_layout 599 622 600 \begin_layout Standard623 \begin_layout Plain Layout 601 624 602 625 +2.0939562031264218 == NodeObs.2_Residuals[2]+0.65345998154953122*NodeObs.2_Var.1 … … 604 627 \end_layout 605 628 606 \begin_layout Standard629 \begin_layout Plain Layout 607 630 608 631 +0.60038804953399949 == NodeObs.2_Residuals[3]-0.84704046417027712*NodeObs.2_Var.2 … … 610 633 \end_layout 611 634 612 \begin_layout Standard635 \begin_layout Plain Layout 613 636 614 637 -1.0713915154528588 == NodeObs.2_Residuals[4]-0.93844964541494846*NodeObs.2_Var.1 … … 616 639 \end_layout 617 640 618 \begin_layout Standard641 \begin_layout Plain Layout 619 642 620 643 -0.32125826101136556 == NodeObs.2_Residuals[5]+0.51997147314250469*NodeObs.2_Var.1 … … 622 645 \end_layout 623 646 624 \begin_layout Standard647 \begin_layout Plain Layout 625 648 626 649 -0.54762880703286565 == NodeObs.2_Residuals[6]-0.50578109361231327*NodeObs.2_Var.1 … … 628 651 \end_layout 629 652 630 \begin_layout Standard653 \begin_layout Plain Layout 631 654 632 655 +2.4653275135908528 == NodeObs.2_Residuals[7]+0.54335346445441246*NodeObs.2_Var.1 … … 635 658 \end_layout 636 659 637 \begin_layout Standard660 \begin_layout Plain Layout 638 661 639 662 +0.52714812684114365 == NodeObs.2_Residuals[8]+0.95070930058136582*NodeObs.2_Var.1 … … 641 664 \end_layout 642 665 643 \begin_layout Standard666 \begin_layout Plain Layout 644 667 645 668 -1.0270370273766312 == NodeObs.2_Residuals[9]-0.88577614538371563*NodeObs.2_Var.1 … … 647 670 \end_layout 648 671 649 \begin_layout Standard672 \begin_layout Plain Layout 650 673 651 674 +0.25652362241255156 == NodeObs.2_Residuals[10]-0.61568234255537391*NodeObs.2_Var.2 … … 653 676 \end_layout 654 677 655 \begin_layout Standard678 \begin_layout Plain Layout 656 679 657 680 +MissOut.NodeObs.31 == NodeObs.2_Residuals[11]-0.73601436568424106*NodeObs.2_Var.3 … … 659 682 \end_layout 660 683 661 \begin_layout Standard684 \begin_layout Plain Layout 662 685 663 686 +0.38486138593475 == NodeObs.2_Residuals[12]; //Reg.Equ.32 664 687 \end_layout 665 688 666 \begin_layout Standard689 \begin_layout Plain Layout 667 690 668 691 -0.1153939096162494 == NodeObs.2_Residuals[13]-0.52979899849742651*NodeObs.2_Var.1 … … 670 693 \end_layout 671 694 672 \begin_layout Standard695 \begin_layout Plain Layout 673 696 674 697 +0.20153337099189605 == NodeObs.2_Residuals[14]; //Reg.Equ.34 675 698 \end_layout 676 699 677 \begin_layout Standard700 \begin_layout Plain Layout 678 701 679 702 -0.60618407368998284 == NodeObs.2_Residuals[15]-0.61933115171268582*NodeObs.2_Var.1 … … 681 704 \end_layout 682 705 683 \begin_layout Standard706 \begin_layout Plain Layout 684 707 685 708 +1.0049067997452399 == NodeObs.2_Residuals[16]+0.86020477814599872*NodeObs.2_Var.2 … … 687 710 \end_layout 688 711 689 \begin_layout Standard712 \begin_layout Plain Layout 690 713 691 714 -0.72396483131240752 == NodeObs.2_Residuals[17]+0.87632823176681995*NodeObs.2_Var.3 … … 693 716 \end_layout 694 717 695 \begin_layout Standard718 \begin_layout Plain Layout 696 719 697 720 +0.27870237026751166 == NodeObs.2_Residuals[18]; //Reg.Equ.38 698 721 \end_layout 699 722 700 \begin_layout Standard723 \begin_layout Plain Layout 701 724 702 725 -0.74122059405715657 == NodeObs.2_Residuals[19]-0.75435957591980696*NodeObs.2_Var.1 … … 704 727 \end_layout 705 728 706 \begin_layout Standard729 \begin_layout Plain Layout 707 730 708 731 +MissOut.NodeObs.40 == NodeObs.2_Residuals[20]-0.72136184806004167*NodeObs.2_Var.1 … … 710 733 \end_layout 711 734 712 \begin_layout Standard735 \begin_layout Plain Layout 713 736 714 737 0 == NodeLat.1_Residuals[1]-NodeObs.1_Var.1 +NodeLat.1_Var.nu ; //Reg.Equ.41 715 738 \end_layout 716 739 717 \begin_layout Standard740 \begin_layout Plain Layout 718 741 719 742 0 == NodeLat.1_Residuals[2]-NodeObs.2_Var.1 +NodeLat.1_Var.nu ; //Reg.Equ.42 720 743 \end_layout 721 744 722 \begin_layout Standard745 \begin_layout Plain Layout 723 746 724 747 0 == NodeLat.2_Residuals[1]-NodeObs.1_Var.2 +NodeLat.2_Var.nu ; //Reg.Equ.43 725 748 \end_layout 726 749 727 \begin_layout Standard750 \begin_layout Plain Layout 728 751 729 752 0 == NodeLat.2_Residuals[2]-NodeObs.2_Var.2 +NodeLat.2_Var.nu ; //Reg.Equ.44 730 753 \end_layout 731 754 732 \begin_layout Standard755 \begin_layout Plain Layout 733 756 734 757 0 == NodeLat.3_Residuals[1]-NodeObs.1_Var.3 +NodeLat.3_Var.nu ; //Reg.Equ.45 735 758 \end_layout 736 759 737 \begin_layout Standard760 \begin_layout Plain Layout 738 761 739 762 0 == NodeLat.3_Residuals[2]-NodeObs.2_Var.3 +NodeLat.3_Var.nu ; //Reg.Equ.46 740 763 \end_layout 741 764 742 \begin_layout Standard765 \begin_layout Plain Layout 743 766 744 767 -0.6096816505305469 == NodePri.1_Residuals[1]-NodeLat.1_Var.nu ; //Reg.Equ.47 745 768 \end_layout 746 769 747 \begin_layout Standard770 \begin_layout Plain Layout 748 771 749 772 +0.66229855222627521 == NodePri.1_Residuals[2]-NodeLat.2_Var.nu ; //Reg.Equ.48 750 773 \end_layout 751 774 752 \begin_layout Standard775 \begin_layout Plain Layout 753 776 754 777 +0.46403526607900858 == NodePri.1_Residuals[3]-NodeLat.3_Var.nu ; //Reg.Equ.49 755 778 \end_layout 756 779 757 \begin_layout Standard758 759 \end_layout 760 761 \begin_layout Standard780 \begin_layout Plain Layout 781 782 \end_layout 783 784 \begin_layout Plain Layout 762 785 763 786 //////////////////////////////////////////////////////////////////////////////// 764 787 \end_layout 765 788 766 \begin_layout Standard789 \begin_layout Plain Layout 767 790 768 791 // Restriction inequations 769 792 \end_layout 770 793 771 \begin_layout Standard794 \begin_layout Plain Layout 772 795 773 796 //////////////////////////////////////////////////////////////////////////////// 774 797 \end_layout 775 798 776 \begin_layout Standard777 778 \end_layout 779 780 \begin_layout Standard799 \begin_layout Plain Layout 800 801 \end_layout 802 803 \begin_layout Plain Layout 781 804 782 805 +1.1888731951872438 >= +NodeObs.1_Var.1 ; 783 806 \end_layout 784 807 785 \begin_layout Standard808 \begin_layout Plain Layout 786 809 787 810 +0.50465998947620394 >= +NodeObs.1_Var.2 ; 788 811 \end_layout 789 812 790 \begin_layout Standard813 \begin_layout Plain Layout 791 814 792 815 -0.21083058095071464 >= +NodeObs.1_Var.3 ; 793 816 \end_layout 794 817 795 \begin_layout Standard818 \begin_layout Plain Layout 796 819 797 820 +0.9361133812088519 >= +NodeObs.2_Var.1 ; 798 821 \end_layout 799 822 800 \begin_layout Standard823 \begin_layout Plain Layout 801 824 802 825 -0.13837098166579381 >= +NodeObs.2_Var.2 ; 803 826 \end_layout 804 827 805 \begin_layout Standard828 \begin_layout Plain Layout 806 829 807 830 -0.0033603257639333584 >= +NodeObs.2_Var.3 ; 808 831 \end_layout 809 832 810 \begin_layout Standard833 \begin_layout Plain Layout 811 834 812 835 +1.1404310412146701 >= +NodeObs.1_Var.1 ; 813 836 \end_layout 814 837 815 \begin_layout Standard838 \begin_layout Plain Layout 816 839 817 840 +0.52799691481748601 >= +NodeObs.1_Var.2 ; 818 841 \end_layout 819 842 820 \begin_layout Standard843 \begin_layout Plain Layout 821 844 822 845 -0.73132390667684377 >= -NodeObs.1_Var.1 +NodeObs.1_Var.3 ; 823 846 \end_layout 824 847 825 \begin_layout Standard848 \begin_layout Plain Layout 826 849 827 850 +1.3114740782628398 >= -NodeObs.1_Var.2 +NodeObs.2_Var.1 ; 828 851 \end_layout 829 852 830 \begin_layout Standard853 \begin_layout Plain Layout 831 854 832 855 +0.13644857598003002 >= -NodeObs.1_Var.3 +NodeObs.2_Var.2 ; 833 856 \end_layout 834 857 835 \begin_layout Standard858 \begin_layout Plain Layout 836 859 837 860 -0.86476675785612311 >= -NodeObs.2_Var.1 +NodeObs.2_Var.3 ; 838 861 \end_layout 839 862 840 \begin_layout Standard 841 863 \begin_layout Plain Layout 864 865 \end_layout 866 867 \begin_layout Plain Layout 868 869 $END 870 \end_layout 871 872 \end_inset 873 874 875 \end_layout 876 877 \begin_layout Section 878 API modular 879 \begin_inset CommandInset label 880 LatexCommand label 881 name "sec:API-modular" 882 883 \end_inset 884 885 886 \end_layout 887 888 \begin_layout Standard 889 Desde la versión 2.0.1 de TOL es posible definir un modelo BSR de forma modular 890 para resolver tres problemas fundamentales: 891 \end_layout 892 893 \begin_layout Enumerate 894 Por una parte, escribir explÃcitamente las ecuaciones de nodos observacionales 895 densos y grandes es demasiado lento. 896 (Ver ticket #634) 897 \end_layout 898 899 \begin_layout Enumerate 900 Por otra parte, los modelos masivos con multitud de nodos requieren demasiados 901 recursos si se intentan cargar monolÃticamente. 902 (Ver ticket #628) 903 \end_layout 904 905 \begin_layout Enumerate 906 Además, la sintaxis actual no incorpora los filtros no lineales por loque 907 los medelos están inclompletos y no pueden ser ejecutados en sesiones TOL 908 ulteriores. 909 \end_layout 910 911 \begin_layout Standard 912 Para resolver estos problemas se plantea un nuevo esquema en el que la idea 913 inicial será tener tres tipos de módulos o archivos ASCII-BSR: 914 \end_layout 915 916 \begin_layout Enumerate 917 918 \emph on 919 primary 920 \emph default 921 : los módulos primarios son capaces de leer un sólo segmento de regresión 922 (nodo en el argot jerárquico) basándose en código TOL para la construcción 923 de la matriz. 924 Normalmente lo usaremos para nodos densos observacionales pero eso a BSR 925 no le importa en absoluto, pues no sabe qué cosa es observacional ni latente 926 ni nada. 927 En esos módulos sólo cabe pues un nodo, con su declaración de variables 928 lineales y missing, estructura de la varianza (sigma-ARIMA), sus filtros 929 no lineales y sus restricciones de desigualdad internas, es decir, todo 930 aquello que no afecta a ningún otro. 931 Un módulo primario puede funcionar de forma autónoma, por ejemplo cuando 932 queremos simular un nodo observacional por sà mismo, sin tener en cuenta 933 estructuras jerárquicas, a priori, ni nada por el estilo, aunque eso no 934 creo que se dé muy a menudo, pues lo normal es que la menos haya información 935 a priori. 936 937 \end_layout 938 939 \begin_layout Enumerate 940 941 \emph on 942 joint 943 \emph default 944 : los módulos de mezcla serÃan los actualmente permitidos, llamados asà 945 por su capacidad de mezclar variables de varios segmentos de regresión. 946 Pueden funcionar autónomamente como hasta ahora, definiendo todas las variables 947 y ecuaciones de forma explÃcita, o bien integrarse dentro de un módulo 948 máster que se encargue de cargar previamente las variables de las que depende. 949 950 \end_layout 951 952 \begin_layout Enumerate 953 954 \emph on 955 master 956 \emph default 957 : los módulos maestros simplemente incluyen a otros módulos de cualquier 958 tipo, incluidos otros maestros, si se desea tener los modelos estructurados 959 en varios niveles, de forma que en cada nivel cada uno de los sub-master 960 podrÃa ser ejecutado autónomamente. 961 \end_layout 962 963 \begin_layout Subsection 964 Estructura del módulo primario 965 \end_layout 966 967 \begin_layout Standard 968 Un módulos primario se definirá del siguiente modo: 969 \end_layout 970 971 \begin_layout Enumerate 972 En primer lugar se incluye una cláusula que indique el tipo de módulo que 973 se va a definir 974 \begin_inset listings 975 inline false 976 status open 977 978 \begin_layout Plain Layout 979 980 Module.Type = primary; 981 \end_layout 982 983 \end_inset 984 985 986 \end_layout 987 988 \begin_layout Enumerate 989 Las variables del bloque lineal se definen con la misma sintaxis que rige 990 actualmente para el módulo joint. 991 \end_layout 992 993 \begin_layout Enumerate 994 El segmento de regresión es único pero se define con la misma sintaxis que 995 en el módulo joint. 996 En ambos casos hay una novedad: la posibilidad de introducir los filtros 997 no lineales si los hay en la propia definición del ruido. 998 La estructura del campo 999 \family typewriter 1000 NoiseDistrib 1001 \family default 1002 será distinta a la actual 1003 \family typewriter 1004 BSR.NoiseDistrib 1005 \family default 1006 para que pueda incluir un nuevo campo en el que almacenar los filtros no 1007 lineales. 1008 1009 \end_layout 1010 1011 \begin_layout Enumerate 1012 Luego se introducirán la matriz de output y la de input. 1013 El orden de definición de las variables del bloque lineal debe coincidir 1014 con el orden de las columnas en la matriz de inputs. 1015 \end_layout 1016 1017 \begin_layout Enumerate 1018 Después se introducirán si las hay, las variables de omitidos con una sintaxis 1019 simular a la de los módulos joint pero añadiéndoles la información de su 1020 ubicación en las matrices de input u output, las cuales deberÃan tener 1021 un valor omitido en la celda correspondiente, cosa que debe por tanto comprobar 1022 se. 1023 1024 \end_layout 1025 1026 \begin_layout Enumerate 1027 Por último se añadirán si las hay, las restricciones de desigualdad sobre 1028 las variables del bloque lineal. 1029 \end_layout 1030 1031 \begin_layout Standard 1032 Obviamente el Import deberá saber que está escribiendo un módulo primario 1033 y pedir las matrices en lugar de los coeficientes asà como la ubicación 1034 de los omitidos. 1035 \end_layout 1036 1037 \begin_layout Standard 1038 A continuación se presenta una plantilla de cómo podrÃa quedar el fichero 1039 ASCII de un módulo primario. 1040 \end_layout 1041 1042 \begin_layout Standard 1043 \begin_inset listings 1044 lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}" 1045 inline false 1046 status open 1047 1048 \begin_layout Plain Layout 1049 \align left 1050 1051 ///////////////////////////////////////////////////////////////////////////// 1052 \end_layout 1053 1054 \begin_layout Plain Layout 1055 \align left 1056 1057 // Bayesian Sparse Regression 1058 \end_layout 1059 1060 \begin_layout Plain Layout 1061 \align left 1062 1063 ///////////////////////////////////////////////////////////////////////////// 1064 \end_layout 1065 1066 \begin_layout Plain Layout 1067 1068 \end_layout 1069 1070 \begin_layout Plain Layout 1071 \align left 1072 1073 $BEGIN 1074 \end_layout 1075 1076 \begin_layout Plain Layout 1077 \align left 1078 1079 \end_layout 1080 1081 \begin_layout Plain Layout 1082 \align left 1083 1084 Module.Type = primary; 1085 \end_layout 1086 1087 \begin_layout Plain Layout 1088 \align left 1089 1090 \end_layout 1091 1092 \begin_layout Plain Layout 1093 \align left 1094 1095 Model.Name = "..."; 1096 \end_layout 1097 1098 \begin_layout Plain Layout 1099 \align left 1100 1101 Model.Description = "..."; 1102 \end_layout 1103 1104 \begin_layout Plain Layout 1105 \align left 1106 1107 Session.Name = "..."; 1108 \end_layout 1109 1110 \begin_layout Plain Layout 1111 \align left 1112 1113 Session.Description = "..."; 1114 \end_layout 1115 1116 \begin_layout Plain Layout 1117 \align left 1118 1119 Session.Authors = "..."; 1120 \end_layout 1121 1122 \begin_layout Plain Layout 1123 \align left 1124 1125 \end_layout 1126 1127 \begin_layout Plain Layout 1128 \align left 1129 1130 ///////////////////////////////////////////////////////////////////////////// 1131 \end_layout 1132 1133 \begin_layout Plain Layout 1134 \align left 1135 1136 // Defining header of Regression Variables 1137 \end_layout 1138 1139 \begin_layout Plain Layout 1140 \align left 1141 1142 ///////////////////////////////////////////////////////////////////////////// 1143 \end_layout 1144 1145 \begin_layout Plain Layout 1146 1147 \end_layout 1148 1149 \begin_layout Plain Layout 1150 \align left 1151 1152 LinearBlk::<node_name>::<variable-name>::Coef <- 1153 \end_layout 1154 1155 \begin_layout Plain Layout 1156 \align left 1157 1158 {+ or -}<initial value or ?>; 1159 \end_layout 1160 1161 \begin_layout Plain Layout 1162 \align left 1163 1164 ... 1165 \end_layout 1166 1167 \begin_layout Plain Layout 1168 \align left 1169 1170 LinearBlk::<node_name>::<variable-name>::Coef <- 1171 \end_layout 1172 1173 \begin_layout Plain Layout 1174 \align left 1175 1176 {+ or -}<initial value or ?>; 1177 \end_layout 1178 1179 \begin_layout Plain Layout 1180 \align left 1181 1182 \end_layout 1183 1184 \begin_layout Plain Layout 1185 \align left 1186 1187 ///////////////////////////////////////////////////////////////////////////// 1188 \end_layout 1189 1190 \begin_layout Plain Layout 1191 \align left 1192 1193 // Defining header of Noise Distribution 1194 \end_layout 1195 1196 \begin_layout Plain Layout 1197 \align left 1198 1199 ///////////////////////////////////////////////////////////////////////////// 1200 \end_layout 1201 1202 \begin_layout Plain Layout 1203 1204 \end_layout 1205 1206 \begin_layout Plain Layout 1207 \align left 1208 1209 <node_name>::Noise [length and optional time info] 1210 \end_layout 1211 1212 \begin_layout Plain Layout 1213 \align left 1214 1215 ~ <distribution> 1216 \end_layout 1217 1218 \begin_layout Plain Layout 1219 \align left 1220 1221 // Optional defininition of Non Linear Filters 1222 \end_layout 1223 1224 \begin_layout Plain Layout 1225 \align left 1226 1227 with non linear flters {'Set of NameBlock's expresion'}; 1228 \end_layout 1229 1230 \begin_layout Plain Layout 1231 \align left 1232 1233 \end_layout 1234 1235 \begin_layout Plain Layout 1236 \align left 1237 1238 ///////////////////////////////////////////////////////////////////////////// 1239 \end_layout 1240 1241 \begin_layout Plain Layout 1242 \align left 1243 1244 // Defining Regression Equations 1245 \end_layout 1246 1247 \begin_layout Plain Layout 1248 \align left 1249 1250 ///////////////////////////////////////////////////////////////////////////// 1251 \end_layout 1252 1253 \begin_layout Plain Layout 1254 1255 \end_layout 1256 1257 \begin_layout Plain Layout 1258 \align left 1259 1260 Output = {'Matrix or VMatrix expresion'}; 1261 \end_layout 1262 1263 \begin_layout Plain Layout 1264 \align left 1265 1266 Input = {'Matrix or VMatrix expresion'}; 1267 \end_layout 1268 1269 \begin_layout Plain Layout 1270 1271 \end_layout 1272 1273 \begin_layout Plain Layout 1274 \align left 1275 1276 ///////////////////////////////////////////////////////////////////////////// 1277 \end_layout 1278 1279 \begin_layout Plain Layout 1280 \align left 1281 1282 // Optional defininition of Ouput Missing Variables 1283 \end_layout 1284 1285 \begin_layout Plain Layout 1286 \align left 1287 1288 ///////////////////////////////////////////////////////////////////////////// 1289 \end_layout 1290 1291 \begin_layout Plain Layout 1292 1293 \end_layout 1294 1295 \begin_layout Plain Layout 1296 \align left 1297 1298 MissingBlk::<MIXTURE or node name>::<missing_name> ? 1299 \end_layout 1300 1301 \begin_layout Plain Layout 1302 \align left 1303 1304 at row <row_index> for output 1305 \end_layout 1306 1307 \begin_layout Plain Layout 1308 \align left 1309 1310 ~ <distribution>; 1311 \end_layout 1312 1313 \begin_layout Plain Layout 1314 \align left 1315 1316 ... 1317 \end_layout 1318 1319 \begin_layout Plain Layout 1320 \align left 1321 1322 MissingBlk::<MIXTURE or node name>::<missing_name> ? 1323 \end_layout 1324 1325 \begin_layout Plain Layout 1326 \align left 1327 1328 at row <row_index> for output 1329 \end_layout 1330 1331 \begin_layout Plain Layout 1332 \align left 1333 1334 ~ <distribution>; 1335 \end_layout 1336 1337 \begin_layout Plain Layout 1338 \align left 1339 1340 \end_layout 1341 1342 \begin_layout Plain Layout 1343 \align left 1344 1345 ///////////////////////////////////////////////////////////////////////////// 1346 \end_layout 1347 1348 \begin_layout Plain Layout 1349 \align left 1350 1351 // Defining defininition of Input Missing Variables 1352 \end_layout 1353 1354 \begin_layout Plain Layout 1355 \align left 1356 1357 ///////////////////////////////////////////////////////////////////////////// 1358 \end_layout 1359 1360 \begin_layout Plain Layout 1361 1362 \end_layout 1363 1364 \begin_layout Plain Layout 1365 \align left 1366 1367 MissingBlk::<MIXTURE or node name>::<missing_name> ? 1368 \end_layout 1369 1370 \begin_layout Plain Layout 1371 \align left 1372 1373 at row <row_index> for input <column_index> 1374 \end_layout 1375 1376 \begin_layout Plain Layout 1377 \align left 1378 1379 ~ <distribution>; 1380 \end_layout 1381 1382 \begin_layout Plain Layout 1383 \align left 1384 1385 ... 1386 1387 \end_layout 1388 1389 \begin_layout Plain Layout 1390 \align left 1391 1392 MissingBlk::<MIXTURE or node name>::<missing_name> ? 1393 \end_layout 1394 1395 \begin_layout Plain Layout 1396 \align left 1397 1398 at row <row_index> for input <column_index> 1399 \end_layout 1400 1401 \begin_layout Plain Layout 1402 \align left 1403 1404 ~ <distribution>; 1405 \end_layout 1406 1407 \begin_layout Plain Layout 1408 \align left 1409 1410 \end_layout 1411 1412 \begin_layout Plain Layout 1413 \align left 1414 1415 ///////////////////////////////////////////////////////////////////////////// 1416 \end_layout 1417 1418 \begin_layout Plain Layout 1419 \align left 1420 1421 // Defining Parameter Constraints 1422 \end_layout 1423 1424 \begin_layout Plain Layout 1425 \align left 1426 1427 ///////////////////////////////////////////////////////////////////////////// 1428 \end_layout 1429 1430 \begin_layout Plain Layout 1431 1432 \end_layout 1433 1434 \begin_layout Plain Layout 1435 \align left 1436 1437 {+|-}<number> {<=|>=} 1438 \end_layout 1439 1440 \begin_layout Plain Layout 1441 \align left 1442 1443 {+|-}<number>*LinearBlk::<node_name>::<variable-name>::Coef 1444 \end_layout 1445 1446 \begin_layout Plain Layout 1447 \align left 1448 1449 ... 1450 1451 \end_layout 1452 1453 \begin_layout Plain Layout 1454 \align left 1455 1456 {+|-}<number>*LinearBlk::<node_name>::<variable-name>::Coef; 1457 \end_layout 1458 1459 \begin_layout Plain Layout 1460 \align left 1461 1462 ... 1463 \end_layout 1464 1465 \begin_layout Plain Layout 1466 \align left 1467 1468 \end_layout 1469 1470 \begin_layout Plain Layout 1471 \align left 1472 1473 $END 1474 \end_layout 1475 1476 \end_inset 1477 1478 1479 \end_layout 1480 1481 \begin_layout Subsection 1482 Cambios en la estructura del módulo joint 1483 \end_layout 1484 1485 \begin_layout Standard 1486 El módulo joint se queda prácticamente como está con estas salvedades: 1487 \end_layout 1488 1489 \begin_layout Enumerate 1490 Es posible, aunque no obligatorio por compatibilidad hacia atrás, especificar 1491 el tipo de módulo en la cabecera del archivo: 1492 \begin_inset listings 1493 inline false 1494 status open 1495 1496 \begin_layout Plain Layout 1497 1498 Module.Type = joint; 1499 \end_layout 1500 1501 \end_inset 1502 1503 1504 \end_layout 1505 1506 \begin_layout Enumerate 1507 En un módulo joint puede aparecer una referencia a una variable que ha sido 1508 definida en otro módulo previo. 1509 El reconocedor sintáctico permitirá pues que aparezcan en las ecuaciones 1510 e inecuaciones variables no definidas. 1511 En la estructura BSR.LinearBlock se añade un campo Real Extern cuyo valor 1512 será puesto a TRUE en estos casos para que puedan resolverse más tarde 1513 las referencias. 1514 \end_layout 1515 1516 \begin_layout Subsection 1517 Mezcla de módulos en el master 1518 \end_layout 1519 1520 \begin_layout Standard 1521 El master debe ocuparse de mezclar los modelos o submodelos resultantes 1522 de de los módulos en un solo modelo BSR. 1523 El modo de hacerlo depende del mecanismo de generación que se vaya a seguir, 1524 que puede ser de dos formas 1525 \end_layout 1526 1527 \begin_layout Subsubsection 1528 Mecanismo de generación monofase 1529 \end_layout 1530 1531 \begin_layout Standard 1532 Es el único mecanismo de generación implementado actualmente, en el que 1533 todos los segmentos y variables lineales se aúnan en un solo sistema lineal 1534 de ecuaciones sparse. 1535 \end_layout 1536 1537 \begin_layout Standard 1538 En este caso los BSR.ModelDef que resultan de cada módulo se deben agregar 1539 en un sólo BSR.ModelDef que defina el modelo completo siguiendo los isguientes 1540 pasos con sumo cuidado. 1541 Se indicará al principio del módulo máster mediante la sintaxis 1542 \begin_inset listings 1543 inline false 1544 status open 1545 1546 \begin_layout Plain Layout 1547 1548 Modular.Schema = monophasic; 1549 \end_layout 1550 1551 \end_inset 1552 1553 1554 \end_layout 1555 1556 \begin_layout Enumerate 1557 La información documental (campo DocInfo) que prevalece es la del módulo 1558 master mientras que la de los sub-módulos simplemente se olvida. 1559 1560 \end_layout 1561 1562 \begin_layout Enumerate 1563 Se obtiene la lista conjunta de variables (campo {{{LinearBlock}}}) del 1564 bloque lineal de cada uno de los módulos sin repeticiones. 1565 1566 \end_layout 1567 1568 \begin_layout Enumerate 1569 Se reubican las posiciones de las variables en cada uno de los módulos 1. 1570 Se modifica el número de columnas y las posiciones de las columnas de la 1571 matriz X de inputs para hacerlas coincidir con la posición de las variables 1572 en la lista global. 1573 1574 \end_layout 1575 1576 \begin_layout Enumerate 1577 Se modifica el número de columnas y las posiciones de las columnas de la 1578 matriz A de las inecuaciones para hacerlas coincidir con la posición de 1579 las variables en la lista global. 1580 1581 \end_layout 1582 1583 \begin_layout Enumerate 1584 Se modifica el campo Col de los registros BSR.MissingBlock de definición 1585 de omitidos del input en cada módulo 1. 1586 Se modifica el número de filas y columnas de las matrices Cov, L y Li de 1587 cada registro BSR.NoiseDistrib correspondiente a cada segmento, asà como 1588 el conjunto de Ãndices EquIdx de las filas a las que correponde. 1589 1590 \end_layout 1591 1592 \begin_layout Enumerate 1593 Se concatenan las filas de las matrices Y[k], X[k], a[k], A[k] de todos 1594 los módulos en las correspondientes Y, X, a, A conjuntas. 1595 1596 \end_layout 1597 1598 \begin_layout Enumerate 1599 Se concatenan los conjuntos de omitidos del input (campo InputMissingBlock) 1600 y el output (campo OutputMissingBlock) 1601 \end_layout 1602 1603 \begin_layout Enumerate 1604 Se concatenan los conjuntos de segmentos de regresión (campo NoiseDistrib) 1605 \end_layout 1606 1607 \begin_layout Standard 1608 Intentar hacer todas estas operaciones mientras se está leyendo un BSR actual 1609 es algo extremadamente complicado de implementar, pues algunas cosas aún 1610 no existen y otras están a medias, no se conocen algunas dimensiones, etc. 1611 Precisamente por esta razón propongo todo este tema de la modularización 1612 de la sintaxis de los ficheros ASCII-BSR. 1613 \end_layout 1614 1615 \begin_layout Subsubsection 1616 Mecanismo de generación multifase 1617 \end_layout 1618 1619 \begin_layout Standard 1620 En este caso cada módulo se generará condicionalmente al resto de módulos, 1621 bien secuencialmente, bien en paralelo cuando tal cosa sea posible. 1622 Esto no es necesario que se implemente en una primera versión pero se puede 1623 ir adelantando algo del diseño. 1624 Se indicará al principio del módulo máster mediante la sintaxis 1625 \end_layout 1626 1627 \begin_layout Standard 1628 \begin_inset listings 1629 inline false 1630 status open 1631 1632 \begin_layout Plain Layout 1633 1634 Modular.Schema = sequential; 1635 \end_layout 1636 1637 \end_inset 1638 1639 1640 \end_layout 1641 1642 \begin_layout Standard 1643 ó bien 1644 \end_layout 1645 1646 \begin_layout Standard 1647 \begin_inset listings 1648 inline false 1649 status open 1650 1651 \begin_layout Plain Layout 1652 1653 Modular.Schema = parallel; 1654 \end_layout 1655 1656 \end_inset 1657 1658 1659 \end_layout 1660 1661 \begin_layout Standard 1662 según sea el caso. 1663 \end_layout 1664 1665 \begin_layout Standard 1666 En ambos casos la mezcla de módulos es distinta al caso de generación monofase, 1667 pues en realildad no se hace agregación fÃsica de los módulos sino que 1668 simplemente se enlazarán las dependencias de variables entre ellos para 1669 que luego BSR pueda actualizar sus valores en las sucesivas simulaciones 1670 condicionadas, de forma similar a como lo ahcÃa el antiguo HLM, del cual 1671 se podrán tomar bastantes ideas. 1672 \end_layout 1673 1674 \begin_layout Subsubsection 1675 Plantilla de un módulo master 1676 \end_layout 1677 1678 \begin_layout Standard 1679 Aunque cada módulo internamente especifica con la cláusula Module.Type de 1680 que tipo de módulo se trata es conveniente repetir esa información en la 1681 sentencia de inclusión del módulo hijo en el módulo master para llamar 1682 directamente al parser adecuado, ya que en realidad lo que habrá es 3 parsers 1683 distintos, el de módulos primarios, el de los joint, que es básicamente 1684 el actual y el de los masters. 1685 La cláusula Module.Type puede usarse como mecanismo de control para evitar 1686 posibles errores de diseño del modelo. 1687 Asà podrÃa quedar la sintaxis de los módulos master 1688 \end_layout 1689 1690 \begin_layout Standard 1691 \begin_inset listings 1692 lstparams "basicstyle={\tiny\ttfamily},breaklines=true,extendedchars=true,numbers=left,numberstyle={\tiny}" 1693 inline false 1694 status open 1695 1696 \begin_layout Plain Layout 1697 1698 ///////////////////////////////////////////////////////////////////////////// 1699 \end_layout 1700 1701 \begin_layout Plain Layout 1702 1703 // Bayesian Sparse Regression 1704 \end_layout 1705 1706 \begin_layout Plain Layout 1707 1708 ///////////////////////////////////////////////////////////////////////////// 1709 \end_layout 1710 1711 \begin_layout Plain Layout 1712 1713 $BEGIN 1714 \end_layout 1715 1716 \begin_layout Plain Layout 1717 1718 Module.Type = master; 1719 \end_layout 1720 1721 \begin_layout Plain Layout 1722 1723 Model.Name = "..."; 1724 \end_layout 1725 1726 \begin_layout Plain Layout 1727 1728 Model.Description = "..."; 1729 \end_layout 1730 1731 \begin_layout Plain Layout 1732 1733 Session.Name = "..."; 1734 \end_layout 1735 1736 \begin_layout Plain Layout 1737 1738 Session.Description = "..."; 1739 \end_layout 1740 1741 \begin_layout Plain Layout 1742 1743 Session.Authors = "..."; 1744 \end_layout 1745 1746 \begin_layout Plain Layout 1747 1748 Modular.Schema = { monophasic, sequential or parallel } ; 1749 \end_layout 1750 1751 \begin_layout Plain Layout 1752 1753 Include { primary, joint or master } module "file_relative_path.bsr" ; ... 1754 Include { primary, joint or master } module "file_relative_path.bsr" ; 1755 \end_layout 1756 1757 \begin_layout Plain Layout 1758 1759 $END 842 1760 \end_layout 843 1761 -
doc/modeling/BSR/BSR_P2_S4_Import.lyx
reccc7ea r2fa3a27 1 #LyX 1. 5.3created this file. For more info see http://www.lyx.org/2 \lyxformat 2761 #LyX 1.6.0 created this file. For more info see http://www.lyx.org/ 2 \lyxformat 345 3 3 \begin_document 4 4 \begin_header … … 28 28 \hypersetup{urlbordercolor=0 0 0,pdfborder=0 0 1 [3 2]} 29 29 \end_preamble 30 \use_default_options false 31 \begin_modules 32 theorems-ams 33 \end_modules 30 34 \language spanish 31 35 \inputencoding auto … … 38 42 \font_sf_scale 100 39 43 \font_tt_scale 100 44 40 45 \graphics default 41 46 \paperfontsize default 42 47 \spacing single 48 \use_hyperref false 43 49 \papersize default 44 50 \use_geometry false … … 65 71 66 72 \begin_layout Chapter 67 \begin_inset LatexCommand label 73 \begin_inset CommandInset label 74 LatexCommand label 68 75 name "cha:BysMcmc::Bsr::Import" 69 76 … … 103 110 Semánticamente esta orientado a los conceptos ya definidos en la sección 104 111 105 \begin_inset LatexCommand ref 112 \begin_inset CommandInset ref 113 LatexCommand ref 106 114 reference "sec:clase_modelos_BSR" 107 115 … … 252 260 253 261 254 \begin_inset LatexCommand label 262 \begin_inset CommandInset label 263 LatexCommand label 255 264 name "eq:mod_exa_bsr" 256 265 … … 272 281 status open 273 282 274 \begin_layout Standard283 \begin_layout Plain Layout 275 284 276 285 Text Get.Doc.Model.Name(Real void) 277 286 \end_layout 278 287 279 \begin_layout Standard280 281 { 282 \end_layout 283 284 \begin_layout Standard288 \begin_layout Plain Layout 289 290 { 291 \end_layout 292 293 \begin_layout Plain Layout 285 294 286 295 Text "BSRExample" 287 296 \end_layout 288 297 289 \begin_layout Standard298 \begin_layout Plain Layout 290 299 291 300 }; … … 308 317 status open 309 318 310 \begin_layout Standard319 \begin_layout Plain Layout 311 320 312 321 Text Get.Doc.Model.Description(Real void) 313 322 \end_layout 314 323 315 \begin_layout Standard316 317 { 318 \end_layout 319 320 \begin_layout Standard324 \begin_layout Plain Layout 325 326 { 327 \end_layout 328 329 \begin_layout Plain Layout 321 330 322 331 Text "Modelo simple ARMA(2,1)" 323 332 \end_layout 324 333 325 \begin_layout Standard334 \begin_layout Plain Layout 326 335 327 336 }; … … 355 364 status open 356 365 357 \begin_layout Standard366 \begin_layout Plain Layout 358 367 359 368 Text Get.Doc.Session.Name(Real void) 360 369 \end_layout 361 370 362 \begin_layout Standard363 364 { 365 \end_layout 366 367 \begin_layout Standard371 \begin_layout Plain Layout 372 373 { 374 \end_layout 375 376 \begin_layout Plain Layout 368 377 369 378 Text _.session.id 370 379 \end_layout 371 380 372 \begin_layout Standard381 \begin_layout Plain Layout 373 382 374 383 }; … … 392 401 status open 393 402 394 \begin_layout Standard403 \begin_layout Plain Layout 395 404 396 405 Text Get.Doc.Session.Description(Real void) 397 406 \end_layout 398 407 399 \begin_layout Standard400 401 { 402 \end_layout 403 404 \begin_layout Standard408 \begin_layout Plain Layout 409 410 { 411 \end_layout 412 413 \begin_layout Plain Layout 405 414 406 415 Text "Session "+_.session.id+" para el modelo: " + 407 416 \end_layout 408 417 409 \begin_layout Standard418 \begin_layout Plain Layout 410 419 411 420 Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0) 412 421 \end_layout 413 422 414 \begin_layout Standard423 \begin_layout Plain Layout 415 424 416 425 }; … … 434 443 status open 435 444 436 \begin_layout Standard445 \begin_layout Plain Layout 437 446 438 447 Text Get.Doc.Session.Authors(Real void) 439 448 \end_layout 440 449 441 \begin_layout Standard442 443 { 444 \end_layout 445 446 \begin_layout Standard450 \begin_layout Plain Layout 451 452 { 453 \end_layout 454 455 \begin_layout Plain Layout 447 456 448 457 Text "user@bayesforecast.com" 449 458 \end_layout 450 459 451 \begin_layout Standard460 \begin_layout Plain Layout 452 461 453 462 }; … … 472 481 status open 473 482 474 \begin_layout Standard483 \begin_layout Plain Layout 475 484 476 485 Text Get.Doc.Path(Real void) 477 486 \end_layout 478 487 479 \begin_layout Standard480 481 { 482 \end_layout 483 484 \begin_layout Standard488 \begin_layout Plain Layout 489 490 { 491 \end_layout 492 493 \begin_layout Plain Layout 485 494 486 495 Text _.path.out 487 496 \end_layout 488 497 489 \begin_layout Standard498 \begin_layout Plain Layout 490 499 491 500 }; … … 509 518 status open 510 519 511 \begin_layout Standard520 \begin_layout Plain Layout 512 521 513 522 Real Get.LinReg.Size(Real void) 514 523 \end_layout 515 524 516 \begin_layout Standard517 518 { 519 \end_layout 520 521 \begin_layout Standard525 \begin_layout Plain Layout 526 527 { 528 \end_layout 529 530 \begin_layout Plain Layout 522 531 523 532 // para el ejemplo actual solo tenemos un segmento de regresión 524 533 \end_layout 525 534 526 \begin_layout Standard535 \begin_layout Plain Layout 527 536 528 537 Real 1 529 538 \end_layout 530 539 531 \begin_layout Standard540 \begin_layout Plain Layout 532 541 533 542 }; … … 558 567 \family default 559 568 lo describimos en la sección 560 \begin_inset LatexCommand ref 569 \begin_inset CommandInset ref 570 LatexCommand ref 561 571 reference "sec:API-segmento-BSR" 562 572 … … 570 580 status open 571 581 572 \begin_layout Standard582 \begin_layout Plain Layout 573 583 574 584 NameBlock Get.LinReg.Segment(Real iS) 575 585 \end_layout 576 586 577 \begin_layout Standard578 579 { 580 \end_layout 581 582 \begin_layout Standard587 \begin_layout Plain Layout 588 589 { 590 \end_layout 591 592 \begin_layout Plain Layout 583 593 584 594 // en este caso retornamos el NameBlock para el único segmento 585 595 \end_layout 586 596 587 \begin_layout Standard597 \begin_layout Plain Layout 588 598 589 599 // que se modela para mas de un segmento de regresión se suele 590 600 \end_layout 591 601 592 \begin_layout Standard602 \begin_layout Plain Layout 593 603 594 604 // usar un Set que es indexado por iS: _bsr.blocks[iS] 595 605 \end_layout 596 606 597 \begin_layout Standard607 \begin_layout Plain Layout 598 608 599 609 NameBlock _.bsr.ARMA.2_1 600 610 \end_layout 601 611 602 \begin_layout Standard612 \begin_layout Plain Layout 603 613 604 614 }; … … 622 632 parametros de diferentes segmentos. 623 633 En la sección 624 \begin_inset LatexCommand ref 634 \begin_inset CommandInset ref 635 LatexCommand ref 625 636 reference "sec:Restricciones-en-BSR" 626 637 … … 637 648 status open 638 649 639 \begin_layout Standard650 \begin_layout Plain Layout 640 651 641 652 NameBlock Get.Constraints.Handler(Real void) 642 653 \end_layout 643 654 644 \begin_layout Standard645 646 { 647 \end_layout 648 649 \begin_layout Standard655 \begin_layout Plain Layout 656 657 { 658 \end_layout 659 660 \begin_layout Plain Layout 650 661 651 662 // retornamos un NameBlock predefinido para el caso 652 663 \end_layout 653 664 654 \begin_layout Standard665 \begin_layout Plain Layout 655 666 656 667 // no restringido 657 668 \end_layout 658 669 659 \begin_layout Standard670 \begin_layout Plain Layout 660 671 661 672 NameBlock BysMcmc::Bsr::Import::Unconstrained(0) 662 673 \end_layout 663 674 664 \begin_layout Standard675 \begin_layout Plain Layout 665 676 666 677 }; … … 683 694 status open 684 695 685 \begin_layout Standard696 \begin_layout Plain Layout 686 697 687 698 NameBlock Build.Example.BSR(Text path.out, Text session.id, 688 699 \end_layout 689 700 690 \begin_layout Standard701 \begin_layout Plain Layout 691 702 692 703 Serie Y, Set X) 693 704 \end_layout 694 705 695 \begin_layout Standard696 697 { 698 \end_layout 699 700 \begin_layout Standard706 \begin_layout Plain Layout 707 708 { 709 \end_layout 710 711 \begin_layout Plain Layout 701 712 702 713 NameBlock [[ 703 714 \end_layout 704 715 705 \begin_layout Standard716 \begin_layout Plain Layout 706 717 707 718 Text _.path.out = path.out; 708 719 \end_layout 709 720 710 \begin_layout Standard721 \begin_layout Plain Layout 711 722 712 723 Text _.session.id = session.id; 713 724 \end_layout 714 725 715 \begin_layout Standard726 \begin_layout Plain Layout 716 727 717 728 NameBlock _.bsr.ARMA.2_1 = [[ 718 729 \end_layout 719 730 720 \begin_layout Standard731 \begin_layout Plain Layout 721 732 722 733 Text _.dating.name = DatingName(Y); 723 734 \end_layout 724 735 725 \begin_layout Standard736 \begin_layout Plain Layout 726 737 727 738 Date _.first = First(Y); 728 739 \end_layout 729 740 730 \begin_layout Standard741 \begin_layout Plain Layout 731 742 732 743 Date _.last = Last(Y), 733 744 \end_layout 734 745 735 \begin_layout Standard746 \begin_layout Plain Layout 736 747 737 748 Matrix _.Y = SerMat(Y); 738 749 \end_layout 739 750 740 \begin_layout Standard751 \begin_layout Plain Layout 741 752 742 753 Matrix _.X = SerSetMat(X); 743 754 \end_layout 744 755 745 \begin_layout Standard756 \begin_layout Plain Layout 746 757 747 758 /* ... … … 749 760 \end_layout 750 761 751 \begin_layout Standard762 \begin_layout Plain Layout 752 763 753 764 /* aquà implementamos el NameBlock para el nodo de observación */ 754 765 \end_layout 755 766 756 \begin_layout Standard767 \begin_layout Plain Layout 757 768 758 769 ]]; 759 770 \end_layout 760 771 761 \begin_layout Standard762 763 \end_layout 764 765 \begin_layout Standard772 \begin_layout Plain Layout 773 774 \end_layout 775 776 \begin_layout Plain Layout 766 777 767 778 Text Get.Doc.Model.Name(Real void) 768 779 \end_layout 769 780 770 \begin_layout Standard781 \begin_layout Plain Layout 771 782 772 783 { 773 784 \end_layout 774 785 775 \begin_layout Standard786 \begin_layout Plain Layout 776 787 777 788 Text "BSRExample" 778 789 \end_layout 779 790 780 \begin_layout Standard791 \begin_layout Plain Layout 781 792 782 793 }; 783 794 \end_layout 784 795 785 \begin_layout Standard786 787 \end_layout 788 789 \begin_layout Standard796 \begin_layout Plain Layout 797 798 \end_layout 799 800 \begin_layout Plain Layout 790 801 791 802 Text Get.Doc.Model.Description(Real void) 792 803 \end_layout 793 804 794 \begin_layout Standard805 \begin_layout Plain Layout 795 806 796 807 { 797 808 \end_layout 798 809 799 \begin_layout Standard810 \begin_layout Plain Layout 800 811 801 812 Text "Modelo simple ARMA(3,1)" 802 813 \end_layout 803 814 804 \begin_layout Standard815 \begin_layout Plain Layout 805 816 806 817 }; 807 818 \end_layout 808 819 809 \begin_layout Standard810 811 \end_layout 812 813 \begin_layout Standard820 \begin_layout Plain Layout 821 822 \end_layout 823 824 \begin_layout Plain Layout 814 825 815 826 Text Get.Doc.Session.Name(Real void) 816 827 \end_layout 817 828 818 \begin_layout Standard829 \begin_layout Plain Layout 819 830 820 831 { 821 832 \end_layout 822 833 823 \begin_layout Standard834 \begin_layout Plain Layout 824 835 825 836 Text _.session.id 826 837 \end_layout 827 838 828 \begin_layout Standard839 \begin_layout Plain Layout 829 840 830 841 }; 831 842 \end_layout 832 843 833 \begin_layout Standard834 835 \end_layout 836 837 \begin_layout Standard844 \begin_layout Plain Layout 845 846 \end_layout 847 848 \begin_layout Plain Layout 838 849 839 850 Text Get.Doc.Session.Description(Real void) 840 851 \end_layout 841 852 842 \begin_layout Standard853 \begin_layout Plain Layout 843 854 844 855 { 845 856 \end_layout 846 857 847 \begin_layout Standard858 \begin_layout Plain Layout 848 859 849 860 Text "Session "+_.session.id+" para el modelo: " + 850 861 \end_layout 851 862 852 \begin_layout Standard863 \begin_layout Plain Layout 853 864 854 865 Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0) 855 866 \end_layout 856 867 857 \begin_layout Standard868 \begin_layout Plain Layout 858 869 859 870 }; 860 871 \end_layout 861 872 862 \begin_layout Standard863 864 \end_layout 865 866 \begin_layout Standard873 \begin_layout Plain Layout 874 875 \end_layout 876 877 \begin_layout Plain Layout 867 878 868 879 Text Get.Doc.Session.Authors(Real void) 869 880 \end_layout 870 881 871 \begin_layout Standard882 \begin_layout Plain Layout 872 883 873 884 { 874 885 \end_layout 875 886 876 \begin_layout Standard887 \begin_layout Plain Layout 877 888 878 889 Text "user@bayesforecast.com" 879 890 \end_layout 880 891 881 \begin_layout Standard892 \begin_layout Plain Layout 882 893 883 894 }; 884 895 \end_layout 885 896 886 \begin_layout Standard887 888 \end_layout 889 890 \begin_layout Standard897 \begin_layout Plain Layout 898 899 \end_layout 900 901 \begin_layout Plain Layout 891 902 892 903 Text Get.Doc.Path(Real void) 893 904 \end_layout 894 905 895 \begin_layout Standard906 \begin_layout Plain Layout 896 907 897 908 { 898 909 \end_layout 899 910 900 \begin_layout Standard911 \begin_layout Plain Layout 901 912 902 913 Text _.path.output 903 914 \end_layout 904 915 905 \begin_layout Standard916 \begin_layout Plain Layout 906 917 907 918 }; 908 919 \end_layout 909 920 910 \begin_layout Standard911 912 \end_layout 913 914 \begin_layout Standard921 \begin_layout Plain Layout 922 923 \end_layout 924 925 \begin_layout Plain Layout 915 926 916 927 Real Get.LinReg.Size(Real void) 917 928 \end_layout 918 929 919 \begin_layout Standard930 \begin_layout Plain Layout 920 931 921 932 { 922 933 \end_layout 923 934 924 \begin_layout Standard935 \begin_layout Plain Layout 925 936 926 937 // para el ejemplo actual solo tenemos un segmento de regresión 927 938 \end_layout 928 939 929 \begin_layout Standard940 \begin_layout Plain Layout 930 941 931 942 Real 1 932 943 \end_layout 933 944 934 \begin_layout Standard945 \begin_layout Plain Layout 935 946 936 947 }; 937 948 \end_layout 938 949 939 \begin_layout Standard940 941 \end_layout 942 943 \begin_layout Standard950 \begin_layout Plain Layout 951 952 \end_layout 953 954 \begin_layout Plain Layout 944 955 945 956 NameBlock Get.LinReg.Segment(Real iS) 946 957 \end_layout 947 958 948 \begin_layout Standard959 \begin_layout Plain Layout 949 960 950 961 { 951 962 \end_layout 952 963 953 \begin_layout Standard964 \begin_layout Plain Layout 954 965 955 966 // en este caso retornamos el NameBlock para el único segmento 956 967 \end_layout 957 968 958 \begin_layout Standard969 \begin_layout Plain Layout 959 970 960 971 // que se modela para mas de un segmento de regresión se suele 961 972 \end_layout 962 973 963 \begin_layout Standard974 \begin_layout Plain Layout 964 975 965 976 // usar un Set que es indexado por iS: _bsr.blocks[iS] 966 977 \end_layout 967 978 968 \begin_layout Standard979 \begin_layout Plain Layout 969 980 970 981 NameBlock _.bsr.ARMA.2_1 971 982 \end_layout 972 983 973 \begin_layout Standard984 \begin_layout Plain Layout 974 985 975 986 }; 976 987 \end_layout 977 988 978 \begin_layout Standard979 980 \end_layout 981 982 \begin_layout Standard989 \begin_layout Plain Layout 990 991 \end_layout 992 993 \begin_layout Plain Layout 983 994 984 995 NameBlock Get.Constraints.Handler(Real void) 985 996 \end_layout 986 997 987 \begin_layout Standard998 \begin_layout Plain Layout 988 999 989 1000 { 990 1001 \end_layout 991 1002 992 \begin_layout Standard1003 \begin_layout Plain Layout 993 1004 994 1005 // retornamos un NameBlock predefinido para el caso 995 1006 \end_layout 996 1007 997 \begin_layout Standard1008 \begin_layout Plain Layout 998 1009 999 1010 // no restringido 1000 1011 \end_layout 1001 1012 1002 \begin_layout Standard1013 \begin_layout Plain Layout 1003 1014 1004 1015 NameBlock BysMcmc::Bsr::Import::Unconstrained(0) 1005 1016 \end_layout 1006 1017 1007 \begin_layout Standard1018 \begin_layout Plain Layout 1008 1019 1009 1020 } 1010 1021 \end_layout 1011 1022 1012 \begin_layout Standard1023 \begin_layout Plain Layout 1013 1024 1014 1025 ]] 1015 1026 \end_layout 1016 1027 1017 \begin_layout Standard1028 \begin_layout Plain Layout 1018 1029 1019 1030 }; … … 1027 1038 \begin_layout Section 1028 1039 API del segmento BSR 1029 \begin_inset LatexCommand label 1040 \begin_inset CommandInset label 1041 LatexCommand label 1030 1042 name "sec:API-segmento-BSR" 1031 1043 … … 1053 1065 status open 1054 1066 1055 \begin_layout Standard1067 \begin_layout Plain Layout 1056 1068 1057 1069 Text Get.Name(Real void) 1058 1070 \end_layout 1059 1071 1060 \begin_layout Standard1061 1062 { 1063 \end_layout 1064 1065 \begin_layout Standard1072 \begin_layout Plain Layout 1073 1074 { 1075 \end_layout 1076 1077 \begin_layout Plain Layout 1066 1078 1067 1079 Text "ObsY" 1068 1080 \end_layout 1069 1081 1070 \begin_layout Standard1082 \begin_layout Plain Layout 1071 1083 1072 1084 }; … … 1121 1133 status open 1122 1134 1123 \begin_layout Standard1135 \begin_layout Plain Layout 1124 1136 1125 1137 Text Get.Sigma2(Real void) 1126 1138 \end_layout 1127 1139 1128 \begin_layout Standard1129 1130 { 1131 \end_layout 1132 1133 \begin_layout Standard1140 \begin_layout Plain Layout 1141 1142 { 1143 \end_layout 1144 1145 \begin_layout Plain Layout 1134 1146 1135 1147 Text "sigma2" 1136 1148 \end_layout 1137 1149 1138 \begin_layout Standard1150 \begin_layout Plain Layout 1139 1151 1140 1152 }; … … 1158 1170 status open 1159 1171 1160 \begin_layout Standard1172 \begin_layout Plain Layout 1161 1173 1162 1174 Set Get.TimeInfo(Real void) 1163 1175 \end_layout 1164 1176 1165 \begin_layout Standard1166 1167 { 1168 \end_layout 1169 1170 \begin_layout Standard1177 \begin_layout Plain Layout 1178 1179 { 1180 \end_layout 1181 1182 \begin_layout Plain Layout 1171 1183 1172 1184 Set BSR.NoiseTimeInfo(TimeSet Eval(_.dating.name), _.first, _.last) 1173 1185 \end_layout 1174 1186 1175 \begin_layout Standard1187 \begin_layout Plain Layout 1176 1188 1177 1189 }; … … 1191 1203 status open 1192 1204 1193 \begin_layout Standard1205 \begin_layout Plain Layout 1194 1206 1195 1207 Struct BSR.NoiseTimeInfo 1196 1208 \end_layout 1197 1209 1198 \begin_layout Standard1199 1200 { 1201 \end_layout 1202 1203 \begin_layout Standard1210 \begin_layout Plain Layout 1211 1212 { 1213 \end_layout 1214 1215 \begin_layout Plain Layout 1204 1216 1205 1217 TimeSet Dating, 1206 1218 \end_layout 1207 1219 1208 \begin_layout Standard1220 \begin_layout Plain Layout 1209 1221 1210 1222 Date FirstDate, 1211 1223 \end_layout 1212 1224 1213 \begin_layout Standard1225 \begin_layout Plain Layout 1214 1226 1215 1227 Date LastDate 1216 1228 \end_layout 1217 1229 1218 \begin_layout Standard1230 \begin_layout Plain Layout 1219 1231 1220 1232 }; … … 1250 1262 de grado 2 ó 1. 1251 1263 Para el modelo 1252 \begin_inset LatexCommand ref 1264 \begin_inset CommandInset ref 1265 LatexCommand ref 1253 1266 reference "eq:mod_exa_bsr" 1254 1267 … … 1262 1275 status open 1263 1276 1264 \begin_layout Standard1277 \begin_layout Plain Layout 1265 1278 1266 1279 Real Get.ARIMA.Size(Real void) 1267 1280 \end_layout 1268 1281 1269 \begin_layout Standard1270 1271 { 1272 \end_layout 1273 1274 \begin_layout Standard1282 \begin_layout Plain Layout 1283 1284 { 1285 \end_layout 1286 1287 \begin_layout Plain Layout 1275 1288 1276 1289 Real 1 1277 1290 \end_layout 1278 1291 1279 \begin_layout Standard1292 \begin_layout Plain Layout 1280 1293 1281 1294 }; … … 1316 1329 status open 1317 1330 1318 \begin_layout Standard1331 \begin_layout Plain Layout 1319 1332 1320 1333 Struct ARIMAStruct 1321 1334 \end_layout 1322 1335 1323 \begin_layout Standard1324 1325 { 1326 \end_layout 1327 1328 \begin_layout Standard1336 \begin_layout Plain Layout 1337 1338 { 1339 \end_layout 1340 1341 \begin_layout Plain Layout 1329 1342 1330 1343 Real Periodicity, 1331 1344 \end_layout 1332 1345 1333 \begin_layout Standard1346 \begin_layout Plain Layout 1334 1347 1335 1348 Polyn AR, 1336 1349 \end_layout 1337 1350 1338 \begin_layout Standard1351 \begin_layout Plain Layout 1339 1352 1340 1353 Polyn MA, 1341 1354 \end_layout 1342 1355 1343 \begin_layout Standard1356 \begin_layout Plain Layout 1344 1357 1345 1358 Polyn DIF 1346 1359 \end_layout 1347 1360 1348 \begin_layout Standard1361 \begin_layout Plain Layout 1349 1362 1350 1363 }; … … 1354 1367 1355 1368 Para el modelo 1356 \begin_inset LatexCommand ref 1369 \begin_inset CommandInset ref 1370 LatexCommand ref 1357 1371 reference "eq:mod_exa_bsr" 1358 1372 … … 1365 1379 status open 1366 1380 1367 \begin_layout Standard1381 \begin_layout Plain Layout 1368 1382 1369 1383 Set Get.ARIMA.Factor(Real f) 1370 1384 \end_layout 1371 1385 1372 \begin_layout Standard1373 1374 { 1375 \end_layout 1376 1377 \begin_layout Standard1386 \begin_layout Plain Layout 1387 1388 { 1389 \end_layout 1390 1391 \begin_layout Plain Layout 1378 1392 1379 1393 Set ARIMAStruct(1, 1-0.1*B-0.1*B^2, 1-0.1*B, 1) 1380 1394 \end_layout 1381 1395 1382 \begin_layout Standard1396 \begin_layout Plain Layout 1383 1397 1384 1398 }; … … 1406 1420 status open 1407 1421 1408 \begin_layout Standard1422 \begin_layout Plain Layout 1409 1423 1410 1424 Real Get.Param.Size(Real void) 1411 1425 \end_layout 1412 1426 1413 \begin_layout Standard1414 1415 { 1416 \end_layout 1417 1418 \begin_layout Standard1427 \begin_layout Plain Layout 1428 1429 { 1430 \end_layout 1431 1432 \begin_layout Plain Layout 1419 1433 1420 1434 Real Rows(_.X) 1421 1435 \end_layout 1422 1436 1423 \begin_layout Standard1437 \begin_layout Plain Layout 1424 1438 1425 1439 }; … … 1464 1478 status open 1465 1479 1466 \begin_layout Standard1480 \begin_layout Plain Layout 1467 1481 1468 1482 Struct Bsr.Param.Info 1469 1483 \end_layout 1470 1484 1471 \begin_layout Standard1472 1473 { 1474 \end_layout 1475 1476 \begin_layout Standard1485 \begin_layout Plain Layout 1486 1487 { 1488 \end_layout 1489 1490 \begin_layout Plain Layout 1477 1491 1478 1492 Text Name, // identificador único del parámetro 1479 1493 \end_layout 1480 1494 1481 \begin_layout Standard1495 \begin_layout Plain Layout 1482 1496 1483 1497 Real InitValue, // valor inicial conocido o ? 1484 1498 \end_layout 1485 1499 1486 \begin_layout Standard1500 \begin_layout Plain Layout 1487 1501 1488 1502 Real Prior.LowerBound, // cota inf. … … 1490 1504 \end_layout 1491 1505 1492 \begin_layout Standard1506 \begin_layout Plain Layout 1493 1507 1494 1508 Real Prior.UpperBound // cota sup. … … 1496 1510 \end_layout 1497 1511 1498 \begin_layout Standard1512 \begin_layout Plain Layout 1499 1513 1500 1514 }; … … 1521 1535 status open 1522 1536 1523 \begin_layout Standard1537 \begin_layout Plain Layout 1524 1538 1525 1539 Set Get.Param(Real iP) 1526 1540 \end_layout 1527 1541 1528 \begin_layout Standard1529 1530 { 1531 \end_layout 1532 1533 \begin_layout Standard1542 \begin_layout Plain Layout 1543 1544 { 1545 \end_layout 1546 1547 \begin_layout Plain Layout 1534 1548 1535 1549 Set Bsr.Param.Info("beta_"+IntText(iP), Real Rand(0,1), -1/0, 1/0) 1536 1550 \end_layout 1537 1551 1538 \begin_layout Standard1552 \begin_layout Plain Layout 1539 1553 1540 1554 }; … … 1559 1573 status open 1560 1574 1561 \begin_layout Standard1575 \begin_layout Plain Layout 1562 1576 1563 1577 Real Get.Missing.Size(Real void) 1564 1578 \end_layout 1565 1579 1566 \begin_layout Standard1567 1568 { 1569 \end_layout 1570 1571 \begin_layout Standard1580 \begin_layout Plain Layout 1581 1582 { 1583 \end_layout 1584 1585 \begin_layout Plain Layout 1572 1586 1573 1587 Real 0 1574 1588 \end_layout 1575 1589 1576 \begin_layout Standard1590 \begin_layout Plain Layout 1577 1591 1578 1592 }; … … 1611 1625 status open 1612 1626 1613 \begin_layout Standard1627 \begin_layout Plain Layout 1614 1628 1615 1629 Struct Bsr.Missing.Info 1616 1630 \end_layout 1617 1631 1618 \begin_layout Standard1619 1620 { 1621 \end_layout 1622 1623 \begin_layout Standard1632 \begin_layout Plain Layout 1633 1634 { 1635 \end_layout 1636 1637 \begin_layout Plain Layout 1624 1638 1625 1639 Text Name, // identificador único para el valor missing 1626 1640 \end_layout 1627 1641 1628 \begin_layout Standard1642 \begin_layout Plain Layout 1629 1643 1630 1644 Real Prior.Average, // prior media or initial value 1631 1645 \end_layout 1632 1646 1633 \begin_layout Standard1647 \begin_layout Plain Layout 1634 1648 1635 1649 Real Prior.Sigma, // sigma del prior or +1/0 si no inf. 1636 1650 \end_layout 1637 1651 1638 \begin_layout Standard1652 \begin_layout Plain Layout 1639 1653 1640 1654 Real Prior.LowerBound, // lÃmite inf. … … 1642 1656 \end_layout 1643 1657 1644 \begin_layout Standard1658 \begin_layout Plain Layout 1645 1659 1646 1660 Real Prior.UpperBound // lÃmite sup. … … 1648 1662 \end_layout 1649 1663 1650 \begin_layout Standard1664 \begin_layout Plain Layout 1651 1665 1652 1666 }; … … 1661 1675 status open 1662 1676 1663 \begin_layout Standard1677 \begin_layout Plain Layout 1664 1678 1665 1679 Set Get.Missing(Real iP) 1666 1680 \end_layout 1667 1681 1668 \begin_layout Standard1669 1670 { 1671 \end_layout 1672 1673 \begin_layout Standard1682 \begin_layout Plain Layout 1683 1684 { 1685 \end_layout 1686 1687 \begin_layout Plain Layout 1674 1688 1675 1689 Set Empty 1676 1690 \end_layout 1677 1691 1678 \begin_layout Standard1692 \begin_layout Plain Layout 1679 1693 1680 1694 }; … … 1701 1715 status open 1702 1716 1703 \begin_layout Standard1717 \begin_layout Plain Layout 1704 1718 1705 1719 Real Get.Equation.Size(Real void) 1706 1720 \end_layout 1707 1721 1708 \begin_layout Standard1709 1710 { 1711 \end_layout 1712 1713 \begin_layout Standard1722 \begin_layout Plain Layout 1723 1724 { 1725 \end_layout 1726 1727 \begin_layout Plain Layout 1714 1728 1715 1729 // _.X e _.Y están dispuestas por filas 1716 1730 \end_layout 1717 1731 1718 \begin_layout Standard1732 \begin_layout Plain Layout 1719 1733 1720 1734 Real Columns(_.X); 1721 1735 \end_layout 1722 1736 1723 \begin_layout Standard1737 \begin_layout Plain Layout 1724 1738 1725 1739 }; … … 1776 1790 status open 1777 1791 1778 \begin_layout Standard1792 \begin_layout Plain Layout 1779 1793 1780 1794 Real Get.Equation.Output(Real iE) 1781 1795 \end_layout 1782 1796 1783 \begin_layout Standard1784 1785 { 1786 \end_layout 1787 1788 \begin_layout Standard1797 \begin_layout Plain Layout 1798 1799 { 1800 \end_layout 1801 1802 \begin_layout Plain Layout 1789 1803 1790 1804 Real MatDat(_.Y,1,iE) 1791 1805 \end_layout 1792 1806 1793 \begin_layout Standard1807 \begin_layout Plain Layout 1794 1808 1795 1809 }; … … 1831 1845 status open 1832 1846 1833 \begin_layout Standard1847 \begin_layout Plain Layout 1834 1848 1835 1849 Real Get.Equation.Input.Size(Real iE) 1836 1850 \end_layout 1837 1851 1838 \begin_layout Standard1839 1840 { 1841 \end_layout 1842 1843 \begin_layout Standard1852 \begin_layout Plain Layout 1853 1854 { 1855 \end_layout 1856 1857 \begin_layout Plain Layout 1844 1858 1845 1859 Real Rows(_.X) 1846 1860 \end_layout 1847 1861 1848 \begin_layout Standard1862 \begin_layout Plain Layout 1849 1863 1850 1864 }; … … 1914 1928 status open 1915 1929 1916 \begin_layout Standard1930 \begin_layout Plain Layout 1917 1931 1918 1932 Real Get.Equation.Input.Coef(Real iE, Real iT) 1919 1933 \end_layout 1920 1934 1921 \begin_layout Standard1922 1923 { 1924 \end_layout 1925 1926 \begin_layout Standard1935 \begin_layout Plain Layout 1936 1937 { 1938 \end_layout 1939 1940 \begin_layout Plain Layout 1927 1941 1928 1942 Real MatDat(_.X, iT,iE) 1929 1943 \end_layout 1930 1944 1931 \begin_layout Standard1945 \begin_layout Plain Layout 1932 1946 1933 1947 }; … … 1962 1976 status open 1963 1977 1964 \begin_layout Standard1978 \begin_layout Plain Layout 1965 1979 1966 1980 Text Get.Equation.Input.Param(Real iE, Real iT) 1967 1981 \end_layout 1968 1982 1969 \begin_layout Standard1970 1971 { 1972 \end_layout 1973 1974 \begin_layout Standard1983 \begin_layout Plain Layout 1984 1985 { 1986 \end_layout 1987 1988 \begin_layout Plain Layout 1975 1989 1976 1990 Text "beta_"+IntText(iT) 1977 1991 \end_layout 1978 1992 1979 \begin_layout Standard1993 \begin_layout Plain Layout 1980 1994 1981 1995 }; … … 2003 2017 parametros de este segmentos. 2004 2018 En la sección 2005 \begin_inset LatexCommand ref 2019 \begin_inset CommandInset ref 2020 LatexCommand ref 2006 2021 reference "sec:Restricciones-en-BSR" 2007 2022 … … 2010 2025 se describe el API que debe satisfacerse. 2011 2026 En el modelo planetado en 2012 \begin_inset LatexCommand ref 2027 \begin_inset CommandInset ref 2028 LatexCommand ref 2013 2029 reference "eq:mod_exa_bsr" 2014 2030 … … 2025 2041 status open 2026 2042 2027 \begin_layout Standard2043 \begin_layout Plain Layout 2028 2044 2029 2045 NameBlock Get.Constraints.Handler(Real void) 2030 2046 \end_layout 2031 2047 2032 \begin_layout Standard2033 2034 { 2035 \end_layout 2036 2037 \begin_layout Standard2048 \begin_layout Plain Layout 2049 2050 { 2051 \end_layout 2052 2053 \begin_layout Plain Layout 2038 2054 2039 2055 NameBlock Explicit.Constraints([["0>=-beta_1+beta_2"]]) 2040 2056 \end_layout 2041 2057 2042 \begin_layout Standard2058 \begin_layout Plain Layout 2043 2059 2044 2060 }; … … 2052 2068 \begin_layout Section 2053 2069 Restricciones en BSR 2054 \begin_inset LatexCommand label 2070 \begin_inset CommandInset label 2071 LatexCommand label 2055 2072 name "sec:Restricciones-en-BSR" 2056 2073 … … 2089 2106 status open 2090 2107 2091 \begin_layout Standard2108 \begin_layout Plain Layout 2092 2109 2093 2110 //////////////////////////////////////////////////////////////////// 2094 2111 \end_layout 2095 2112 2096 \begin_layout Standard2113 \begin_layout Plain Layout 2097 2114 2098 2115 // Lower <= Upper 2099 2116 \end_layout 2100 2117 2101 \begin_layout Standard2118 \begin_layout Plain Layout 2102 2119 2103 2120 //////////////////////////////////////////////////////////////////// 2104 2121 \end_layout 2105 2122 2106 \begin_layout Standard2123 \begin_layout Plain Layout 2107 2124 2108 2125 Struct Bsr.OrderRelation.Info 2109 2126 \end_layout 2110 2127 2111 \begin_layout Standard2112 2113 { 2114 \end_layout 2115 2116 \begin_layout Standard2128 \begin_layout Plain Layout 2129 2130 { 2131 \end_layout 2132 2133 \begin_layout Plain Layout 2117 2134 2118 2135 Text Lower, //Left parameter 2119 2136 \end_layout 2120 2137 2121 \begin_layout Standard2138 \begin_layout Plain Layout 2122 2139 2123 2140 Text Upper //Right parameter 2124 2141 \end_layout 2125 2142 2126 \begin_layout Standard2143 \begin_layout Plain Layout 2127 2144 2128 2145 }; … … 2148 2165 status open 2149 2166 2150 \begin_layout Standard2167 \begin_layout Plain Layout 2151 2168 2152 2169 \family typewriter … … 2183 2200 status open 2184 2201 2185 \begin_layout Standard2202 \begin_layout Plain Layout 2186 2203 2187 2204 /////////////////////////////////////////////////////////////////// 2188 2205 \end_layout 2189 2206 2190 \begin_layout Standard2207 \begin_layout Plain Layout 2191 2208 2192 2209 // Coefficient * Parameter 2193 2210 \end_layout 2194 2211 2195 \begin_layout Standard2212 \begin_layout Plain Layout 2196 2213 2197 2214 ////////////////////////////////////////////////////////////////// 2198 2215 \end_layout 2199 2216 2200 \begin_layout Standard2217 \begin_layout Plain Layout 2201 2218 2202 2219 Struct Bsr.LinearCombTerm 2203 2220 \end_layout 2204 2221 2205 \begin_layout Standard2206 2207 { 2208 \end_layout 2209 2210 \begin_layout Standard2222 \begin_layout Plain Layout 2223 2224 { 2225 \end_layout 2226 2227 \begin_layout Plain Layout 2211 2228 2212 2229 Real Coefficient, 2213 2230 \end_layout 2214 2231 2215 \begin_layout Standard2232 \begin_layout Plain Layout 2216 2233 2217 2234 Text Parameter 2218 2235 \end_layout 2219 2236 2220 \begin_layout Standard2237 \begin_layout Plain Layout 2221 2238 2222 2239 }; … … 2237 2254 status open 2238 2255 2239 \begin_layout Standard2256 \begin_layout Plain Layout 2240 2257 2241 2258 /////////////////////////////////////////////////////////////////// 2242 2259 \end_layout 2243 2260 2244 \begin_layout Standard2261 \begin_layout Plain Layout 2245 2262 2246 2263 // LowerBound <= c_1*alfa_1 + ... … … 2248 2265 \end_layout 2249 2266 2250 \begin_layout Standard2267 \begin_layout Plain Layout 2251 2268 2252 2269 /////////////////////////////////////////////////////////////////// 2253 2270 \end_layout 2254 2271 2255 \begin_layout Standard2272 \begin_layout Plain Layout 2256 2273 2257 2274 Struct Bsr.GenericConstraint.Info 2258 2275 \end_layout 2259 2276 2260 \begin_layout Standard2261 2262 { 2263 \end_layout 2264 2265 \begin_layout Standard2277 \begin_layout Plain Layout 2278 2279 { 2280 \end_layout 2281 2282 \begin_layout Plain Layout 2266 2283 2267 2284 Real LowerBound, // cota inferior de la combinación lineal o -1/0 2268 2285 \end_layout 2269 2286 2270 \begin_layout Standard2287 \begin_layout Plain Layout 2271 2288 2272 2289 Set LinearComb, // un conjutno de Bsr.LinearCombTerm 2273 2290 \end_layout 2274 2291 2275 \begin_layout Standard2292 \begin_layout Plain Layout 2276 2293 2277 2294 Real UpperBound // cota superior de la combinación lineal o +1/0 2278 2295 \end_layout 2279 2296 2280 \begin_layout Standard2297 \begin_layout Plain Layout 2281 2298 2282 2299 }; … … 2313 2330 status open 2314 2331 2315 \begin_layout Standard2332 \begin_layout Plain Layout 2316 2333 2317 2334 Real Get.OrderRelation.Size (Real void) 2318 2335 \end_layout 2319 2336 2320 \begin_layout Standard2321 2322 { 2323 \end_layout 2324 2325 \begin_layout Standard2337 \begin_layout Plain Layout 2338 2339 { 2340 \end_layout 2341 2342 \begin_layout Plain Layout 2326 2343 2327 2344 Real 1 2328 2345 \end_layout 2329 2346 2330 \begin_layout Standard2347 \begin_layout Plain Layout 2331 2348 2332 2349 }; … … 2364 2381 status open 2365 2382 2366 \begin_layout Standard2383 \begin_layout Plain Layout 2367 2384 2368 2385 Set Get.OrderRelation (Real r) 2369 2386 \end_layout 2370 2387 2371 \begin_layout Standard2372 2373 { 2374 \end_layout 2375 2376 \begin_layout Standard2388 \begin_layout Plain Layout 2389 2390 { 2391 \end_layout 2392 2393 \begin_layout Plain Layout 2377 2394 2378 2395 Set Bsr.OrdeRelation.Info("beta_2","beta_1") 2379 2396 \end_layout 2380 2397 2381 \begin_layout Standard2398 \begin_layout Plain Layout 2382 2399 2383 2400 }; … … 2407 2424 status open 2408 2425 2409 \begin_layout Standard2426 \begin_layout Plain Layout 2410 2427 2411 2428 Real Get.GenericConstraint.Size (Real void) 2412 2429 \end_layout 2413 2430 2414 \begin_layout Standard2415 2416 { 2417 \end_layout 2418 2419 \begin_layout Standard2431 \begin_layout Plain Layout 2432 2433 { 2434 \end_layout 2435 2436 \begin_layout Plain Layout 2420 2437 2421 2438 Real 0 2422 2439 \end_layout 2423 2440 2424 \begin_layout Standard2441 \begin_layout Plain Layout 2425 2442 2426 2443 }; … … 2467 2484 status open 2468 2485 2469 \begin_layout Standard2486 \begin_layout Plain Layout 2470 2487 2471 2488 Set Get.GenericConstraint (Real r) 2472 2489 \end_layout 2473 2490 2474 \begin_layout Standard2475 2476 { 2477 \end_layout 2478 2479 \begin_layout Standard2491 \begin_layout Plain Layout 2492 2493 { 2494 \end_layout 2495 2496 \begin_layout Plain Layout 2480 2497 2481 2498 Set Bsr.GenericConstraint.Info 2482 2499 \end_layout 2483 2500 2484 \begin_layout Standard2501 \begin_layout Plain Layout 2485 2502 2486 2503 ( 0.0, 2487 2504 \end_layout 2488 2505 2489 \begin_layout Standard2506 \begin_layout Plain Layout 2490 2507 2491 2508 [[Set Bsr.LinearCombTerm(1.0, "beta_1"), 2492 2509 \end_layout 2493 2510 2494 \begin_layout Standard2511 \begin_layout Plain Layout 2495 2512 2496 2513 Set Bsr.LinearCombTerm(-1.0, "beta_2")]], 2497 2514 \end_layout 2498 2515 2499 \begin_layout Standard2516 \begin_layout Plain Layout 2500 2517 2501 2518 +1/0 ) 2502 2519 \end_layout 2503 2520 2504 \begin_layout Standard2521 \begin_layout Plain Layout 2505 2522 2506 2523 }; … … 2531 2548 status open 2532 2549 2533 \begin_layout Standard2550 \begin_layout Plain Layout 2534 2551 2535 2552 Real Get.ExplicitConstraint.Size(Real void) 2536 2553 \end_layout 2537 2554 2538 \begin_layout Standard2539 2540 { 2541 \end_layout 2542 2543 \begin_layout Standard2555 \begin_layout Plain Layout 2556 2557 { 2558 \end_layout 2559 2560 \begin_layout Plain Layout 2544 2561 2545 2562 Real 0 2546 2563 \end_layout 2547 2564 2548 \begin_layout Standard2565 \begin_layout Plain Layout 2549 2566 2550 2567 }; … … 2567 2584 status open 2568 2585 2569 \begin_layout Standard2586 \begin_layout Plain Layout 2570 2587 2571 2588 Text Get.ExplicitConstraint(Real r) 2572 2589 \end_layout 2573 2590 2574 \begin_layout Standard2575 2576 { 2577 \end_layout 2578 2579 \begin_layout Standard2591 \begin_layout Plain Layout 2592 2593 { 2594 \end_layout 2595 2596 \begin_layout Plain Layout 2580 2597 2581 2598 Text "" 2582 2599 \end_layout 2583 2600 2584 \begin_layout Standard2601 \begin_layout Plain Layout 2585 2602 2586 2603 }; … … 2621 2638 status open 2622 2639 2623 \begin_layout Standard2640 \begin_layout Plain Layout 2624 2641 2625 2642 NameBlock Order.Relations([[Bsr.OrdeRelation.Info("beta_2","beta_1")]]) … … 2651 2668 status open 2652 2669 2653 \begin_layout Standard2670 \begin_layout Plain Layout 2654 2671 2655 2672 NameBlock Generic.Constraints 2656 2673 \end_layout 2657 2674 2658 \begin_layout Standard2675 \begin_layout Plain Layout 2659 2676 2660 2677 ( 2661 2678 \end_layout 2662 2679 2663 \begin_layout Standard2680 \begin_layout Plain Layout 2664 2681 2665 2682 [[ 2666 2683 \end_layout 2667 2684 2668 \begin_layout Standard2685 \begin_layout Plain Layout 2669 2686 2670 2687 Bsr.GenericConstraint.Info 2671 2688 \end_layout 2672 2689 2673 \begin_layout Standard2690 \begin_layout Plain Layout 2674 2691 2675 2692 ( 0.0, 2676 2693 \end_layout 2677 2694 2678 \begin_layout Standard2695 \begin_layout Plain Layout 2679 2696 2680 2697 [[Set Bsr.LinearCombTerm(1.0, "beta_1"), 2681 2698 \end_layout 2682 2699 2683 \begin_layout Standard2700 \begin_layout Plain Layout 2684 2701 2685 2702 Set Bsr.LinearCombTerm(-1.0, "beta_2")]], 2686 2703 \end_layout 2687 2704 2688 \begin_layout Standard2705 \begin_layout Plain Layout 2689 2706 2690 2707 +1/0 ) 2691 2708 \end_layout 2692 2709 2693 \begin_layout Standard2710 \begin_layout Plain Layout 2694 2711 2695 2712 ]] 2696 2713 \end_layout 2697 2714 2698 \begin_layout Standard2715 \begin_layout Plain Layout 2699 2716 2700 2717 ) … … 2722 2739 status open 2723 2740 2724 \begin_layout Standard2741 \begin_layout Plain Layout 2725 2742 2726 2743 NameBlock Explicit.Constraints([["0<=+beta_1-beta_2"]]) … … 2749 2766 status open 2750 2767 2751 \begin_layout Standard2768 \begin_layout Plain Layout 2752 2769 2753 2770 NameBlock Constraints(Empty,Empty,[["0<=+beta_1-beta_2"]]) … … 2775 2792 status open 2776 2793 2777 \begin_layout Standard2794 \begin_layout Plain Layout 2778 2795 2779 2796 NameBlock Unconstrained(0) … … 2791 2808 \begin_layout Standard 2792 2809 El código completo para el ejemplo dado en las ecuaciones 2793 \begin_inset LatexCommand ref 2810 \begin_inset CommandInset ref 2811 LatexCommand ref 2794 2812 reference "eq:mod_exa_bsr" 2795 2813 … … 2805 2823 status open 2806 2824 2807 \begin_layout Standard2825 \begin_layout Plain Layout 2808 2826 2809 2827 NameBlock Build.Example.BSR(Text path.out, Text session.id, 2810 2828 \end_layout 2811 2829 2812 \begin_layout Standard2830 \begin_layout Plain Layout 2813 2831 2814 2832 Serie Y, Set X) 2815 2833 \end_layout 2816 2834 2817 \begin_layout Standard2818 2819 { 2820 \end_layout 2821 2822 \begin_layout Standard2835 \begin_layout Plain Layout 2836 2837 { 2838 \end_layout 2839 2840 \begin_layout Plain Layout 2823 2841 2824 2842 Real beta1 = Rand(-1,1); 2825 2843 \end_layout 2826 2844 2827 \begin_layout Standard2845 \begin_layout Plain Layout 2828 2846 2829 2847 Real beta2 = Rand(-1,beta1); 2830 2848 \end_layout 2831 2849 2832 \begin_layout Standard2850 \begin_layout Plain Layout 2833 2851 2834 2852 NameBlock [[ 2835 2853 \end_layout 2836 2854 2837 \begin_layout Standard2855 \begin_layout Plain Layout 2838 2856 2839 2857 Text _.path.out = path.out; 2840 2858 \end_layout 2841 2859 2842 \begin_layout Standard2860 \begin_layout Plain Layout 2843 2861 2844 2862 Text _.session.id = session.id; 2845 2863 \end_layout 2846 2864 2847 \begin_layout Standard2865 \begin_layout Plain Layout 2848 2866 2849 2867 NameBlock _.bsr.ARMA.2_1 = [[ 2850 2868 \end_layout 2851 2869 2852 \begin_layout Standard2870 \begin_layout Plain Layout 2853 2871 2854 2872 Text _.dating.name = DatingName(Y); 2855 2873 \end_layout 2856 2874 2857 \begin_layout Standard2875 \begin_layout Plain Layout 2858 2876 2859 2877 _.first = First(Y); 2860 2878 \end_layout 2861 2879 2862 \begin_layout Standard2880 \begin_layout Plain Layout 2863 2881 2864 2882 _.last = Last(Y), 2865 2883 \end_layout 2866 2884 2867 \begin_layout Standard2885 \begin_layout Plain Layout 2868 2886 2869 2887 Matrix _.Y = SerMat(Y); 2870 2888 \end_layout 2871 2889 2872 \begin_layout Standard2890 \begin_layout Plain Layout 2873 2891 2874 2892 Matrix _.X = SerSetMat(X); 2875 2893 \end_layout 2876 2894 2877 \begin_layout Standard2895 \begin_layout Plain Layout 2878 2896 2879 2897 Set _.beta.ini = [[beta1, beta2]]; 2880 2898 \end_layout 2881 2899 2882 \begin_layout Standard2883 2884 \end_layout 2885 2886 \begin_layout Standard2900 \begin_layout Plain Layout 2901 2902 \end_layout 2903 2904 \begin_layout Plain Layout 2887 2905 2888 2906 Text Get.Name(Real void) 2889 2907 \end_layout 2890 2908 2891 \begin_layout Standard2909 \begin_layout Plain Layout 2892 2910 2893 2911 { 2894 2912 \end_layout 2895 2913 2896 \begin_layout Standard2914 \begin_layout Plain Layout 2897 2915 2898 2916 Text "ObsY" 2899 2917 \end_layout 2900 2918 2901 \begin_layout Standard2919 \begin_layout Plain Layout 2902 2920 2903 2921 }; 2904 2922 \end_layout 2905 2923 2906 \begin_layout Standard2907 2908 \end_layout 2909 2910 \begin_layout Standard2924 \begin_layout Plain Layout 2925 2926 \end_layout 2927 2928 \begin_layout Plain Layout 2911 2929 2912 2930 Text Get.Sigma2(Real void) 2913 2931 \end_layout 2914 2932 2915 \begin_layout Standard2933 \begin_layout Plain Layout 2916 2934 2917 2935 { 2918 2936 \end_layout 2919 2937 2920 \begin_layout Standard2938 \begin_layout Plain Layout 2921 2939 2922 2940 Text "sigma2" 2923 2941 \end_layout 2924 2942 2925 \begin_layout Standard2943 \begin_layout Plain Layout 2926 2944 2927 2945 }; 2928 2946 \end_layout 2929 2947 2930 \begin_layout Standard2931 2932 \end_layout 2933 2934 \begin_layout Standard2948 \begin_layout Plain Layout 2949 2950 \end_layout 2951 2952 \begin_layout Plain Layout 2935 2953 2936 2954 Set Get.TimeInfo(Real void) 2937 2955 \end_layout 2938 2956 2939 \begin_layout Standard2957 \begin_layout Plain Layout 2940 2958 2941 2959 { 2942 2960 \end_layout 2943 2961 2944 \begin_layout Standard2962 \begin_layout Plain Layout 2945 2963 2946 2964 Set BSR.NoiseTimeInfo(TimeSet Eval(_.dating.name), _.first, _.last) 2947 2965 \end_layout 2948 2966 2949 \begin_layout Standard2967 \begin_layout Plain Layout 2950 2968 2951 2969 }; 2952 2970 \end_layout 2953 2971 2954 \begin_layout Standard2955 2956 \end_layout 2957 2958 \begin_layout Standard2972 \begin_layout Plain Layout 2973 2974 \end_layout 2975 2976 \begin_layout Plain Layout 2959 2977 2960 2978 Real Get.ARIMA.Size(Real void) 2961 2979 \end_layout 2962 2980 2963 \begin_layout Standard2981 \begin_layout Plain Layout 2964 2982 2965 2983 { 2966 2984 \end_layout 2967 2985 2968 \begin_layout Standard2986 \begin_layout Plain Layout 2969 2987 2970 2988 Real 1 2971 2989 \end_layout 2972 2990 2973 \begin_layout Standard2991 \begin_layout Plain Layout 2974 2992 2975 2993 }; 2976 2994 \end_layout 2977 2995 2978 \begin_layout Standard2979 2980 \end_layout 2981 2982 \begin_layout Standard2996 \begin_layout Plain Layout 2997 2998 \end_layout 2999 3000 \begin_layout Plain Layout 2983 3001 2984 3002 Set Get.ARIMA.Factor(Real f) 2985 3003 \end_layout 2986 3004 2987 \begin_layout Standard3005 \begin_layout Plain Layout 2988 3006 2989 3007 { 2990 3008 \end_layout 2991 3009 2992 \begin_layout Standard3010 \begin_layout Plain Layout 2993 3011 2994 3012 Set ARIMAStruct(1, 1-0.1*B-0.1*B^2, 1-0.1*B, 1) 2995 3013 \end_layout 2996 3014 2997 \begin_layout Standard3015 \begin_layout Plain Layout 2998 3016 2999 3017 }; 3000 3018 \end_layout 3001 3019 3002 \begin_layout Standard3003 3004 \end_layout 3005 3006 \begin_layout Standard3020 \begin_layout Plain Layout 3021 3022 \end_layout 3023 3024 \begin_layout Plain Layout 3007 3025 3008 3026 Real Get.Param.Size(Real void) 3009 3027 \end_layout 3010 3028 3011 \begin_layout Standard3029 \begin_layout Plain Layout 3012 3030 3013 3031 { 3014 3032 \end_layout 3015 3033 3016 \begin_layout Standard3034 \begin_layout Plain Layout 3017 3035 3018 3036 Real Rows(_.X) 3019 3037 \end_layout 3020 3038 3021 \begin_layout Standard3039 \begin_layout Plain Layout 3022 3040 3023 3041 }; 3024 3042 \end_layout 3025 3043 3026 \begin_layout Standard3027 3028 \end_layout 3029 3030 \begin_layout Standard3044 \begin_layout Plain Layout 3045 3046 \end_layout 3047 3048 \begin_layout Plain Layout 3031 3049 3032 3050 Set Get.Param(Real iP) 3033 3051 \end_layout 3034 3052 3035 \begin_layout Standard3053 \begin_layout Plain Layout 3036 3054 3037 3055 { 3038 3056 \end_layout 3039 3057 3040 \begin_layout Standard3058 \begin_layout Plain Layout 3041 3059 3042 3060 Real value = If(iP>2,Real Rand(-1,1),_.beta.ini[iP]); 3043 3061 \end_layout 3044 3062 3045 \begin_layout Standard3063 \begin_layout Plain Layout 3046 3064 3047 3065 Set Bsr.Param.Info("beta_"+IntText(iP), value, -1/0, 1/0) 3048 3066 \end_layout 3049 3067 3050 \begin_layout Standard3068 \begin_layout Plain Layout 3051 3069 3052 3070 }; 3053 3071 \end_layout 3054 3072 3055 \begin_layout Standard3056 3057 \end_layout 3058 3059 \begin_layout Standard3073 \begin_layout Plain Layout 3074 3075 \end_layout 3076 3077 \begin_layout Plain Layout 3060 3078 3061 3079 Real Get.Missing.Size(Real void) 3062 3080 \end_layout 3063 3081 3064 \begin_layout Standard3082 \begin_layout Plain Layout 3065 3083 3066 3084 { 3067 3085 \end_layout 3068 3086 3069 \begin_layout Standard3087 \begin_layout Plain Layout 3070 3088 3071 3089 Real 0 3072 3090 \end_layout 3073 3091 3074 \begin_layout Standard3092 \begin_layout Plain Layout 3075 3093 3076 3094 }; 3077 3095 \end_layout 3078 3096 3079 \begin_layout Standard3080 3081 \end_layout 3082 3083 \begin_layout Standard3097 \begin_layout Plain Layout 3098 3099 \end_layout 3100 3101 \begin_layout Plain Layout 3084 3102 3085 3103 Set Get.Missing(Real iP) 3086 3104 \end_layout 3087 3105 3088 \begin_layout Standard3106 \begin_layout Plain Layout 3089 3107 3090 3108 { 3091 3109 \end_layout 3092 3110 3093 \begin_layout Standard3111 \begin_layout Plain Layout 3094 3112 3095 3113 Set Empty 3096 3114 \end_layout 3097 3115 3098 \begin_layout Standard3116 \begin_layout Plain Layout 3099 3117 3100 3118 }; 3101 3119 \end_layout 3102 3120 3103 \begin_layout Standard3104 3105 \end_layout 3106 3107 \begin_layout Standard3121 \begin_layout Plain Layout 3122 3123 \end_layout 3124 3125 \begin_layout Plain Layout 3108 3126 3109 3127 Real Get.Equation.Size(Real void) 3110 3128 \end_layout 3111 3129 3112 \begin_layout Standard3130 \begin_layout Plain Layout 3113 3131 3114 3132 { 3115 3133 \end_layout 3116 3134 3117 \begin_layout Standard3135 \begin_layout Plain Layout 3118 3136 3119 3137 // _.X e _.Y están dispuestas por filas 3120 3138 \end_layout 3121 3139 3122 \begin_layout Standard3140 \begin_layout Plain Layout 3123 3141 3124 3142 Real Columns(_.X) 3125 3143 \end_layout 3126 3144 3127 \begin_layout Standard3145 \begin_layout Plain Layout 3128 3146 3129 3147 }; 3130 3148 \end_layout 3131 3149 3132 \begin_layout Standard3133 3134 \end_layout 3135 3136 \begin_layout Standard3150 \begin_layout Plain Layout 3151 3152 \end_layout 3153 3154 \begin_layout Plain Layout 3137 3155 3138 3156 Real Get.Equation.Output(Real iE) 3139 3157 \end_layout 3140 3158 3141 \begin_layout Standard3159 \begin_layout Plain Layout 3142 3160 3143 3161 { 3144 3162 \end_layout 3145 3163 3146 \begin_layout Standard3164 \begin_layout Plain Layout 3147 3165 3148 3166 Real MatDat(_.Y,1,iE) 3149 3167 \end_layout 3150 3168 3151 \begin_layout Standard3169 \begin_layout Plain Layout 3152 3170 3153 3171 }; 3154 3172 \end_layout 3155 3173 3156 \begin_layout Standard3157 3158 \end_layout 3159 3160 \begin_layout Standard3174 \begin_layout Plain Layout 3175 3176 \end_layout 3177 3178 \begin_layout Plain Layout 3161 3179 3162 3180 Real Get.Equation.Input.Size(Real iE) 3163 3181 \end_layout 3164 3182 3165 \begin_layout Standard3183 \begin_layout Plain Layout 3166 3184 3167 3185 { 3168 3186 \end_layout 3169 3187 3170 \begin_layout Standard3188 \begin_layout Plain Layout 3171 3189 3172 3190 Real Rows(_.X) 3173 3191 \end_layout 3174 3192 3175 \begin_layout Standard3193 \begin_layout Plain Layout 3176 3194 3177 3195 }; 3178 3196 \end_layout 3179 3197 3180 \begin_layout Standard3181 3182 \end_layout 3183 3184 \begin_layout Standard3198 \begin_layout Plain Layout 3199 3200 \end_layout 3201 3202 \begin_layout Plain Layout 3185 3203 3186 3204 Real Get.Equation.Input.Coef(Real iE, Real iT) 3187 3205 \end_layout 3188 3206 3189 \begin_layout Standard3207 \begin_layout Plain Layout 3190 3208 3191 3209 { 3192 3210 \end_layout 3193 3211 3194 \begin_layout Standard3212 \begin_layout Plain Layout 3195 3213 3196 3214 Real MatDat(_.X, iT,iE) 3197 3215 \end_layout 3198 3216 3199 \begin_layout Standard3217 \begin_layout Plain Layout 3200 3218 3201 3219 }; 3202 3220 \end_layout 3203 3221 3204 \begin_layout Standard3205 3206 \end_layout 3207 3208 \begin_layout Standard3222 \begin_layout Plain Layout 3223 3224 \end_layout 3225 3226 \begin_layout Plain Layout 3209 3227 3210 3228 Text Get.Equation.Input.Param(Real iE, Real iT) 3211 3229 \end_layout 3212 3230 3213 \begin_layout Standard3231 \begin_layout Plain Layout 3214 3232 3215 3233 { 3216 3234 \end_layout 3217 3235 3218 \begin_layout Standard3236 \begin_layout Plain Layout 3219 3237 3220 3238 Text "beta_"+IntText(iT) 3221 3239 \end_layout 3222 3240 3223 \begin_layout Standard3241 \begin_layout Plain Layout 3224 3242 3225 3243 }; 3226 3244 \end_layout 3227 3245 3228 \begin_layout Standard3229 3230 \end_layout 3231 3232 \begin_layout Standard3246 \begin_layout Plain Layout 3247 3248 \end_layout 3249 3250 \begin_layout Plain Layout 3233 3251 3234 3252 NameBlock Get.Constraints.Handler(Real void) 3235 3253 \end_layout 3236 3254 3237 \begin_layout Standard3255 \begin_layout Plain Layout 3238 3256 3239 3257 { 3240 3258 \end_layout 3241 3259 3242 \begin_layout Standard3260 \begin_layout Plain Layout 3243 3261 3244 3262 NameBlock BysMcmc::Bsr::Import::Explicit.Constraints([["0>=-beta1+beta2"] … … 3246 3264 \end_layout 3247 3265 3266 \begin_layout Plain Layout 3267 3268 } 3269 \end_layout 3270 3271 \begin_layout Plain Layout 3272 3273 ]]; 3274 \end_layout 3275 3276 \begin_layout Plain Layout 3277 3278 \end_layout 3279 3280 \begin_layout Plain Layout 3281 3282 Text Get.Doc.Model.Name(Real void) 3283 \end_layout 3284 3285 \begin_layout Plain Layout 3286 3287 { 3288 \end_layout 3289 3290 \begin_layout Plain Layout 3291 3292 Text "BSRExample" 3293 \end_layout 3294 3295 \begin_layout Plain Layout 3296 3297 }; 3298 \end_layout 3299 3300 \begin_layout Plain Layout 3301 3302 \end_layout 3303 3304 \begin_layout Plain Layout 3305 3306 Text Get.Doc.Model.Description(Real void) 3307 \end_layout 3308 3309 \begin_layout Plain Layout 3310 3311 { 3312 \end_layout 3313 3314 \begin_layout Plain Layout 3315 3316 Text "Modelo simple ARMA(2,1)" 3317 \end_layout 3318 3319 \begin_layout Plain Layout 3320 3321 }; 3322 \end_layout 3323 3324 \begin_layout Plain Layout 3325 3326 \end_layout 3327 3328 \begin_layout Plain Layout 3329 3330 Text Get.Doc.Session.Name(Real void) 3331 \end_layout 3332 3333 \begin_layout Plain Layout 3334 3335 { 3336 \end_layout 3337 3338 \begin_layout Plain Layout 3339 3340 Text _.session.id 3341 \end_layout 3342 3343 \begin_layout Plain Layout 3344 3345 }; 3346 \end_layout 3347 3348 \begin_layout Plain Layout 3349 3350 \end_layout 3351 3352 \begin_layout Plain Layout 3353 3354 Text Get.Doc.Session.Description(Real void) 3355 \end_layout 3356 3357 \begin_layout Plain Layout 3358 3359 { 3360 \end_layout 3361 3362 \begin_layout Plain Layout 3363 3364 Text "Session "+_.session.id+" para el modelo: " + 3365 \end_layout 3366 3367 \begin_layout Plain Layout 3368 3369 Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0) 3370 \end_layout 3371 3372 \begin_layout Plain Layout 3373 3374 }; 3375 \end_layout 3376 3377 \begin_layout Plain Layout 3378 3379 \end_layout 3380 3381 \begin_layout Plain Layout 3382 3383 Text Get.Doc.Session.Authors(Real void) 3384 \end_layout 3385 3386 \begin_layout Plain Layout 3387 3388 { 3389 \end_layout 3390 3391 \begin_layout Plain Layout 3392 3393 Text "user@bayesforecast.com" 3394 \end_layout 3395 3396 \begin_layout Plain Layout 3397 3398 }; 3399 \end_layout 3400 3401 \begin_layout Plain Layout 3402 3403 \end_layout 3404 3405 \begin_layout Plain Layout 3406 3407 Text Get.Doc.Path(Real void) 3408 \end_layout 3409 3410 \begin_layout Plain Layout 3411 3412 { 3413 \end_layout 3414 3415 \begin_layout Plain Layout 3416 3417 Text _.path.out 3418 \end_layout 3419 3420 \begin_layout Plain Layout 3421 3422 }; 3423 \end_layout 3424 3425 \begin_layout Plain Layout 3426 3427 \end_layout 3428 3429 \begin_layout Plain Layout 3430 3431 Real Get.LinReg.Size(Real void) 3432 \end_layout 3433 3434 \begin_layout Plain Layout 3435 3436 { 3437 \end_layout 3438 3439 \begin_layout Plain Layout 3440 3441 // para el ejemplo actual solo tenemos un segmento de regresión 3442 \end_layout 3443 3444 \begin_layout Plain Layout 3445 3446 Real 1 3447 \end_layout 3448 3449 \begin_layout Plain Layout 3450 3451 }; 3452 \end_layout 3453 3454 \begin_layout Plain Layout 3455 3456 \end_layout 3457 3458 \begin_layout Plain Layout 3459 3460 NameBlock Get.LinReg.Segment(Real iS) 3461 \end_layout 3462 3463 \begin_layout Plain Layout 3464 3465 { 3466 \end_layout 3467 3468 \begin_layout Plain Layout 3469 3470 // en este caso retornamos el NameBlock para el único segmento 3471 \end_layout 3472 3473 \begin_layout Plain Layout 3474 3475 // que se modela para mas de un segmento de regresión se suele 3476 \end_layout 3477 3478 \begin_layout Plain Layout 3479 3480 // usar un Set que es indexado por iS: _bsr.blocks[iS] 3481 \end_layout 3482 3483 \begin_layout Plain Layout 3484 3485 NameBlock _.bsr.ARMA.2_1 3486 \end_layout 3487 3488 \begin_layout Plain Layout 3489 3490 }; 3491 \end_layout 3492 3493 \begin_layout Plain Layout 3494 3495 \end_layout 3496 3497 \begin_layout Plain Layout 3498 3499 NameBlock Get.Constraints.Handler(Real void) 3500 \end_layout 3501 3502 \begin_layout Plain Layout 3503 3504 { 3505 \end_layout 3506 3507 \begin_layout Plain Layout 3508 3509 // retornamos un NameBlock predefinido para el caso 3510 \end_layout 3511 3512 \begin_layout Plain Layout 3513 3514 // no restringido 3515 \end_layout 3516 3517 \begin_layout Plain Layout 3518 3519 NameBlock BysMcmc::Bsr::Import::Unconstrained(0) 3520 \end_layout 3521 3522 \begin_layout Plain Layout 3523 3524 } 3525 \end_layout 3526 3527 \begin_layout Plain Layout 3528 3529 ]] 3530 \end_layout 3531 3532 \begin_layout Plain Layout 3533 3534 }; 3535 \end_layout 3536 3537 \end_inset 3538 3539 3540 \end_layout 3541 3542 \begin_layout Section 3543 API modular 3544 \end_layout 3545 3248 3546 \begin_layout Standard 3249 3250 } 3547 Como se ha visto anteriormente 3548 \begin_inset CommandInset ref 3549 LatexCommand ref 3550 reference "sec:API-modular" 3551 3552 \end_inset 3553 3554 , desde la versión 2.0.1 de TOL es posible definir un modelo BSR de forma 3555 modular. 3556 Para que el Import sea capaz de crear este tipo de expresión de modeos 3557 se le han añadido una serie métodos que entrarán en acción si el NameBlock 3558 de definición del usuario implementa a su vez los siguientes métodos opcionales 3559 \end_layout 3560 3561 \begin_layout Description 3562 Get.ModuleType retorna el tipo de módulo que puede ser 3563 \begin_inset Quotes eld 3564 \end_inset 3565 3566 primary 3567 \begin_inset Quotes erd 3568 \end_inset 3569 3570 , 3571 \begin_inset Quotes erd 3572 \end_inset 3573 3574 joint 3575 \begin_inset Quotes erd 3576 \end_inset 3577 3578 o 3579 \begin_inset Quotes eld 3580 \end_inset 3581 3582 master 3583 \begin_inset Quotes erd 3584 \end_inset 3585 3586 . 3587 Si no existe método se sobreentiende 3588 \begin_inset Quotes eld 3589 \end_inset 3590 3591 joint 3592 \begin_inset Quotes erd 3593 \end_inset 3594 3595 para guardar compatibilidad hacia atrás 3596 \begin_inset listings 3597 lstparams "basicstyle={\small\ttfamily}" 3598 inline false 3599 status open 3600 3601 \begin_layout Plain Layout 3602 3603 Text Get.ModuleType(Real unused) 3604 \end_layout 3605 3606 \end_inset 3607 3608 3251 3609 \end_layout 3252 3610 3253 3611 \begin_layout Standard 3254 3255 ]]; 3612 Si se trata de un módulo de tipo 3613 \begin_inset Quotes eld 3614 \end_inset 3615 3616 master 3617 \begin_inset Quotes erd 3618 \end_inset 3619 3620 , entonces deberá implementar estos métodos en lugar de los definidos en 3621 la sección anterior y que corresponden al actual 3622 \begin_inset Quotes eld 3623 \end_inset 3624 3625 joint 3626 \begin_inset Quotes erd 3627 \end_inset 3628 3629 3630 \end_layout 3631 3632 \begin_layout Description 3633 Get.Modular.Schema retorna el esquema modular o modo en el que se resolverán 3634 las simulaciones que puede ser 3635 \begin_inset Quotes eld 3636 \end_inset 3637 3638 monophasic 3639 \begin_inset Quotes erd 3640 \end_inset 3641 3642 , 3643 \begin_inset Quotes eld 3644 \end_inset 3645 3646 sequential 3647 \begin_inset Quotes erd 3648 \end_inset 3649 3650 ó 3651 \begin_inset Quotes eld 3652 \end_inset 3653 3654 parallel 3655 \begin_inset Quotes erd 3656 \end_inset 3657 3658 3659 \begin_inset listings 3660 lstparams "basicstyle={\small\ttfamily}" 3661 inline false 3662 status open 3663 3664 \begin_layout Plain Layout 3665 3666 Text Get.Modular.Schema(Real unused) 3667 \end_layout 3668 3669 \end_inset 3670 3671 3672 \end_layout 3673 3674 \begin_layout Description 3675 Get.Modules retorna el conjunto de módulos, cada uno de los cuales es un 3676 NameBlock utilizable a su vez por el Import de forma recursiva 3677 \begin_inset listings 3678 lstparams "basicstyle={\small\ttfamily}" 3679 inline false 3680 status open 3681 3682 \begin_layout Plain Layout 3683 3684 Set Get.Modules(Real unused) 3685 \end_layout 3686 3687 \end_inset 3688 3689 3256 3690 \end_layout 3257 3691 3258 3692 \begin_layout Standard 3693 Si se trata de un módulo de tipo 3694 \begin_inset Quotes eld 3695 \end_inset 3696 3697 primary 3698 \begin_inset Quotes erd 3699 \end_inset 3700 3701 , entonces sólo puede tener un segmento el cual debe tener estos métodos 3702 en lugar de los descritos en la sección Get.Equation.Output, Get.Equation.Input.Size 3703 , Get.Equation.Input.Coef y Get.Equation.Input.Param 3704 \end_layout 3705 3706 \begin_layout Description 3707 Get.OutputVMatrix devuelve la matriz de output del segmento de regresión 3708 3709 \begin_inset listings 3710 lstparams "basicstyle={\small\ttfamily}" 3711 inline false 3712 status open 3713 3714 \begin_layout Plain Layout 3715 3716 VMatrix Get.OutputVMatrix(Real unused) 3717 \end_layout 3718 3719 \end_inset 3720 3721 3722 \end_layout 3723 3724 \begin_layout Description 3725 Get.InputVMatrix devuelve la matriz de input del segmento de regresión 3726 \begin_inset listings 3727 lstparams "basicstyle={\small\ttfamily}" 3728 inline false 3729 status open 3730 3731 \begin_layout Plain Layout 3732 3733 VMatrix Get.InputVMatrix(Real unused) 3734 \end_layout 3735 3736 \end_inset 3737 3259 3738 3260 3739 \end_layout 3261 3740 3262 3741 \begin_layout Standard 3263 3264 Text Get.Doc.Model.Name(Real void)3742 El método Get.Equation.Size se mantiene porque el reconocedor sintáctico no 3743 va a caragr la matriz y desconoce por tanto sus dimensiones. 3265 3744 \end_layout 3266 3745 3267 3746 \begin_layout Standard 3268 3269 { 3270 \end_layout 3271 3272 \begin_layout Standard 3273 3274 Text "BSRExample" 3275 \end_layout 3276 3277 \begin_layout Standard 3278 3279 }; 3280 \end_layout 3281 3282 \begin_layout Standard 3283 3284 \end_layout 3285 3286 \begin_layout Standard 3287 3288 Text Get.Doc.Model.Description(Real void) 3289 \end_layout 3290 3291 \begin_layout Standard 3292 3293 { 3294 \end_layout 3295 3296 \begin_layout Standard 3297 3298 Text "Modelo simple ARMA(2,1)" 3299 \end_layout 3300 3301 \begin_layout Standard 3302 3303 }; 3304 \end_layout 3305 3306 \begin_layout Standard 3307 3308 \end_layout 3309 3310 \begin_layout Standard 3311 3312 Text Get.Doc.Session.Name(Real void) 3313 \end_layout 3314 3315 \begin_layout Standard 3316 3317 { 3318 \end_layout 3319 3320 \begin_layout Standard 3321 3322 Text _.session.id 3323 \end_layout 3324 3325 \begin_layout Standard 3326 3327 }; 3328 \end_layout 3329 3330 \begin_layout Standard 3331 3332 \end_layout 3333 3334 \begin_layout Standard 3335 3336 Text Get.Doc.Session.Description(Real void) 3337 \end_layout 3338 3339 \begin_layout Standard 3340 3341 { 3342 \end_layout 3343 3344 \begin_layout Standard 3345 3346 Text "Session "+_.session.id+" para el modelo: " + 3347 \end_layout 3348 3349 \begin_layout Standard 3350 3351 Get.Doc.Model.Name(0) + " " + Get.Doc.Model.Description(0) 3352 \end_layout 3353 3354 \begin_layout Standard 3355 3356 }; 3357 \end_layout 3358 3359 \begin_layout Standard 3360 3361 \end_layout 3362 3363 \begin_layout Standard 3364 3365 Text Get.Doc.Session.Authors(Real void) 3366 \end_layout 3367 3368 \begin_layout Standard 3369 3370 { 3371 \end_layout 3372 3373 \begin_layout Standard 3374 3375 Text "user@bayesforecast.com" 3376 \end_layout 3377 3378 \begin_layout Standard 3379 3380 }; 3381 \end_layout 3382 3383 \begin_layout Standard 3384 3385 \end_layout 3386 3387 \begin_layout Standard 3388 3389 Text Get.Doc.Path(Real void) 3390 \end_layout 3391 3392 \begin_layout Standard 3393 3394 { 3395 \end_layout 3396 3397 \begin_layout Standard 3398 3399 Text _.path.out 3400 \end_layout 3401 3402 \begin_layout Standard 3403 3404 }; 3405 \end_layout 3406 3407 \begin_layout Standard 3408 3409 \end_layout 3410 3411 \begin_layout Standard 3412 3413 Real Get.LinReg.Size(Real void) 3414 \end_layout 3415 3416 \begin_layout Standard 3417 3418 { 3419 \end_layout 3420 3421 \begin_layout Standard 3422 3423 // para el ejemplo actual solo tenemos un segmento de regresión 3424 \end_layout 3425 3426 \begin_layout Standard 3427 3428 Real 1 3429 \end_layout 3430 3431 \begin_layout Standard 3432 3433 }; 3434 \end_layout 3435 3436 \begin_layout Standard 3437 3438 \end_layout 3439 3440 \begin_layout Standard 3441 3442 NameBlock Get.LinReg.Segment(Real iS) 3443 \end_layout 3444 3445 \begin_layout Standard 3446 3447 { 3448 \end_layout 3449 3450 \begin_layout Standard 3451 3452 // en este caso retornamos el NameBlock para el único segmento 3453 \end_layout 3454 3455 \begin_layout Standard 3456 3457 // que se modela para mas de un segmento de regresión se suele 3458 \end_layout 3459 3460 \begin_layout Standard 3461 3462 // usar un Set que es indexado por iS: _bsr.blocks[iS] 3463 \end_layout 3464 3465 \begin_layout Standard 3466 3467 NameBlock _.bsr.ARMA.2_1 3468 \end_layout 3469 3470 \begin_layout Standard 3471 3472 }; 3473 \end_layout 3474 3475 \begin_layout Standard 3476 3477 \end_layout 3478 3479 \begin_layout Standard 3480 3481 NameBlock Get.Constraints.Handler(Real void) 3482 \end_layout 3483 3484 \begin_layout Standard 3485 3486 { 3487 \end_layout 3488 3489 \begin_layout Standard 3490 3491 // retornamos un NameBlock predefinido para el caso 3492 \end_layout 3493 3494 \begin_layout Standard 3495 3496 // no restringido 3497 \end_layout 3498 3499 \begin_layout Standard 3500 3501 NameBlock BysMcmc::Bsr::Import::Unconstrained(0) 3502 \end_layout 3503 3504 \begin_layout Standard 3505 3506 } 3507 \end_layout 3508 3509 \begin_layout Standard 3510 3511 ]] 3512 \end_layout 3513 3514 \begin_layout Standard 3515 3516 }; 3747 Tanto en los módulos 3748 \begin_inset Quotes eld 3749 \end_inset 3750 3751 primary 3752 \begin_inset Quotes erd 3753 \end_inset 3754 3755 como en los 3756 \begin_inset Quotes eld 3757 \end_inset 3758 3759 joint 3760 \begin_inset Quotes erd 3761 \end_inset 3762 3763 los segmentos pueden ahora añadir la información referida a los fitrosno 3764 lineales que antes se introducÃan a BSR de forma externa. 3765 Para ello se deberá definir el método 3766 \end_layout 3767 3768 \begin_layout Description 3769 Get.NonLinearFilters Devuelve un conjunto de NameBlock's cada uno de los 3770 cuales define un filtro no lineal sobre el mismo segmento 3771 \begin_inset listings 3772 lstparams "basicstyle={\small\ttfamily}" 3773 inline false 3774 status open 3775 3776 \begin_layout Plain Layout 3777 3778 Set Get.NonLinearFilters(Real unused) 3517 3779 \end_layout 3518 3780
Note: See TracChangeset
for help on using the changeset viewer.
