Returns a solver function that fits a dfr_dist model to survival data using maximum likelihood estimation. The solver uses gradient-based optimization (BFGS by default) with analytical or numerical gradients.
Usage
# S3 method for class 'dfr_dist'
fit(object, ...)Value
A solver function that accepts:
df: Data frame with observation times and censoring indicatorspar: Initial parameter values (uses object's params if NULL)method: Optimization method (default "BFGS")control: Control parameters for optim()...: Additional arguments passed to likelihood functions
Details
The solver returns a fisher_mle object (from likelihood.model) containing:
Parameter estimates
Log-likelihood value at MLE
Variance-covariance matrix (from Hessian)
Convergence status
Use methods like coef(), vcov(), confint(), summary() on the result.
Examples
# \donttest{
# Exponential distribution
exp_dist <- dfr_dist(
rate = function(t, par, ...) rep(par[1], length(t)),
par = c(lambda = 1)
)
# Simulate data
set.seed(42)
df <- data.frame(t = rexp(100, rate = 2), delta = 1)
# Fit model
solver <- fit(exp_dist)
result <- solver(df, par = c(1))
summary(result)
#> Maximum Likelihood Estimate (Fisherian)
#> ----------------------------------------
#>
#> Coefficients:
#> Estimate Std. Error 2.5% 97.5%
#> [1,] 1.7789 0.1779 1.4302 2.128
#>
#> Log-likelihood: -42.4
#> AIC: 86.8
#> Number of observations: 100
confint(result)
#> 2.5% 97.5%
#> [1,] 1.430217 2.12752
# }