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.