Genentech / jmpost

https://genentech.github.io/jmpost/
17 stars 4 forks source link

Implement Gamma Survival Model #413

Closed gowerc closed 2 months ago

gowerc commented 3 months ago

Closes #411

Apologies though I have committed the cardinal sin of adding in a few additional unrelated changes that I spotted whilst developing this which include:

github-actions[bot] commented 3 months ago

badge

Code Coverage Summary

Filename                           Stmts    Miss  Cover    Missing
-------------------------------  -------  ------  -------  --------------------------------
R/brier_score.R                      167       0  100.00%
R/DataJoint.R                         76       2  97.37%   264, 270
R/DataLongitudinal.R                 119       1  99.16%   244
R/DataSubject.R                       85       1  98.82%   142
R/DataSurvival.R                      98       0  100.00%
R/defaults.R                          10       6  40.00%   18-57, 84
R/generics.R                          34       4  88.24%   52, 396, 416, 471
R/Grid.R                              27       1  96.30%   173
R/GridEven.R                          32       0  100.00%
R/GridEvent.R                         22       0  100.00%
R/GridFixed.R                         30       0  100.00%
R/GridGrouped.R                       52       0  100.00%
R/GridManual.R                        23       3  86.96%   78-80
R/GridObserved.R                      20       0  100.00%
R/GridPopulation.R                    31       4  87.10%   61, 69-71
R/GridPrediction.R                    36       6  83.33%   83, 91-95
R/JointModel.R                       126      10  92.06%   146-151, 201, 205, 247, 293, 299
R/JointModelSamples.R                 66       0  100.00%
R/link_generics.R                     16       4  75.00%   59, 76, 91, 106
R/Link.R                              62       4  93.55%   200-203
R/LinkComponent.R                     19       3  84.21%   88, 120-121
R/LongitudinalClaretBruno.R           90       6  93.33%   168-172, 187
R/LongitudinalGSF.R                   95       0  100.00%
R/LongitudinalModel.R                 19       0  100.00%
R/LongitudinalQuantities.R            71       0  100.00%
R/LongitudinalRandomSlope.R           44       5  88.64%   102-106
R/LongitudinalSteinFojo.R             86       5  94.19%   159-163
R/Parameter.R                         14       0  100.00%
R/ParameterList.R                     42       1  97.62%   184
R/Prior.R                            254       6  97.64%   507, 651-665
R/Promise.R                           25       0  100.00%
R/Quantities.R                        60       0  100.00%
R/QuantityGeneratorPopulation.R       22       0  100.00%
R/QuantityGeneratorPrediction.R       48       0  100.00%
R/QuantityGeneratorSubject.R          19       0  100.00%
R/settings.R                          12      12  0.00%    55-69
R/SimGroup.R                           5       0  100.00%
R/SimJointData.R                      72       1  98.61%   103
R/SimLongitudinal.R                    5       2  60.00%   22, 40
R/SimLongitudinalClaretBruno.R        74       0  100.00%
R/SimLongitudinalGSF.R                80       0  100.00%
R/SimLongitudinalRandomSlope.R        42       0  100.00%
R/SimLongitudinalSteinFojo.R          69       0  100.00%
R/SimSurvival.R                      116       0  100.00%
R/StanModel.R                         15       0  100.00%
R/StanModule.R                       176       6  96.59%   192-193, 235, 246, 383, 411
R/SurvivalExponential.R               10       0  100.00%
R/SurvivalGamma.R                     13       0  100.00%
R/SurvivalLoglogistic.R               11       0  100.00%
R/SurvivalModel.R                     19       0  100.00%
R/SurvivalQuantities.R               170       1  99.41%   125
R/SurvivalWeibullPH.R                 13       0  100.00%
R/utilities.R                        144       2  98.61%   13, 335
R/zzz.R                               28      25  10.71%   3, 8-12, 14-35, 47
TOTAL                               3114     121  96.11%

Diff against main

Filename                 Stmts    Miss  Cover
---------------------  -------  ------  --------
R/SimSurvival.R            +12       0  +100.00%
R/SurvivalGamma.R          +13       0  +100.00%
R/SurvivalWeibullPH.R       +2       0  +100.00%
TOTAL                      +27       0  +0.03%

Results for commit: fbc9f29fde2bf254c2087fb60a5d8d15c254d6ec

Minimum allowed coverage is 80%

:recycle: This comment has been updated with latest results

github-actions[bot] commented 3 months ago

Unit Tests Summary

    1 files    175 suites   5m 58s :stopwatch:   153 tests   143 :white_check_mark: 10 :zzz: 0 :x: 1 077 runs  1 066 :white_check_mark: 11 :zzz: 0 :x:

Results for commit 023f09f9.

:recycle: This comment has been updated with latest results.

github-actions[bot] commented 3 months ago

Unit Test Performance Difference

Test Suite $Status$ Time on main $±Time$ $±Tests$ $±Skipped$ $±Failures$ $±Errors$
SurvivalGamma 👶 $+0.00$ $+1$ $+1$ $0$ $0$
Additional test case details | Test Suite | $Status$ | Time on `main` | $±Time$ | Test Case | |:-----|:----:|:----:|:----:|:-----| | Grid | 💔 | $48.80$ | $+1.14$ | Grid_objects_work_with_QuantityGenerator_and_QuantityCollapser | | GridPrediction | 💔 | $115.36$ | $+3.29$ | GridPrediction_works_as_expected_for_Survival_models | | LongitudinalRandomSlope | 💔 | $6.27$ | $+17.54$ | Print_method_for_LongitudinalRandomSlope_works_as_expected | | SurvivalExponential | 👶 | | $+2.04$ | Can_load_and_compile_SurvivalExponential_model | | SurvivalExponential | 💚 | $22.53$ | $-22.53$ | SurvivalExponential_can_recover_true_parameter_including_covariates_ | | SurvivalGamma | 👶 | | $+0.00$ | Can_load_and_compile_SurvivalGamma_model | | SurvivalGamma | 👶 | | $+2.06$ | Print_method_for_SurvivalGamma_works_as_expected | | SurvivalGamma | 👶 | | $+0.00$ | SimSurvivalGamma_is_consistant_with_flexsurv | | SurvivalGamma | 👶 | | $+0.00$ | SurvivalGamma_can_recover_known_values | | SurvivalLoglogistic | 👶 | | $+1.77$ | Can_load_and_compile_SurvivalLogLogistic_model | | SurvivalLoglogistic | 💚 | $18.17$ | $-18.17$ | sim_os_loglogistic_is_consistant_with_flexsurv | | SurvivalWeibullPH | 👶 | | $+0.00$ | Can_load_and_compile_SurvivalWeibullPH_model | | SurvivalWeibullPH | 💚 | $8.35$ | $-6.96$ | Print_method_for_SurvivalWeibullPH_works_as_expected |

Results for commit ea0d67701a439a68798c25c7d3cf8d5658c8a9e1

♻️ This comment has been updated with latest results.

gowerc commented 2 months ago

Query on the stan definition of the hazard @gowerc , otherwise looks good!

@gravesti - Apologies what do you mean by query on the stan definition? As in does something look wrong to you ?

gravesti commented 2 months ago

@gravesti - Apologies what do you mean by query on the stan definition? As in does something look wrong to you ?

I had another comment but I resolved it. I was confused why the log hazard was defined differently in the stan code. But I found it correct and due to the stan function a normalising term.

gowerc commented 2 months ago

@gravesti - Apologies what do you mean by query on the stan definition? As in does something look wrong to you ?

I had another comment but I resolved it. I was confused why the log hazard was defined differently in the stan code. But I found it correct and due to the stan function a normalising term.

Ah yer apologies I probs should have made a comment to explain that stan automatically adds in the normalising term which isn't done in the R equivalent code.