piqr() now solves by default the lasso problem of
Sottile et al. (2020, eq. 3.4) (method = "pnewton"):
results differ from version 0.2.x. The previous algorithm is available
with method = "legacy".
library(qrcmNP) no longer attaches ‘qrcm’ and
‘survival’ (moved to Imports); slp(),
plf() and test.fit() are re-exported. Use
library(qrcm), library(survival) or
qrcm::iqr(), survival::Surv() where
needed.
gof.piqr(): the default df counts the
nonzero coefficients ("parameters"); use
df = "covariates" for the previous definition (default with
method = "legacy").
Default output is silent (verbose = FALSE);
ask defaults to interactive().
niqr(): standard errors are now computed with the
analytic Hessian, so they differ from those of version 0.2.x.
Removed (with an informative error when used):
| Removed in 1.0.0 | Use instead |
|---|---|
testfit.niqr(obj, R) |
test.fit(object, R) |
niqr(fun, fun2, x0, X, y, control) |
niqr(formula, data, fun, fun2, x0) |
piqr(..., display = ) |
piqr(..., verbose = ) |
gof.piqr(..., df.new = ) |
gof.piqr(..., df = ) |
niqr() control names display,
n_p, low_p, up_p,
maxit_start, h1, meth, … |
niqr.control(verbose, n.p, eps, ...);
cluster is an argument of niqr() |
components x, fx, gx,
Hx, p.star.y, code,
iter of niqr objects |
coefficients, obj.function,
gradient, hessian, CDF,
converged, n.it |
matrix newdata (with a column "y") in
predict.niqr() |
a data frame |
piqr())method = "pnewton", default): proximal
Newton algorithm with exact gradient and Hessian of the integrated loss,
coordinate descent for the penalized quadratic subproblem, warm starts,
sequential strong rules and KKT checks. It solves exactly the penalized
problem of Sottile et al. (2020, eq. 3.4).penalty = c("lasso", "group"): the group
lasso selects covariates as a whole (all the coefficients of a covariate
are zero or nonzero).penalty.factor (covariate-specific penalty
weights; 0 = unpenalized).method = "legacy".refit_piqr(): unpenalized re-estimation of the
selected model with qrcm::iqr() (post-selection inference,
Sottile et al., 2020, Section 3.2).cv_piqr(): K-fold cross-validation of the
integrated loss.gof.piqr(): Cn can be a number; new
argument df ("parameters", the default for the
new solver, or "covariates", the default for
method = "legacy"); the result has a print()
method and contains the criterion along the path.obj.function is now computed also for censored and
truncated data, so that gof.piqr() works with
Surv() responses.coef(), summary() and
predict() gain the argument lambda; they no
longer fail when the path contains a single value of lambda.plot(xvar = "beta"): the QQ-plot now uses
ppoints() (it previously used sorted uniform random
numbers); ask defaults to interactive().message() (argument
verbose).method = "legacy"; use refit_piqr().niqr())niqr(formula, data, fun, fun2, x0, weights, cluster, control).fun2 is nonlinear
in beta or in the covariates (e.g., Hill dose-response
models); it was correct only for models linear in the covariates.niqr.control(se = "boot")).niqr.control().coef(), vcov(),
nobs(), terms(), model.matrix();
predict() gains type = "PDF" and accepts data
frames as newdata; summary() reports the
information criteria of Bottai and Cilluffo (2020).gof.niqr() (AIC, BIC and their log versions, for
one or more models).test.fit(): the Kolmogorov-Smirnov statistic is now
two-sided.test.fit() method for niqr objects;
failed bootstrap replications no longer stop the procedure.getFromNamespace(): the required internal routines (adapted
from ‘qrcm’, with attribution) are now part of ‘qrcmNP’. Jacobians are
computed with a single cross-product of Khatri-Rao matrices.Depends to
Imports; slp(), plf() and
test.fit() are re-exported from ‘qrcm’. Note that
library(qrcmNP) no longer attaches ‘qrcm’ and ‘survival’:
scripts calling, e.g., iqr() or Surv() need
library(qrcm) / library(survival) (or
qrcm::iqr(), survival::Surv()).