This function is to calculate information criteria from a coxtp
object to select the penalization tuning parameter.
IC(fit, IC.prox)
model from coxtp
.
when calculating information criteria, there might be numerical issues (e.g. the Hessian matrix is close to be singular).
In such cases, warnings will be given.
If IC.prox = TRUE
, we modify the diagonal of the Hessian matrix following the same approach as the proximal method detailed in Wu et al. (2022), which can lead to more stable estimates.
The default value is FALSE
.
an object with S3 class "coxtp"
using mAIC to select the tuning parameter.
an object with S3 class "coxtp"
using TIC to select the tuning parameter.
an object with S3 class "coxtp"
using GIC to select the tuning parameter.
a sequence of mAIC values corresponding to each of the tuning parameter lambda
from "coxtp"
.
a sequence of TIC values corresponding to each of the tuning parameter lambda
from "coxtp"
.
a sequence of GIC values corresponding to each of the tuning parameter lambda
from "coxtp"
.
In order to select the proper smoothing parameter, we utilize the idea of information criteria. We provide four different information criteria to select the optimal smoothing parameter \(\lambda\). Generally, mAIC, TIC and GIC select similar parameters and the difference of resulting estimates are barely noticeable. See details in the Luo et al. (2023).
Akaike, H. (1998) Information theory and an extension of the maximum likelihood principle.
In Selected Papers of Hirotugu Akaike. 199–213.
Luo, L., He, K., Wu, W., and Taylor, J. M. (2023) Using information criteria to select smoothing parameters when analyzing survival data with time-varying coefficient hazard models.
Statistical Methods in Medical Research, in press.
Takeuchi, K. (1976) Distribution of information statistics and criteria for adequacy of models.
Mathematical Sciences, 153: 12–18.
Wu, W., Taylor, J. M., Brouwer, A. F., Luo, L., Kang, J., Jiang, H., and He, K. (2022) Scalable proximal methods for cause-specific hazard modeling with time-varying coefficients.
Lifetime Data Analysis, 28(2): 194-218.
data(ExampleData)
z <- ExampleData$z
time <- ExampleData$time
event <- ExampleData$event
fit <- coxtp(event = event, z = z, time = time)
#> Iter 1: Obj fun = -3.2986480; Stopping crit = 1.0000000e+00;
#> Iter 2: Obj fun = -3.2920862; Stopping crit = 2.1176619e-02;
#> Iter 3: Obj fun = -3.2920355; Stopping crit = 1.6361107e-04;
#> Iter 4: Obj fun = -3.2920353; Stopping crit = 3.7757230e-07;
#> Algorithm converged after 4 iterations!
#> lambda 0.1 is done.
#> Iter 1: Obj fun = -3.3017443; Stopping crit = 1.0000000e+00;
#> Iter 2: Obj fun = -3.2954100; Stopping crit = 2.0664261e-02;
#> Iter 3: Obj fun = -3.2953323; Stopping crit = 2.5346890e-04;
#> Iter 4: Obj fun = -3.2953321; Stopping crit = 4.6097119e-07;
#> Algorithm converged after 4 iterations!
#> lambda 1 is done.
#> Iter 1: Obj fun = -3.3094946; Stopping crit = 1.0000000e+00;
#> Iter 2: Obj fun = -3.3042222; Stopping crit = 1.7708812e-02;
#> Iter 3: Obj fun = -3.3041817; Stopping crit = 1.3597425e-04;
#> Iter 4: Obj fun = -3.3041817; Stopping crit = 6.0903557e-08;
#> Algorithm converged after 4 iterations!
#> lambda 10 is done.
IC <- IC(fit)