Commit Graph

36 Commits

Author SHA1 Message Date
f4d436e608
turnbull: Update documentation to reflect EM-ICM algorithm 2023-10-29 00:40:41 +11:00
2880fe866d
Merge branch 'turnbull-emicm'
Change to EM-ICM algorithm to fit Turnbull estimator

Much more efficient - 19.7x speedup compared with old algorithm!
2023-10-29 00:01:35 +11:00
e726fad99b
turnbull: Improve efficiency of ICM step as suggested by Anderson-Bergman 2023-10-28 23:47:00 +11:00
85e3ee0dcd
turnbull: Improve efficiency of EM step as suggested by Anderson-Bergman 2023-10-28 23:28:42 +11:00
37c904bf34
turnbull: Refactor for profiling 2023-10-28 23:16:14 +11:00
81b0b3f9b5
turnbull: Pre-compute survival probabilities 2023-10-28 23:08:03 +11:00
250cfd8798
turnbull: Initial implementation of EM-ICM algorithm 2023-10-28 22:48:59 +11:00
79c53895b0
turnbull: Change convergence tolerance to based on log-likelihood 2023-10-28 01:01:54 +11:00
0e39402d3d
turnbull: Compute and display log-likelihood 2023-10-28 00:49:44 +11:00
6fd0980277
turnbull: Parallelise compute_pi
37% speedup
2023-10-27 23:28:01 +11:00
2c54c2be02
turnbull: Parallelise get_sum_fail_prob
37% speeedup
2023-10-27 23:11:29 +11:00
18a0679476
turnbull: Use Vec<f64> throughout for better performance
Further 15% speedup
2023-10-22 19:09:01 +11:00
8205e4acbc
turnbull: Improve performance of compute_pi
Faster to repeatedly index Vec than DVector, so work directly with Vec
80% speedup!
2023-10-22 18:56:27 +11:00
22a2deca89
turnbull: Further refactoring for profiling 2023-10-22 18:41:40 +11:00
f043f7c67d
turnbull: Introduce analytical solution to computing Hessian
Makes runtime of computing Hessian negligible!
2023-10-20 20:47:49 +11:00
0a8c77fa2c
turnbull: Refactor to aid profiling 2023-10-20 20:16:19 +11:00
dd24de5813
turnbull: Allow dropping columns/rows of Hessian corresponding to intervals with zero failure probability 2023-10-20 20:15:56 +11:00
072d453d11
Add supplemental documentation for turnbull 2023-10-14 06:36:14 +11:00
fb4ca07131
Add test for turnbull 2023-10-14 06:20:37 +11:00
67ce046522
Implement turnbull 2023-10-14 06:20:15 +11:00
6c5ab0dd60
Transpose data_time_indexes in memory to avoid unnecessary matrix transposition 2023-05-01 00:13:32 +10:00
1c08116f10
Avoid unnecessary Vec reallocations when computing time_points 2023-04-30 15:59:42 +10:00
8aad020521
Fix help text references to E-M algorithm 2023-04-30 15:46:13 +10:00
14c1944f92
Improve performance
Avoid unnecessary zeroing of input data matrices
2023-04-30 15:45:55 +10:00
5876f724ad
Update intcox documentation 2023-04-29 19:08:12 +10:00
a1bb1568ad
Tidy update_beta 2023-04-29 18:29:33 +10:00
a58a52f682
Improve performance
Mostly, use BLAS functions to reduce unnecessary allocations for intermediate steps
2023-04-29 17:39:25 +10:00
cdc59da178
Change to ICM/Newton-Raphson algorithm 2023-04-29 00:37:30 +10:00
1497e2d5cb
Add --ll_tolerance parameter for intcox 2023-04-23 18:36:28 +10:00
d0d92f2a78
Add supplemental documentation about intcox technical details 2023-04-23 15:54:23 +10:00
45585a2b38
Add comments to M step 2023-04-22 23:57:17 +10:00
461eb8db5f
Parse CSV robustly 2023-04-21 17:40:43 +10:00
f6f44c64ab
Force progress bar to output to stderr even when not a terminal 2023-04-21 17:21:33 +10:00
9893657bb0
Also report and unit test cumulative hazard curve 2023-04-18 16:18:19 +10:00
6ac2d9f055
Add test for intcox 2023-04-18 15:32:27 +10:00
46e3b189ce
Initial commit 2023-04-17 17:50:43 +10:00