Repository navigation
Commit ac51a59
sampler: thread survival flag through CompiledModel.sample
Under compile_model(..., survival=True) the likelihood interprets
leaves as S(T) = 1 - F(T) and scores the copula on the joint survival
function. The samplers ignored this: both _sample_once (Marshall-Olkin)
and _sample_once_rosenblatt produced U_leaves jointly distributed as
the copula, then _reconstruct_obs_from_marginals inverted via
F^{-1}(U) regardless of the flag — so synthetic data came from a
distribution with correct marginals but with the copula applied to F
rather than S, swapping the tails relative to the model the
likelihood was optimised for.
Fix: persist survival on CompiledModel, thread to both samplers,
forward to _reconstruct_obs_from_marginals -> _marginal_quantiles_chunked
where the per-leaf inversion becomes F^{-1}(1 - U) when survival=True.
Adds 5 round-trip tests covering both sampler methods, the flag
plumbing, and a behavioural likelihood-vs-sample consistency check.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 858ed27 commit ac51a59
3 files changed
Lines changed: 177 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
212 | 218 | | |
213 | 219 | | |
214 | 220 | | |
215 | 221 | | |
216 | 222 | | |
217 | 223 | | |
| 224 | + | |
218 | 225 | | |
219 | 226 | | |
220 | 227 | | |
| |||
267 | 274 | | |
268 | 275 | | |
269 | 276 | | |
270 | | - | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
271 | 284 | | |
272 | 285 | | |
273 | 286 | | |
| |||
276 | 289 | | |
277 | 290 | | |
278 | 291 | | |
| 292 | + | |
279 | 293 | | |
280 | 294 | | |
281 | 295 | | |
282 | 296 | | |
283 | 297 | | |
| 298 | + | |
284 | 299 | | |
285 | 300 | | |
286 | 301 | | |
| |||
391 | 406 | | |
392 | 407 | | |
393 | 408 | | |
| 409 | + | |
394 | 410 | | |
395 | 411 | | |
396 | 412 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
461 | 461 | | |
462 | 462 | | |
463 | 463 | | |
| 464 | + | |
464 | 465 | | |
465 | 466 | | |
466 | 467 | | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
467 | 474 | | |
468 | 475 | | |
469 | 476 | | |
| |||
514 | 521 | | |
515 | 522 | | |
516 | 523 | | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
517 | 527 | | |
518 | 528 | | |
519 | 529 | | |
520 | 530 | | |
521 | | - | |
| 531 | + | |
522 | 532 | | |
523 | 533 | | |
524 | 534 | | |
| |||
530 | 540 | | |
531 | 541 | | |
532 | 542 | | |
533 | | - | |
| 543 | + | |
534 | 544 | | |
535 | 545 | | |
536 | 546 | | |
| |||
562 | 572 | | |
563 | 573 | | |
564 | 574 | | |
| 575 | + | |
565 | 576 | | |
566 | 577 | | |
567 | 578 | | |
| |||
575 | 586 | | |
576 | 587 | | |
577 | 588 | | |
| 589 | + | |
578 | 590 | | |
579 | 591 | | |
580 | 592 | | |
| |||
1658 | 1670 | | |
1659 | 1671 | | |
1660 | 1672 | | |
| 1673 | + | |
1661 | 1674 | | |
1662 | 1675 | | |
1663 | 1676 | | |
| |||
1667 | 1680 | | |
1668 | 1681 | | |
1669 | 1682 | | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
1670 | 1689 | | |
1671 | 1690 | | |
1672 | 1691 | | |
| |||
1725 | 1744 | | |
1726 | 1745 | | |
1727 | 1746 | | |
1728 | | - | |
| 1747 | + | |
1729 | 1748 | | |
1730 | 1749 | | |
1731 | 1750 | | |
| |||
2405 | 2424 | | |
2406 | 2425 | | |
2407 | 2426 | | |
| 2427 | + | |
2408 | 2428 | | |
2409 | 2429 | | |
2410 | 2430 | | |
| |||
2450 | 2470 | | |
2451 | 2471 | | |
2452 | 2472 | | |
2453 | | - | |
| 2473 | + | |
2454 | 2474 | | |
2455 | 2475 | | |
2456 | 2476 | | |
| |||
2669 | 2689 | | |
2670 | 2690 | | |
2671 | 2691 | | |
2672 | | - | |
| 2692 | + | |
2673 | 2693 | | |
2674 | 2694 | | |
2675 | 2695 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
0 commit comments