metrumresearchgroup / bbi

Next generation modeling platform
12 stars 2 forks source link

support shrinkage output for multiple-method control streams #40

Open david-lyder opened 4 years ago

david-lyder commented 4 years ago

Summary

Currently shrinkage is parsed from the lst without respect to the method. Use the shk file to parse shrinkage data per method.

Change the shrinkage structure member from an object to a slice of objects:type CompletionDetails struct { Shrinkage []ShrinkageDetails Ofv OfvDetails
ZeroGradientDetected bool
FinalZeroGradientDetected bool
CovStepComplete bool
Messages []string
} The output data should align with the Method defined in ParametersData slice.

Tests

david-lyder commented 4 years ago

Before change:

"shrinkage_details": { "eta": { "sd": [ 37.468, 16.435, 3.3027 ], "vr": [ 60.898, 30.17, 6.4964 ] }, "ebv": { "sd": [ 35.09, 15.671, 3.8428 ], "vr": [ 57.867, 28.886, 7.5379 ] }, "eps": { "sd": [ 4.7622 ], "vr": [ 9.2977 ] } },

david-lyder commented 4 years ago

After change:

"shrinkage_details": [
    {
        "eta": {
            "sd": [
                37.468,
                16.435,
                3.3027
            ],
            "vr": [
                60.898,
                30.17,
                6.4964
            ]
        },
        "ebv": {
            "sd": [
                35.09,
                15.671,
                3.8428
            ],
            "vr": [
                57.867,
                28.886,
                7.5379
            ]
        },
        "eps": {
            "sd": [
                4.7622
            ],
            "vr": [
                9.2977
            ]
        }
    }
],