Fits a MultiParameter Regression (MPR) model using a Newtontype algorithm via the nlm
function.
1 
formula 
a twosided 
data 
an optional 
family 
the name of the parametric distribution to be used in the model. See 
init 
an optional vector of initial values for the optimisation routine. If missing, default values
are used. One may also set 
iterlim 
a positive integer specifying the maximum number of iterations to be performed before the
optimisation procedure is terminated. This is supplied to 
... 
additional arguments to be passed to 
MultiParameter Regression (MPR) models are generated by allowing multiple distributional parameters to depend on covariates, for example, both the scale and shape parameters. This is in contrast to the more typical approach where covariates enter a model only through one distributional parameter. As these standard models have a single regression component, we may refer to them as Single Parameter Regression (SPR) models and, clearly, they are special cases of MPR models. The parameter through which covariates enter such SPR models may be referred to as the “interest” parameter since it generally has some specific subjectmatter importance. However, this standard approach neglects other parameters which may also be important in describing the phenomenon at hand. The MPR approach generalises the standard SPR approach by viewing all distributional parameters as interest parameters in which covariate effects can be investigated.
In the context of survival analysis (currently the focus of the mpr
package), the Weibull model
is one of the most popular parametric models. Its hazard function is given by
h(t) = λ γ t^(γ  1)
where λ > 0, the scale parameter, controls the overall magnitude of h(t) and γ > 0, the shape parameter, controls its time evolution. In the standard SPR Weibull model, λ depends on covariates via log λ = x' β leading to a proportional hazards (PH) model. The MPR model generalises this by allowing both parameters to depend on covariates as follows
log λ = x' β
log γ = z' α
where x and z are the scale and shape covariate vectors (which may or may not contain covariates in common) and β and α are the corresponding regression coefficients.
Note that the loglink is used above to ensure positivity of the parameters. More generally, we may have
g1(λ) = x' β
g2(γ) = z' α
where g1(.) and g2(.) are appropriate link functions.
The mpr
function does not
allow the user to alter these link functions but, rather, uses the following default link functions:
loglink (for parameters which must be positive) and identitylink (for parameters
which are unconstrained). Although the twoparameter Weibull distribution is discussed here
(due to its popularity), other distributions may have additional shape parameters, for example,
g3(ρ) = w' τ
where w and τ are the vectors of covariates and regression coefficients for this
additional shape component. See distributions
for further details on the distributions
currently available.
The struture of the formula
within the mpr
function is, for example,
Surv(time, status) ~ list(~ x1 + x2, ~ x1)
which clearly generalises the typical formula
used in
standard models (i.e., those with only one regression component) in the sense that the right hand side is a
list
of onesided formula
objects. Note the requirement that the ~
operator
precedes each element within the list
. Specifically, the example shown here represents the case
where the covariates x1
and x2
appear in the first regression component, λ,
and the covariate x2
appears in the second regression component, γ. If there was a
third regression component, ρ, then there would be an additional component in the list
,
for example, Surv(time, status) ~ list(~ x1 + x2, ~ x1, ~ x1)
. The mpr
function also accepts
more typical twosided formula
objects, such as Surv(time, status) ~ x1 + x2
, which imply that
the terms on the right hand side appear in each of the regression components.
mpr
returns an object of class “mpr
”.
The function summary
(i.e., summary.mpr
) can be used to obtain and print a summary
of the results. The the generic accessor function coefficients
extracts the list
of
regression coefficient vectors. One can also apply predict
(i.e., predict.mpr
) to
predict various quantites from the fitted mpr
model. A stepwise variable selection procedure has
been implemented for mpr
models  see stepmpr
.
An object of class mpr
is a list
containing the following components:
model 
a

coefficients 
a 
vcov 
the variancecovariance matrix for the estimates. 
gradient 
the values of the (negative) score functions from 
ncomp 
the number of regression components in the model, i.e., the number of distributional parameters in the
underlying 
formula 
the 
xvars 
a record of the names of all variables (i.e., covariates) used in fitting. 
xlevels 
a record of the levels of any 
call 
the matched call. 
Kevin Burke.
distributions
, summary.mpr
, predict.mpr
,
stepmpr
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  # Veterans' administration lung cancer data
data(veteran, package="survival")
head(veteran)
# treatment variable, "trt", in scale (lambda) and shape (gamma)
# components of a Weibull model
mpr(Surv(time, status) ~ list(~ trt, ~ trt), data=veteran, family="Weibull")
# same as first model
mpr(Surv(time, status) ~ trt, data=veteran, family="Weibull")
# now with "celltype" also appearing in the scale
mpr(Surv(time, status) ~ list(~ trt + celltype, ~ trt), data=veteran,
family="Weibull")
# trt in scale only (this is a PH Weibull model)
mpr(Surv(time, status) ~ list(~ trt, ~ 1), data=veteran, family="Weibull")
# trt in all three components (scale and two shape parameters) of a Burr model
mpr(Surv(time, status) ~ list(~ trt, ~ trt, ~ trt), data=veteran,
family="Burr")
# use of summary
mod1 < mpr(Surv(time, status) ~ list(~ trt, ~ trt), data=veteran)
summary(mod1)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.