semiVarReg.multi performs semi-parametric mean and variance regression models. This is
designed for multiple covariates fit in the mean and variance models.
semiVarReg.multi(
y,
x,
mean.model = c("zero", "constant", "linear", "semi"),
mean.vars = c(1),
knots.m = NULL,
var.model = c("constant", "linear", "semi"),
var.vars = c(1),
knots.v = NULL,
degree = 2,
control = list(...),
...
)semiVarReg.multi returns an object of class "VarReg" which inherits some components from the class "glm". This object of class "VarReg" is a list containing the following components:
modeltype: Text indicating the model that was fit, indicating an uncensored approach was performed.
knots.m, knots.v, degree, meanmodel, varmodel: Returning the input variables as described above
converged: Logical argument indicating if convergence occurred.
iterations: Total iterations performed.
reldiff: the positive convergence tolerance that occurred at the final iteration.
loglik: Numeric variable of the maximised log-likelihood.
boundary: Logical argument indicating if the MLE is on the boundary of the parameter space.
aic.c: Akaike information criterion corrected for small samples
aic: Akaike information criterion
bic: Bayesian information criterion
hqc: Hannan-Quinn information criterion
mean.ind: Vector of integer(s) indicating the column number(s) in the dataframe
data that were fit in the mean model.
mean: Vector of the maximum likelihood estimates of the mean parameters.
var.ind: Vector of integer(s) indicating the column(s) in the dataframe
data that were fit in the variance model.
variance: Vector of the maximum likelihood estimates of the variance parameters.
data: Dataframe containing the variables included in the model.
Vector containing outcome data. Must be no missing data and any censored values must be set to the limits of detection.
Matrix containing the covariate data. Must be no missing data and same length as y.
Vector to specify the mean model to be fit to the data. The possible inputs are
"zero", "constant", or a vector to indicate if covariates are to be "linear" or "semi". "semi"
indicates a semi-parametric spline model, with the number of internal knots specified in
knots.m. If covariates are fit, each covariate needs an indicator of "linear" or "semi", where mean.vars specifies each covariate.
Vector to specify column(s) in x referring to covariates to be fit in the mean model,
eg c(1,2) indicates columns 1 and 2 in x. Must be the same length as mean.model which specifies
if they are fit as linear/semi. If semi, use knots.m to specify knots.
Vector indicating the number of internal knots to be fit in each of covariate(s) fit in the semi-parametric
mean model. Must be one entry per "semi" covariate in mean.model. Knots are placed equidistantly over each covariate.
Vector to specify the variance model to be fit to the data. The possible inputs are
"constant", or a vector to indicate if each covariate is to be "linear" or "semi". "semi" indicates a semi-parametric
B-spline model, with the number of internal knots specified in knots.v.
Vector to specify column(s) in x referring to covariates to be fit in the variance model,
eg c(1,2) indicates columns 1 and 2 in x. Must be the same length as var.model which specifies
if they are fit as linear/semi. If semi, use knots.v to specify knots.
Vector indicating the number of internal knots to be fit in the semi-parametric variance model. Knots are placed equidistantly over the covariate.
Integer indicating the degree of the splines fit in the mean and the variance models.
The default value is 2.
list of control parameters. See VarReg.control.
arguments to be used to form the default control argument if it is not supplied directly
data(mcycle)
## run a model with linear mean and linear variance:
linmodel<-semiVarReg.multi(mcycle$accel, x=mcycle, mean.model="linear",mean.vars=2,
var.model="linear", var.vars=2, maxit=10000)
## run a model with semi-parametric mean (4 internal knots) and semi-parametric variance (2 knots):
##not run
##semimodel<-semiVarReg.multi(mcycle$accel, x=mcycle, meanmodel="semi",mean.vars=2, varmodel="semi",
##var.vars=2,knots.m=4, knots.v=2, maxit=10000)
Run the code above in your browser using DataLab