Implement residuals.mmlt (allowing sandwich estimation and permutation tests)
and update.mmlt (a little bit faster refitting).
Remove type = "Lambdapar" from coef.mmlt, use
type = "Lambda".
Add type = "Omega" in coef. type = "Lambda"
now always returns a unit lower-triagular matrix. This now
matches the notation used in papers.
Generate references from ‘REFERENCES.bib’.
Determine constant columns in design matrices correctly.
Remove constant columns only when dofit is TRUE.
R(<integer with missing values>) was handled incorrectly.
Spotted by Lukas Graz.
Handle infinite values when computing quantiles from
response objects.
mltoptim() features nlminb for unconstrained optimisation.
mltoptim() features optim for unconstrained optimisation.
mltoptim() defaults changed for all algorithms.
mltoptim() refrains from generating random starting
values now. Consequently, results are fully reproducible in the absence of
user-defined seeds.
The log-likelihood for infeasible parameter configurations
is now always -Inf.
Argument scale was renamed to scaleparm because
of a conflict in tram::Survreg.
Compute better starting values, especially for interval-censored outcomes using the fast Turnbull estimators provided by icenReg.
Implement (internal) pre-transformation based on nonparametric unconditional distribution to be used by tram.
summary.mmlt works now.
Improved error messages in mmlt.
R(, as.R.interval = TRUE) produces correct empirical
likelihood for numeric outcomes.
mmlt only uses optimisers able to approximate the
Hessian by default.
simulate.ctm might have got internal dimensions wrong.
Simpler switch for computing numerically approximated Hessians in mltoptim.
rep to rep_len when possible.
Avoid partial argument matches.
Improve R() for interval censored data.
Add constrOptim to mltoptim.
Handle fixed starting values in mmlt correctly.
Add as.Surv method for numeric vectors.
Fall back to coneproj if quadprog fails to get starting values.
Stabilise bugfixes and avoid ATLAS issues.
Try harder to obtain starting values meeting constraints, issue a warning if this failed.
Allow interval censoring using -Inf and Inf.
Starting values are affected but the corresponding observations
contribute zero to the log-likelihood.
Make sure R() does not drop any unused levels (unlike factor()).
mmlt moved from tram allowing arbitrary mixes of continuous
and discrete data, including exact and censored observations
for the same variable and thus also allowing non-informative missings encoded as
-Inf, Inf, see below. Corresponding logLik and estfun
methods feature newdata and weights arguments, as the
methods for mlt always did.
R() translates missing response values to -Inf and Inf interval censoring.
This means that missing values are allowed in response variables
and the corresponding observations do
not contribute to the log-likelihood. In contrast to
na.omit, the (technical) dimension of the training data is not
changed.
Handle Surv objects with smaller than zero values in R.Surv(..., as.R.interval = TRUE).
Add maxeval = 1000L for nloptr.
Report nloptr more detailed status messages.
Remove warning when dealing with binary factors.
Do no use zero as lower bound (when running R(Surv(...), as.R.interval =
TRUE)) except when zero is first death time.
Add slots to mmlt for externally computing transformations and derivatives
thereof, needed by tram::mmlt.
Make sure R(Surv(...), as.R.ordered = TRUE) matches
Kaplan-Meier for right-censored and possibly tied observations.
Such responses give NPML estimates.
R(Surv(...), as.R.numeric = TRUE) can be used to fit
smooth models by maximising the nonparametric likelihood.
Better support for frailty parameter.
Starting values might end up being NA; set to zero.
mlt(..., theta = theta, dofit = TRUE) returns a "fitted"
mlt model with coefficients theta.
If theta is missing, an unfitted model is returned.
Register internal methods.
Re-add support for nloptr in mltoptim().
Fix S3 argument mismatches.
Try to detect negative standard errors in case optimisation failed silently.
Improve numerical stability in simulate.ctm.
predict and plot have new types involving logs.
plot() ignored lwd.
as.R.interval allows evaluation of nonparametric
likelihood for smoothly defined models.
New Laplace link function, contributed by Ainesh Sewak.
New cauchit link function.
drop = TRUE in score for shift-scale models.
Eliminate fallout of fix of PR#17616 in Rout.save files.
update allows fixing parameters.
Fix discrete gradient for shift-scale models.
Add infrastructure for shift-scale transformation models.
Gradient and estfun always returned
negative scores, this is documented now.
Arguments passed to mlt via dots were silently ignored.
Remove nloptr dependency for the time being.
Add as.double for response objects
(replaces trtf:::.R2vec).
Improved numerical stability for censored data.
New argument as.R.ordered allowing numeric and survival
responses to be coded as ordered factors, for nonparametric maximum
likelihood estimation.
Allow sparse model matrices. This is useful for nonparametric maximum likelihood estimation with many distinct outcomes.
Some speed-ups.
Plotting of quantiles sometimes failed because inversion of cdf was not possible for certain quantiles. These are now removed before plotting.
Fitting models to interval censored responses containing intervals
c(-Inf, Inf) failed.
Always return names score matrices and residuals.
Improve documentation.
Sampling from unconditional models did not pay attention to number of observations.
Quantiles and thus simulations are now computationally more exact and more robust.
The unnecessary interpolate argument to predict and
simulate is now ignored.
Adjust contrasts a fixed parameter contributes to.
Return numerically determined Hessians upon request.
Implement frailty error distributions, experimentally and internal only.
Implement cure mixture models, experimentally and internal only.
Improve computations of log-probabilities.
Discrete hazard functions were incorrect.
Add exponential distribution (for Aalen additive hazards models).
Pay attention to model class when computing cumulative hazards.
Add log-cumulative hazards, log-odds, and odds for predictions and plots.
Allow permutations of single variables.
Update citation info.
Try harder to invert Hessians.
Update reference output.
Add support for nloptr (still experimental and thus switched off by default).
Make sure coef() always returns named argument.
Fix problem in as.Surv reported by Balint Tamasi.
Less paranoia in ‘bugfixes.R’.
Return Hessian for fixed parameters if requested.
Fix subsetting problem in R.numeric.
Allow to update offsets.
Add a bread method.
Check response variable against observations in data.
Make sure integers larger zero are handled correctly in R.
Implement resid method, ie the score wrt a constant.
Cox examples with Bernstein polynomials of log-time.
Arguments K and cheat where
ignored by confband when newdata
had multiple rows.
Computation of starting values more robust now.
Order of fixed parameters (fixed argument to mlt)
might have been wrong due to incomplete matching.
Add lty argument to plot.ctm.
update needs free coefficients only.
Internal interface changes.
Make sure transformation functions outside bounds are minus
or plus Inf.
Initial guestimates for ordered responses were incorrect and may potentially have led to nonsense results.
Some smaller improvements in computation of log-likelihoods and scores with respect to accuracy and speed.
print respects options(digits).
estfun, parm = coef(object, fixed = TRUE)) evaluates
scores for all model parameters, including fixed ones.
logLik(..., newdata, w) ignored weights w when
newdata was given. Same problem was also fixed for
estfun.
A paper describing version 1.0-0 of the mlt, basefun, and variables packages was accepted for publication in the Journal of Statistical Software 2018-03-05.
Documentation updates.
Use coneprog for getting the starting values.
logLik and estfun accept matrices as parm
argument for the evalution of log-likelihoods and scores
with subject-specific parameters (for example in transformation
trees or forests and boosting procedures.
q is forwarded to qmlt by predict.ctm now.
p is now prob in qmlt and thus predict.ctm.
Update citation.
Most Likely Transformations will be published in the Scandinavian Journal of Statistics.
Import package alabama.
as.Surv(R(Surv(...))) returns Surv(...),
useful for converting output by simulate
to Surv objects.
Add subset argument to update (for faster transformation
trees and forests).
Sum over score contributions with positive weight only when evaluating the gradient.
Having all response observations being interval-censored is allowed again (too heavy checking was in place).
Don't try to numerically check KKT conditions automatically.
Check for unused arguments in dots where necessary.
Make sure the score doesn't get too large (avoid division by near zero probabilities).
Improve survfit to compute non-parametric unconditional
probabilities for obtaining starting values in the presence of
censoring and truncation.
logLik with newdata argument ignored parm
and weights arguments.
estfun now also has a newdata argument.
Correct axes labelling when plotting quantile functions.
make sure names are correct in coef(model, fixed = FALSE).
check if any exact or interval-censored response with non-zero weight exists before trying to fit the model.
make checks a little more robust against huge diffs under Windows.
Fix two bugs in computation of log-likelihood for possibly
left-truncated responses such as Surv(start, time, status).
Add augmented lagrangian minimization (auglag() from package alabama).
Make optimiation procedure more general and adaptive, allow users to change defaults and even add their own optimiser.
fix bug when calling survfit for computing initial probabilities.
add bysim argument to simulate.
make sure checkGrad is respected by update.
predict computes q with K elements
if not given (as plot always did).
Make sure times are ordered before calling
survival::summary.survfit.
Introduce as.mlt generic.
Introduce a coef slot in ctm objects
and a corresponding coef<- and coef
method for setting and extracting coefficients
to and from unfitted conditional transformation models.
predict, simulate and plot
work on ctm objects (with meaningful coefficients)
now.
Some small improvements wrt run time and memory consumption.
Use theta = coef(object) as default starting parameters in update().
logLik has a new newdata argument.
simulate has a new q argument.
The mlt package was first published on CRAN.