forked from amarquand/PCNtoolkit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PCNtoolkit.drawio
909 lines (909 loc) · 185 KB
/
PCNtoolkit.drawio
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
<mxfile host="app.diagrams.net" modified="2023-12-14T16:19:42.271Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0" etag="7v8iRgN4lM7NtKm6qzru" version="22.1.8" type="github" pages="2">
<diagram id="4-HiFznOBndP52qhTeto" name="0.29">
<mxGraphModel dx="4629" dy="3858" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="12FiOEISK3NdoC9pGbq8-1" value="normative.py" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2189" y="-1530" width="990" height="264" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-2" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ fit(covfile, respfile, **kwargs) -&gt; NormBase
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(covfile, respfile, **kwargs) -&gt; Union[None, NormBase]
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(covfile, respfile, maskfile = None, **kwargs) -&gt;Union[None., tuple(2), tuple(3), tuple(4)]
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ transfer(covfile, respfile, testcov=None, testresp=None, maskfile=None, **kwargs) -&gt; Union[None, tuple(2), tuple(3)]
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ extend(covfile, respfile, maskfile=None, **kwargs) -&gt; None
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ tune(covfile, respfile, maskfile, **kwargs) -&gt; None
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ merge(covfile=None, respfile=None, **kwargs) -&gt; None
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">----
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ load_response_vars(datafile, maskfile=None, vol=True) -&gt; tuple(3)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ get_args(*args) -&gt; tuple(many)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ evaluate(**many_kwargs) -&gt; dict</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-1" vertex="1">
<mxGeometry y="28" width="990" height="236" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-3" value="NormBase" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#e3fae3;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#e3fae3;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2040" y="-1095" width="270" height="144" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-4" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, X, y)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, Xs, X, y)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params(self, Xs, X, y)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ save(self, path) -&gt; Bool
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ load(self, path) -&gt; NormBase</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#e3fae3;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-3" vertex="1">
<mxGeometry y="28" width="270" height="116" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-5" value="NormBLR" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-3120" y="-660" width="330" height="354" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-6" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ optim_alg
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ D
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ var_covariates
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ var_groups
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ use_ard
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ warp
</span></span></div><div style="display: flex; justify-content: center; text-align: center; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_n_params
+ \_model_order
+ theta_0
+ theta
+ blr</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-5" vertex="1">
<mxGeometry y="28" width="330" height="232" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-7" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-5" vertex="1">
<mxGeometry y="260" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-8" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, X, y) -&gt; NormBLR
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, Xs, X, y) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params(self, Xs, X, y) -&gt;int
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ neg_log_lik(self) -&gt; float</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-5" vertex="1">
<mxGeometry y="268" width="330" height="86" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="GWDVljGCS3kR" id="12FiOEISK3NdoC9pGbq8-9">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;overflow=block;blockSpacing=1;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=0.5;exitY=-0.002;exitPerimeter=0;entryX=0.099;entryY=1.005;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-5" target="12FiOEISK3NdoC9pGbq8-3" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-10" value="BLR" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-3120" y="-222" width="330" height="821.5" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-11" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ hyp
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ nlZ
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ tol
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_iter
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ verbose
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ var_groups
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ hetero_var
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ var_ids
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ warp
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_warp_param
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ warp_reparam
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ gamma
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ Sigma_a
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ lambda_n_vec
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ Lambda_a
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ A
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ m
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ N
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ D
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dnlZ</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-10" vertex="1">
<mxGeometry y="28" width="330" height="395" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-12" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-10" vertex="1">
<mxGeometry y="423" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-13" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_parse_hyps(self, hyp, X, Xv=None) -&gt; tuple(3)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ post(self, hyp, X, y, Xv=None) -&gt; None
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ loglik(self, hyp, X, y, Xv=None) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ penalized_loglik(self, hyp, X, y, Xv=None, l=0.1, norm='L1') -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dloglik(self, hyp, X, y, Xv) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;"><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, hyp0, X, y, **kwargs) -&gt; Union[List, </span><a href="http://np.ndarray]"><span style="font-size:16.7px;color:#3a414a;">np.ndarray]</span></a>
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, hyp, X, y, Xs, var_groups_test=None, var_covariates_test=None, **kwargs) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict_and_adjust(self, hyp, X, y, Xs, ys, var_groups_test, var_groups_adapt, **kwargs) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;"> </span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-10" vertex="1">
<mxGeometry y="431" width="330" height="390.5" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="Q1DVNaWYESA9" id="12FiOEISK3NdoC9pGbq8-14">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;overflow=block;blockSpacing=1;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=0;endSize=16;exitX=0.5;exitY=-0.001;exitPerimeter=0;entryX=0.5;entryY=1.002;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-10" target="12FiOEISK3NdoC9pGbq8-5" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-15" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-14" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-16" value="1" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-14" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-17" value="NormGPR" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2625" y="-660" width="330" height="219" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-18" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ covfunc
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ theta0
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ theta
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_n_params
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ gpr</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-17" vertex="1">
<mxGeometry y="28" width="330" height="104" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-19" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-17" vertex="1">
<mxGeometry y="132" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-20" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params(self) -&gt; int
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ neg_log_lik(self) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, X, y) -&gt; NormGPR
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, Xs, X, y) -&gt; tuple(2)</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-17" vertex="1">
<mxGeometry y="140" width="330" height="79" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="DaEVVuIDs.VU" id="12FiOEISK3NdoC9pGbq8-21">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=0.5;exitY=-0.003;exitPerimeter=0;entryX=0.271;entryY=1.005;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-17" target="12FiOEISK3NdoC9pGbq8-3" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<UserObject label="" lucidchartObjectId="7dEVy~0Lwxgf" id="12FiOEISK3NdoC9pGbq8-22">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=0;endSize=16;exitX=0.5;exitY=-0.002;exitPerimeter=0;entryX=0.5;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-25" target="12FiOEISK3NdoC9pGbq8-17" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-23" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-22" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-24" value="1" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-22" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-25" value="GPR" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2625" y="-330" width="330" height="400.5" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-26" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ hyp
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ nlZ 
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ tol
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_iter
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ verbose
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ warp
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_warp_param
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ gamma
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ covfunc: CovBase</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-25" vertex="1">
<mxGeometry y="28" width="330" height="183" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-27" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-25" vertex="1">
<mxGeometry y="211" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-28" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ _updatepost(self, hyp, covfunc) -&gt; bool
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ post(self, hyp, covfunc, X, y) -&gt; None
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ loglik(self, hyp, covfunc, X, y) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dloglik(self, hyp, covfunc, X, y) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, hyp0, covfunc, X, y, optimizer = 'cg') -&gt; np.ndarray
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, hyp, X, y, Xs) -&gt; tuple(2)</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-25" vertex="1">
<mxGeometry y="219" width="330" height="181.5" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-29" value="CovBase" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#e3fae3;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#e3fae3;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2835" y="713" width="330" height="245.68855411475073" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-30" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ covfuncs
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ N
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ D</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#e3fae3;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-29" vertex="1">
<mxGeometry y="28" width="330" height="96" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-31" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-29" vertex="1">
<mxGeometry y="124" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-32" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ cov(self, theta, x, z=None) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dcov(self, theta, x, i) -&gt;float</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#e3fae3;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-29" vertex="1">
<mxGeometry y="132" width="330" height="113.68855411475074" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="_jEVJl.3t~C6" id="12FiOEISK3NdoC9pGbq8-33">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=0;endSize=16;exitX=0.534;exitY=-0.003;exitPerimeter=0;entryX=0.277;entryY=1.002;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-29" target="12FiOEISK3NdoC9pGbq8-25" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-34" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-33" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-35" value="1..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-33" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-36" value="CovLin" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-3120" y="1326" width="345" height="122" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-37" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ first_call</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-36" vertex="1">
<mxGeometry y="28" width="345" height="54" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-38" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-36" vertex="1">
<mxGeometry y="82" width="345" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-39" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ cov(self, theta, x, z=None) -&gt;float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dcov(self, theta, x, i) -&gt; Err</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-36" vertex="1">
<mxGeometry y="90" width="345" height="32" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="ImEViMeupR7a" id="12FiOEISK3NdoC9pGbq8-40">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.547;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-36" target="12FiOEISK3NdoC9pGbq8-29" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-41" value="CovSqExp" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-3120" y="1521" width="345" height="129" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-42" value="+ n_params" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-41" vertex="1">
<mxGeometry y="28" width="345" height="32" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-43" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-41" vertex="1">
<mxGeometry y="60" width="345" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-44" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ cov(self, theta, x, z=None) -&gt;float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dcov(self, theta, x, i) -&gt; Union[float, Err]</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-41" vertex="1">
<mxGeometry y="68" width="345" height="61" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="0oEVfmsID1oB" id="12FiOEISK3NdoC9pGbq8-45">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.675;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-41" target="12FiOEISK3NdoC9pGbq8-29" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-46" value="CovSqExpARD" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-3120" y="1697" width="345" height="160" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-47" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ D
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ ell
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ sf2</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-46" vertex="1">
<mxGeometry y="28" width="345" height="74" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-48" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-46" vertex="1">
<mxGeometry y="102" width="345" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-49" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ cov(self, theta, x, z=None) -&gt;float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dcov(self, theta, x, i) -&gt; Union[float, Err]</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-46" vertex="1">
<mxGeometry y="110" width="345" height="50" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="CuEV3u7sUDXJ" id="12FiOEISK3NdoC9pGbq8-50">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.799;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-46" target="12FiOEISK3NdoC9pGbq8-29" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-51" value="CovSum" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-3120" y="1101" width="345" height="160" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-52" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ covfuncs
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ N
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ D</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-51" vertex="1">
<mxGeometry y="28" width="345" height="74" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-53" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-51" vertex="1">
<mxGeometry y="102" width="345" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-54" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ cov(self, theta, x, z=None) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dcov(self, theta, x, i) -&gt; float</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-51" vertex="1">
<mxGeometry y="110" width="345" height="50" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="2uEV8baVem5G" id="12FiOEISK3NdoC9pGbq8-55">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.405;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-51" target="12FiOEISK3NdoC9pGbq8-29" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-56" value="NormHBR" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1050" y="-660" width="480" height="490" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-57" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ configs
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ hbr</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-56" vertex="1">
<mxGeometry y="28" width="480" height="52" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-58" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-56" vertex="1">
<mxGeometry y="80" width="480" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-59" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params(self) -&gt; 1
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ neg_log_lik(self) -&gt; -1
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, X, y, **kwargs) -&gt; NormHBR
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, Xs, X, Y, **kwargs) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate_on_new_sites(self, X, y, batch_effects) -&gt; NormHBR
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict_on_new_sites(self, X, batch_effects) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ extend(self, X, y, batch_effects, X_dummy_ranges=[[0.1, 0.9, 0.01]], merge_batch_dim = 0, samples=10, informative_prior = False) -&gt; NormHBR
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ tune(self, X, y, batch_effects, X_dummy_ranges=[[0.1, 0.9, 0.09]], merge_batch_dim, samples=10, informative_prior=False) -&gt; NormHBR
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ merge(self, nm, X_dummy_ranges=[[0.1, 0.9, 0.01]], merge_batch_dim=0, samples=10) -&gt; NormHBR
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ generate(self, X, batch_effects, samples=10) -&gt; tuple(3)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ get_mcmc_quantiles(self, X, batch_effects=None, z_scores=None) -&gt; np.ndarray
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ get_mcmc_zscores(self, X, y, **kwargs) -&gt; np.ndarray
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-56" vertex="1">
<mxGeometry y="88" width="480" height="402" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="tmHVk8hhZH8c" id="12FiOEISK3NdoC9pGbq8-60">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=0.5;exitY=-0.002;exitPerimeter=0;entryX=0.774;entryY=1.005;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-56" target="12FiOEISK3NdoC9pGbq8-3" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-61" value="HBR" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1148" y="30" width="675" height="381.5" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-62" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ bsp
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ model_type
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ configs</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-61" vertex="1">
<mxGeometry y="28" width="675" height="64" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-63" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-61" vertex="1">
<mxGeometry y="92" width="675" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-64" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ get_modeler(self) -&gt; func
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;"><span style="font-size:16.7px;color:#3a414a;">+ transform_X(self, X) -&gt; </span><a href="http://np.ndarray"><span style="font-size:16.7px;color:#3a414a;">np.ndarray</span></a>
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;"><span style="font-size:16.7px;color:#3a414a;">+ find_map(self, X, y, batch_effects, method="L_BFGS-B") -&gt; </span><a href="http://xarray.Dararray"><span style="font-size:16.7px;color:#3a414a;">xarray.Da</span></a><a href="http://xarray.Dararray"><span style="font-size:16.7px;color:#3a414a;">t</span></a><a href="http://xarray.Dararray"><span style="font-size:16.7px;color:#3a414a;">array</span></a>
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;"><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, X, y, batch_effects) -&gt; </span><a href="http://arviz.InferenceData"><span style="font-size:16.7px;color:#3a414a;">arviz.InferenceData</span></a>
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, X, batch_effects, batch_effects_maps, pred='single', var_names =None,**kwargs) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate_on_new_site(self, X, y, batch_effects) -&gt; arviz.InferenceData
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict_on_new_site(self, X, batch_effects) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ generate(self, X, batch_effects, samples) -&gt; tuple(3)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ sample_prior_predictive(self, X, batch_effects, samples, y=None, idata=None) -&gt; arviz.InferenceData
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ get_model(self, X, y, batch_effects) -&gt; pymc.Model
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ create_dummy_inputs(self, covariate_ranges=[[0.1, 0.9, 0.01]]) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ Rhats(self, var_names, thin=1, resolution=100) -&gt; rhat_dict
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-61" vertex="1">
<mxGeometry y="100" width="675" height="281.5" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="juHVe9sG8arD" id="12FiOEISK3NdoC9pGbq8-65">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=0;endSize=16;exitX=0.5;exitY=-0.002;exitPerimeter=0;entryX=0.5;entryY=1.002;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-61" target="12FiOEISK3NdoC9pGbq8-56" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-66" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-65" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-67" value="1" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-65" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-68" value="NormNP" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2165" y="-660" width="375" height="318" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-69" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ configparam
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ args
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ encoder
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ decoder
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ model
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ scaler
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ reg</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-68" vertex="1">
<mxGeometry y="28" width="375" height="154" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-70" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-68" vertex="1">
<mxGeometry y="182" width="375" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-71" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params(self) -&gt; 1
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ neg_log_lik(self) -&gt; -1
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, X, y) -&gt; NormNP
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, Xs, X=None, Y=None, theta=None) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-68" vertex="1">
<mxGeometry y="190" width="375" height="128" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-72" value="Encoder" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2210" y="-257" width="300" height="228" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-73" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ r_dim
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ z_dim
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ hidden_neuron_num
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ h_1
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ h_2
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ h_3</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-72" vertex="1">
<mxGeometry y="28" width="300" height="132" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-74" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-72" vertex="1">
<mxGeometry y="160" width="300" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-75" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;"><span style="font-size:16.7px;color:#3a414a;">+ forward(self, x, y) -&gt; </span><a href="http://torch.tensor"><span style="font-size:16.7px;color:#3a414a;">torch.tensor</span></a> (?)</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-72" vertex="1">
<mxGeometry y="168" width="300" height="60" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-76" value="Decoder" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2210" y="30" width="300" height="265" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-77" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ r_dim
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ z_dim
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ hidden_neuron_num
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ g_1
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ g_2
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ g_3
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ g_1_84
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ g_2_84
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ g_3_84</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-76" vertex="1">
<mxGeometry y="28" width="300" height="182" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-78" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-76" vertex="1">
<mxGeometry y="210" width="300" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-79" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;"><span style="font-size:16.7px;color:#3a414a;">+ forward(self, z_sample) -&gt; </span><a href="http://torch.tensor"><span style="font-size:16.7px;color:#3a414a;">t</span></a>uple(2)</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-76" vertex="1">
<mxGeometry y="218" width="300" height="47" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="erVVerzGvgsu" id="12FiOEISK3NdoC9pGbq8-80">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=0;endSize=16;exitX=0.5;exitY=-0.004;exitPerimeter=0;entryX=0.28;entryY=1.002;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-72" target="12FiOEISK3NdoC9pGbq8-68" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-81" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-80" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-82" value="1" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-80" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<UserObject label="" lucidchartObjectId="HrVVasN1SV2t" id="12FiOEISK3NdoC9pGbq8-83">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=0;endSize=16;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.835;entryY=1.002;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-76" target="12FiOEISK3NdoC9pGbq8-68" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-84" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-83" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-85" value="1" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-83" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-86" value="WarpBase" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#e3fae3;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#e3fae3;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2189" y="711" width="330" height="265.68855411475073" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-87" value="+ n_params" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#e3fae3;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-86" vertex="1">
<mxGeometry y="28" width="330" height="106" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-88" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-86" vertex="1">
<mxGeometry y="134" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-89" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ get_n_params(self) -&gt; int
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ warp_predictions(self, mu, s2, param, percentiles=[0.025, 0.975]) -&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ f(self, x, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ invf(self, y, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ df(self, x, param)\</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#e3fae3;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-86" vertex="1">
<mxGeometry y="142" width="330" height="123.68855411475074" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-90" value="WarpLog" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2398" y="1326" width="330" height="122" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-91" value="+ n_params" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-90" vertex="1">
<mxGeometry y="28" width="330" height="54" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-92" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-90" vertex="1">
<mxGeometry y="82" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-93" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ f(self, x, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ invf(self, y, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ df(self, x, param)\</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-90" vertex="1">
<mxGeometry y="90" width="330" height="32" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="zwVVX9~y6sQR" id="12FiOEISK3NdoC9pGbq8-94">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.585;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-90" target="12FiOEISK3NdoC9pGbq8-86" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-95" value="WarpAffine" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2398" y="1491" width="330" height="141" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-96" value="+ n_params" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-95" vertex="1">
<mxGeometry y="28" width="330" height="64" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-97" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-95" vertex="1">
<mxGeometry y="92" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-98" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_get_params(self, param)-&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ f(self, x, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ invf(self, y, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ df(self, x, param)\</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-95" vertex="1">
<mxGeometry y="100" width="330" height="41" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="KxVVZCjUY7aY" id="12FiOEISK3NdoC9pGbq8-99">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.698;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-95" target="12FiOEISK3NdoC9pGbq8-86" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-100" value="WarpBoxCox" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2398" y="1676" width="330" height="141" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-101" value="+ n_params" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-100" vertex="1">
<mxGeometry y="28" width="330" height="64" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-102" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-100" vertex="1">
<mxGeometry y="92" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-103" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_get_params(self, param)-&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ f(self, x, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ invf(self, y, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ df(self, x, param)\</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-100" vertex="1">
<mxGeometry y="100" width="330" height="41" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="lzVVxTdv4fOq" id="12FiOEISK3NdoC9pGbq8-104">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.787;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-100" target="12FiOEISK3NdoC9pGbq8-86" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-105" value="WarpSinhArcsinh" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2398" y="1862" width="330" height="141" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-106" value="+ n_params" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-105" vertex="1">
<mxGeometry y="28" width="330" height="64" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-107" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-105" vertex="1">
<mxGeometry y="92" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-108" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_get_params(self, param)-&gt; tuple(2)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ f(self, x, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ invf(self, y, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ df(self, x, param)\</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-105" vertex="1">
<mxGeometry y="100" width="330" height="41" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="jAVVosaIo9k-" id="12FiOEISK3NdoC9pGbq8-109">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.9;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-105" target="12FiOEISK3NdoC9pGbq8-86" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-110" value="WarpCompose" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-2398" y="1086" width="330" height="180" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-111" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ debugwarp
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ warps
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-110" vertex="1">
<mxGeometry y="28" width="330" height="84" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-112" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-110" vertex="1">
<mxGeometry y="112" width="330" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-113" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ f(self, x, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ invf(self, y, param)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ df(self, x, param)\</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-110" vertex="1">
<mxGeometry y="120" width="330" height="60" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="gBVVQshoOYE." id="12FiOEISK3NdoC9pGbq8-114">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.5;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-110" target="12FiOEISK3NdoC9pGbq8-86" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<UserObject label="" lucidchartObjectId="YBVVpIZYvJ-Y" id="12FiOEISK3NdoC9pGbq8-115">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=1;endSize=16;exitX=0.176;exitY=1.003;exitPerimeter=0;entryX=0.5;entryY=-0.004;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-86" target="12FiOEISK3NdoC9pGbq8-110" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-116" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-115" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-117" value="1..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-115" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<UserObject label="" lucidchartObjectId="uEVV3.mQF5jR" id="12FiOEISK3NdoC9pGbq8-118">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=1;endSize=16;exitX=0.233;exitY=1.003;exitPerimeter=0;entryX=0.72;entryY=-0.004;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-29" target="12FiOEISK3NdoC9pGbq8-51" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-119" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-118" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-120" value="1..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-118" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<UserObject label="" lucidchartObjectId="_EVVimTBPIxj" id="12FiOEISK3NdoC9pGbq8-121">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=0;endSize=16;exitX=0.5;exitY=-0.003;exitPerimeter=0;entryX=0.721;entryY=1.002;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-86" target="12FiOEISK3NdoC9pGbq8-25" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-122" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-121" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-123" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-121" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<UserObject label="" lucidchartObjectId="wHVVrLsSP3jv" id="12FiOEISK3NdoC9pGbq8-124">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=0.631;exitY=-0.002;exitPerimeter=0;entryX=0.411;entryY=1.005;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-68" target="12FiOEISK3NdoC9pGbq8-3" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-125" value="NormRFA" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1695" y="-660" width="375" height="249" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-126" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ gprrfa
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_n_params
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ theta0
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ theta</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-125" vertex="1">
<mxGeometry y="28" width="375" height="104" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-127" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-125" vertex="1">
<mxGeometry y="132" width="375" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-128" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_params(self) -&gt; 1
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ neg_log_lik(self) -&gt; -1
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, X, y) -&gt; NormRFA
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, Xs, X=None, Y=None, theta=None) -&gt; tuple(2)</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-125" vertex="1">
<mxGeometry y="140" width="375" height="109" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="oIVV~N2nQDLN" id="12FiOEISK3NdoC9pGbq8-129">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=0.5;exitY=-0.003;exitPerimeter=0;entryX=0.6;entryY=1.005;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-125" target="12FiOEISK3NdoC9pGbq8-3" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-130" value="GPRRFA" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#edf5ff;startSize=28;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#edf5ff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1770" y="-240" width="525" height="511.5" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-131" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ hyp
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ nlZ 
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ tol
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ Nf
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ n_iter
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ verbose
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ N
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ Dx
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ Omega
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ Phi
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ A
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ m
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_iterations
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_optim_failed
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ hyp0</span></span></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-130" vertex="1">
<mxGeometry y="28" width="525" height="314" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-132" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-130" vertex="1">
<mxGeometry y="342" width="525" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-133" value="<div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ _updatepost(self, hyp, covfunc) -&gt; bool
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ \_numpy2torch(self, X, y=None, hyp=None) -&gt; tuple(3)
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ get_n_params(self, X) -&gt; int
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ post(self, hyp, covfunc, X, y) -&gt; None
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ loglik(self, hyp, covfunc, X, y) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ dloglik(self, hyp, covfunc, X, y) -&gt; float
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ estimate(self, hyp0, covfunc, X, y, optimizer = 'cg') -&gt; np.ndarray
</span></span></div><div style="display: flex; justify-content: null; text-align: null; align-items: baseline; font-size: 0; line-height: 1.25;margin-top: -2px;"><span><span style="font-size:16.7px;color:#3a414a;">+ predict(self, hyp, X, y, Xs) -&gt; tuple(2)</span></span></div>" style="part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#edf5ff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;overflow=block;blockSpacing=1;html=1;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-130" vertex="1">
<mxGeometry y="350" width="525" height="161.5" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="SPVVE6NiwEsp" id="12FiOEISK3NdoC9pGbq8-134">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=diamond;endFill=0;endSize=16;exitX=0.5;exitY=-0.001;exitPerimeter=0;entryX=0.5;entryY=1.003;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-130" target="12FiOEISK3NdoC9pGbq8-125" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-135" value="0..*" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-134" vertex="1">
<mxGeometry x="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-136" value="1" style="text;html=1;resizable=0;labelBackgroundColor=default;align=center;verticalAlign=middle;fontSize=13;" parent="12FiOEISK3NdoC9pGbq8-134" vertex="1">
<mxGeometry x="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<UserObject label="" lucidchartObjectId="jWVV0e0PqeYV" id="12FiOEISK3NdoC9pGbq8-137">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=1;exitX=0.5;exitY=1.002;exitPerimeter=0;entryX=0.5;entryY=-0.002;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-61" target="12FiOEISK3NdoC9pGbq8-138" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-138" value="ParamBuilder" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=25;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1072" y="555" width="495" height="370.25" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-139" value="+ model
+ X
+ n_basis_functions
+ y
+ batch_effects
+ idata
+ configs
+ y_shape
+ n_ys
+ batch_effects_num
+ batch_effect_dim_names
+ batch_effect_indices
+ coords" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-138" vertex="1">
<mxGeometry y="25" width="495" height="287" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-140" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-138" vertex="1">
<mxGeometry y="312" width="495" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-141" value="+ make_param(self, name, **kwargs) -&gt; Parameterization" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-138" vertex="1">
<mxGeometry y="320" width="495" height="50.25" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="EZVVgCMU.PZJ" id="12FiOEISK3NdoC9pGbq8-142">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=1;exitX=0.5;exitY=1.002;exitPerimeter=0;entryX=0.5;entryY=-0.006;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-138" target="12FiOEISK3NdoC9pGbq8-143" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-143" value="Parameterization" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#e3fae3;startSize=25;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#e3fae3;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-960" y="1050" width="270" height="148.25" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-144" value="+ name" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#e3fae3;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-143" vertex="1">
<mxGeometry y="25" width="270" height="52" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-145" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-143" vertex="1">
<mxGeometry y="77" width="270" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-146" value="+ get_samples(self, pb)" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#e3fae3;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-143" vertex="1">
<mxGeometry y="85" width="270" height="63.25" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="c0VVGU30aB5q" id="12FiOEISK3NdoC9pGbq8-147">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=block;startFill=0;endArrow=none;exitX=0.152;exitY=1.006;exitPerimeter=0;entryX=0.834;entryY=-0.006;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-143" target="12FiOEISK3NdoC9pGbq8-148" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-148" value="FixedParameterization" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=25;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1170" y="1373" width="270" height="114" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-149" value="+ dist" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-148" vertex="1">
<mxGeometry y="25" width="270" height="32" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-150" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-148" vertex="1">
<mxGeometry y="57" width="270" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-151" value="+ get_samples(self, pb) -&gt; np.ndarray" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-148" vertex="1">
<mxGeometry y="65" width="270" height="49" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-152" value="CentralRandomFixedParameterization" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=25;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1200" y="1521" width="315" height="144" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-153" value="+ dist" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-152" vertex="1">
<mxGeometry y="25" width="315" height="46" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-154" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-152" vertex="1">
<mxGeometry y="71" width="315" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-155" value="+ get_samples(self, pb) -&gt; np.ndarray" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-152" vertex="1">
<mxGeometry y="79" width="315" height="65" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="S1VVJxpNxeSq" id="12FiOEISK3NdoC9pGbq8-156">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.306;entryY=1.006;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-152" target="12FiOEISK3NdoC9pGbq8-143" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-157" value="NonCentralRandomFixedParameterization" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=25;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1275" y="1680" width="375" height="105" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-158" value="+ dist" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-157" vertex="1">
<mxGeometry y="25" width="375" height="36" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-159" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-157" vertex="1">
<mxGeometry y="61" width="375" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-160" value="+ get_samples(self, pb) -&gt; np.ndarray" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-157" vertex="1">
<mxGeometry y="69" width="375" height="36" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-161" value="NonCentralRandomFixedParameterization" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=25;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-1275" y="1815" width="375" height="135" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-162" value="+ slope_parameterization
+ intercept_parameterization" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-161" vertex="1">
<mxGeometry y="25" width="375" height="51" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-163" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-161" vertex="1">
<mxGeometry y="76" width="375" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-164" value="+ get_samples(self, pb) -&gt; np.ndarray" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-161" vertex="1">
<mxGeometry y="84" width="375" height="51" as="geometry" />
</mxCell>
<UserObject label="" lucidchartObjectId="O2VVLjWUvTw0" id="12FiOEISK3NdoC9pGbq8-165">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.5;entryY=1.006;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-157" target="12FiOEISK3NdoC9pGbq8-143" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<UserObject label="" lucidchartObjectId="W2VVM3DyoVsn" id="12FiOEISK3NdoC9pGbq8-166">
<mxCell style="html=1;jettySize=18;whiteSpace=wrap;fontSize=13;strokeColor=#3a414a;strokeOpacity=100;dashed=1;fixDash=1;strokeWidth=0.8;rounded=1;arcSize=12;edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=block;endFill=0;exitX=1.002;exitY=0.5;exitPerimeter=0;entryX=0.678;entryY=1.006;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-161" target="12FiOEISK3NdoC9pGbq8-143" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
</UserObject>
<mxCell id="12FiOEISK3NdoC9pGbq8-171" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.011;entryY=1.094;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="12FiOEISK3NdoC9pGbq8-144" target="12FiOEISK3NdoC9pGbq8-173" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-520" y="1101" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-172" value="<div>Prior</div>" style="html=1;overflow=block;blockSpacing=1;swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;swimlaneFillColor=#ffffff;startSize=25;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;align=left;spacing=0;strokeColor=#3a414a;strokeOpacity=100;fillOpacity=100;rounded=1;absoluteArcSize=1;arcSize=9;fillColor=#ffffff;strokeWidth=1.5;" parent="1" vertex="1">
<mxGeometry x="-540" y="1040" width="310" height="225" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-173" value="<div>+ dist</div><div>+ name</div><div>+ has_random_effect</div><div>+ distmap</div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-172" vertex="1">
<mxGeometry y="25" width="310" height="102" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-174" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="12FiOEISK3NdoC9pGbq8-172" vertex="1">
<mxGeometry y="127" width="310" height="8" as="geometry" />
</mxCell>
<mxCell id="12FiOEISK3NdoC9pGbq8-175" value="<div>+ make_dist(self, dist, params, pb) -&gt; None</div><div>+ __getitem__(self, idx) -&gt; pymc.thingy<br></div><div><br></div><div><br></div>" style="part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;swimlaneFillColor=#ffffff;strokeOpacity=100;fillOpacity=100;whiteSpace=wrap;fontSize=16.7;fontColor=#3a414a;" parent="12FiOEISK3NdoC9pGbq8-172" vertex="1">
<mxGeometry y="135" width="310" height="90" as="geometry" />
</mxCell>
<mxCell id="6aXyEzsI4UH9x5-hvr-i-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=0.51;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=diamondThin;endFill=0;strokeWidth=1;" edge="1" parent="1" source="12FiOEISK3NdoC9pGbq8-86" target="12FiOEISK3NdoC9pGbq8-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="qq85L3UZBrmE3l4PtW7_" name="0.30">
<mxGraphModel dx="1636" dy="2567" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="uSW-sqyGPiUXCIfXmXX4-42" value="BLR module" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="2530" y="645" width="350" height="495" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-41" value="HBR module" style="shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="2110" y="650" width="350" height="490" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.25;entryY=1;entryDx=0;entryDy=0;dashed=1;endArrow=blockThin;endFill=0;exitX=0.186;exitY=-0.021;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="fUcIlm6X4udEt8HHChlU-47" target="fUcIlm6X4udEt8HHChlU-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-47" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>MinMaxScaler</b></p><hr size="1"><div style="height:2px;"></div><div>&nbsp;+ limits: Union[tuple[float, float], Dict[String, tuple[float, float]]]<br>&nbsp;+ coef_dict: Dict[String, tuple[float, float]]<br></div><div>&nbsp;+ is_fitted: bool<br></div><hr size="1"><div style="height:2px;"><br></div><div style="height:2px;">&nbsp;+ fit(NormData, NormVars): NormData<br>&nbsp;+ transform(NormData, NormVars): NormData<br>&nbsp;+ fit_transform(NormData, NormVars): NormData<br>&nbsp;+ inverse_transform(NormData, NormVars): NormData<br></div><div style="height:2px;"><br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1185" y="910" width="345" height="160" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-6" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>NormData</b><br></p><hr size="1">&nbsp;+ vars: NormVars<br>&nbsp;+ applied_transformations: Dict[String, List[String]]<br><hr size="1"><div>&nbsp;+ <u>from_csv(cls, path, NormVars)</u>: NormData<br></div><div>&nbsp;+ <u>from_fsl(cls, path, NormVars)</u>: NormData</div><div>&nbsp;+ <u>from_fslvbm(cls, path, NormVars)</u>: NormData</div><div>&nbsp;+ <u> from_freesurfer(cls, path, NormVars)</u>: NormData</div><div>&nbsp;+ split(split_ratios, stratify, seed): List[NormData]</div><div><br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1185" y="50" width="410" height="170" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-8" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="fUcIlm6X4udEt8HHChlU-6" target="fUcIlm6X4udEt8HHChlU-12">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="1280" y="160" as="sourcePoint" />
<mxPoint x="1390" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-12" value="<b>Xarray.Dataset</b>" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1330" y="-70" width="120" height="50" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-13" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>NormVars<br>&lt;dataclass&gt;<br></b></p><hr size="1"><div style="height:2px;">&nbsp;+ covars: List[String]<br>&nbsp;+ respvars: List[String]<br>&nbsp;+ groupvars: List[String]<br></div><div style="height:2px;"><br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1680" y="50" width="230" height="100" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-17" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=1.004;entryY=0.323;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryPerimeter=0;" edge="1" parent="1" source="fUcIlm6X4udEt8HHChlU-13" target="fUcIlm6X4udEt8HHChlU-6">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="1800" y="250" as="sourcePoint" />
<mxPoint x="1660" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=0;dashed=1;entryX=0.206;entryY=1.05;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="fUcIlm6X4udEt8HHChlU-25" target="uSW-sqyGPiUXCIfXmXX4-51">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1207.35" y="762.72" as="targetPoint" />
<Array as="points">
<mxPoint x="1207" y="780" />
<mxPoint x="1200" y="780" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-25" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>InvertibleTransformation<br>&lt;abstract&gt;<br></b></p><hr size="1"><div style="height:2px;">+ inverse_transform(NormData, NormVars): NormData<br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="1130" y="800" width="310" height="70" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;endArrow=blockThin;endFill=0;dashed=1;exitX=0.483;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="fUcIlm6X4udEt8HHChlU-27" target="uSW-sqyGPiUXCIfXmXX4-51">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1392.5" y="760" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-27" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>NonInvertibleTransformation<br>&lt;abstract&gt;<br></b></p><hr size="1"><div style="height:2px;"><br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="1525" y="800" width="300" height="70" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.112;exitY=0.014;exitDx=0;exitDy=0;entryX=0.113;entryY=0.996;entryDx=0;entryDy=0;dashed=1;endArrow=blockThin;endFill=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="fUcIlm6X4udEt8HHChlU-41" target="fUcIlm6X4udEt8HHChlU-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1284.9999999999998" y="870" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-41" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>StandardScaler</b></p><hr size="1"><div style="height:2px;"></div>&nbsp;+ coef_dict: Dict[String, tuple(float, float)]<br>&nbsp;+ is_fitted: bool<br><hr size="1"><div style="height:2px;"><br></div><div style="height:2px;">&nbsp;+ fit(NormData, NormVars): NormData<br>&nbsp;+ transform(NormData, NormVars): NormData<br>&nbsp;+ fit_transform(NormData, NormVars): NormData<br>&nbsp;+ inverse_transform(NormData, NormVars): NormData<br></div><div style="height:2px;"><br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1130" y="1080" width="310" height="140" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;endArrow=blockThin;endFill=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="fUcIlm6X4udEt8HHChlU-43" target="fUcIlm6X4udEt8HHChlU-27">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-43" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>BSplineBasisExpansion</b></p><hr size="1"><div style="height:2px;"></div>&nbsp;+ degree: int<br>&nbsp;+ coef_dict: Dict[String, tuple[floats]]<br><hr size="1"><div style="height:2px;"><br></div><div style="height:2px;">&nbsp;+ fit(NormData, NormVars): NormData<br>&nbsp;+ transform(NormData, NormVars): NormData<br>&nbsp;+ fit_transform(NormData, NormVars): NormData<br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1580" y="950" width="300" height="130" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-42" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>PolynomialBasisExpansion</b></p><hr size="1"><div style="height:2px;"></div>&nbsp;+ degree: int<br><hr size="1"><div style="height:2px;">&nbsp;+ transform(NormData, NormVars): NormData<br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1525" y="1100" width="300" height="90" as="geometry" />
</mxCell>
<mxCell id="fUcIlm6X4udEt8HHChlU-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.13;entryY=1.015;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.13;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;dashed=1;endArrow=blockThin;endFill=0;" edge="1" parent="1" source="fUcIlm6X4udEt8HHChlU-42" target="fUcIlm6X4udEt8HHChlU-27">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-1" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>NormBase</b></p><p style="margin:0px;margin-top:4px;text-align:center;"><b>&lt;abstract&gt;</b><br></p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ normative_config: NormConf<br>&nbsp;+ model_config: ModelConf</p><p style="margin:0px;margin-left:4px;">&nbsp;+ model<br></p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ <u>fit(NormData)</u> : NormBase<br>&nbsp;+ predict(NormData) : NormData<br>&nbsp;+ <u>fit_predict(NormData)</u> : NormBase, NormData<br>&nbsp;+ save(path) : None<br>&nbsp;+ <u>load(cls, path)</u> : NormBase<br>&nbsp;+ evaluate(NormData, metrics)<br>&nbsp;+ get_quantiles(NormData)<br>&nbsp;+ get_zscores(NormData)<br>&nbsp;+ log_params() &lt;- use MLflow<br>&nbsp;+ log_results()&nbsp; &lt;- use MLflow<br></p><p style="margin:0px;margin-left:4px;">&nbsp;+ ...</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="2160" y="20" width="280" height="270" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-9" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>NormConf<br>&lt;dataclass&gt;</b></p><hr size="1"><p style="margin:0px;margin-left:4px;">*general parameters for normative models*<br></p><hr size="1"><p style="margin:0px;margin-left:4px;">+ __post_init__(self): checks for parameter incompatibility<br>+ <u>load(cls, path):</u> NormConf<br>+ save(self, path): None<br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2580" y="40" width="280" height="140" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-12" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ModelConf<br>&lt;abstract dataclass&gt;<br></b></p><hr size="1"><div style="height:2px;">&nbsp;+ __post_init__(self): checks for parameter incompatibility<br>&nbsp;+ <u>load(cls, path)</u>: ModelConf<br>&nbsp;+ save(self, path): None<br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="3000" y="650" width="280" height="120" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-16" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-9" target="uSW-sqyGPiUXCIfXmXX4-1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2390" y="180" as="sourcePoint" />
<mxPoint x="2550" y="180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-18" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>NormHBR</b><br></p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ normative_config: NormConf<br>&nbsp;+ model_config: HBRConf</p><p style="margin:0px;margin-left:4px;">&nbsp;+ model: HBR<br></p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ <u>fit(NormData)</u> : NormHBR<br>&nbsp;+ predict(NormData) : NormData<br>&nbsp;+ <u>fit_predict(NormData)</u> : NormHBR, NormData<br>&nbsp;+ save(path) : None<br>&nbsp;+ <u>load(NormHBR, path)</u> : NormHBR<br>&nbsp;+ evaluate(NormData, metrics)<br>&nbsp;+ get_quantiles(NormData)<br>&nbsp;+ get_zscores(NormData)<br>&nbsp;+ ...</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2160" y="360" width="280" height="230" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-20" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-18" target="uSW-sqyGPiUXCIfXmXX4-1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2140" y="320" as="sourcePoint" />
<mxPoint x="2310" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-22" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>HBRConf<br>&lt;dataclass&gt;</b><br></p><hr size="1"><p style="margin:0px;margin-left:4px;">*all config parameters for HBR models*<br></p><hr size="1"><p style="margin:0px;margin-left:4px;">+ __post_init__(self): checks for parameter incompatibility<br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2160" y="840" width="280" height="120" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-23" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>HBR</b><br></p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ _conf: HBRConf</p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ *all HBR model methods* </p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2160" y="680" width="280" height="90" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-25" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.25;entryY=1;entryDx=0;entryDy=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-23" target="uSW-sqyGPiUXCIfXmXX4-18">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2370" y="680" as="sourcePoint" />
<mxPoint x="2530" y="680" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-26" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.25;entryY=1;entryDx=0;entryDy=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-22" target="uSW-sqyGPiUXCIfXmXX4-23">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2370" y="680" as="sourcePoint" />
<mxPoint x="2530" y="680" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-27" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>NormBLR</b><br></p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ normative_config: NormConf<br>&nbsp;+ model_config: BLRConf</p><p style="margin:0px;margin-left:4px;">&nbsp;+ model: BLR<br></p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ <u>fit(NormData)</u> : NormBLR<br>&nbsp;+ predict(NormData) : NormData<br>&nbsp;+ <u>fit_predict(NormData)</u> : NormBLR, NormData<br>&nbsp;+ save(path) : None<br>&nbsp;+ <u>load(NormBLR, path)</u> : NormBLR<br>&nbsp;+ evaluate(NormData, metrics)<br>&nbsp;+ get_quantiles(NormData)<br>&nbsp;+ get_zscores(NormData)<br>&nbsp;+ ...</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2580" y="360" width="280" height="230" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-28" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>BLRConf<br>&lt;dataclass&gt;</b><br></p><hr size="1"><p style="margin:0px;margin-left:4px;">*all config parameters for BLR models*<br></p><hr size="1"><p style="margin:0px;margin-left:4px;">+ __post_init__(self): checks for parameter incompatibility<br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2580" y="840" width="280" height="120" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-29" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>BLR</b><br></p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ _conf: BLRConf</p><hr size="1"><p style="margin:0px;margin-left:4px;">&nbsp;+ *all BLR-specific methods*<br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2580" y="680" width="280" height="90" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-31" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.25;entryY=1;entryDx=0;entryDy=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-29" target="uSW-sqyGPiUXCIfXmXX4-27">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2740" y="690" as="sourcePoint" />
<mxPoint x="2710" y="660" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-32" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.25;entryY=1;entryDx=0;entryDy=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-28" target="uSW-sqyGPiUXCIfXmXX4-29">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2680" y="1060" as="sourcePoint" />
<mxPoint x="2680" y="980" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-38" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-22" target="uSW-sqyGPiUXCIfXmXX4-12">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2700" y="670" as="sourcePoint" />
<mxPoint x="2860" y="670" as="targetPoint" />
<Array as="points">
<mxPoint x="2500" y="890" />
<mxPoint x="2500" y="1180" />
<mxPoint x="3210" y="1180" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-40" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-28" target="uSW-sqyGPiUXCIfXmXX4-12">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2760" y="670" as="sourcePoint" />
<mxPoint x="2920" y="670" as="targetPoint" />
<Array as="points">
<mxPoint x="3070" y="890" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-43" target="uSW-sqyGPiUXCIfXmXX4-23">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="2140" y="1055" />
<mxPoint x="2140" y="725" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-43" value="HBR-specific utils and other HBR dependencies" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2160" y="1010" width="280" height="90" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-44" target="uSW-sqyGPiUXCIfXmXX4-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-44" value="BLR-specific utils and other BLR dependencies" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="2580" y="1010" width="280" height="90" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-48" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-12" target="uSW-sqyGPiUXCIfXmXX4-1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2500" y="510" as="sourcePoint" />
<mxPoint x="2660" y="510" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-49" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.75;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-27" target="uSW-sqyGPiUXCIfXmXX4-1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="2500" y="510" as="sourcePoint" />
<mxPoint x="2660" y="510" as="targetPoint" />
<Array as="points">
<mxPoint x="2720" y="330" />
<mxPoint x="2370" y="330" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-50" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Pipeline</b></p><hr size="1"><p style="margin:0px;margin-left:4px;">+ steps: List[Transformation]<br></p><hr size="1">+ transform(data:NormData, apply_to: NormVars) -&gt; NormData<br>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1130" y="480" width="340" height="90" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-51" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Transformation<br>&lt;abstract&gt;<br></b></p><hr size="1"><div>&nbsp;+ name: String<br></div><hr size="1"><div style="height:2px;">&nbsp;+ transform(data: NormData: apply_to: NormVars): NormData<br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="1130" y="645" width="340" height="100" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-54" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-51" target="uSW-sqyGPiUXCIfXmXX4-50">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="1410" y="630" as="sourcePoint" />
<mxPoint x="1570" y="630" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.278;entryY=1.008;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-50" target="fUcIlm6X4udEt8HHChlU-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="uSW-sqyGPiUXCIfXmXX4-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.633;entryY=0.996;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="uSW-sqyGPiUXCIfXmXX4-1" target="fUcIlm6X4udEt8HHChlU-6">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1877" y="200" />
<mxPoint x="1877" y="310" />
<mxPoint x="1445" y="310" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>