simml (version 0.2.0)

fit.simml: Single-index models with multiple-links (workhorse function)

Description

fit.simml is the workhorse function for Single-index models with multiple-links (SIMML). The function estimates a linear combination (a single-index) of covariates X, and models the treatment-specific outcome y, via treatment-specific nonparametrically-defined link functions.

Usage

fit.simml(y, A, X, Xm = NULL, family = "gaussian", R = NULL,
  bs = "ps", k = 8, sp = NULL, linear.link = FALSE,
  method = "GCV.Cp", gamma = 1, max.iter = 20, eps.iter = 0.01,
  trace.iter = TRUE, ind.to.be.positive = NULL, lambda = 0,
  pen.order = 0, scale.X = TRUE, center.X = TRUE,
  ortho.constr = TRUE, beta.ini = NULL, si.main.effect = FALSE,
  random.effect = FALSE, z = NULL)

Arguments

y

a n-by-1 vector of treatment outcomes; y is a member of the exponential family; any distribution supported by mgcv::gam; y can also be an ordinal categorial response with R categories taking a value from 1 to R.

A

a n-by-1 vector of treatment variable; each element is assumed to take a value on a continuum.

X

a n-by-p matrix of baseline covarates.

Xm

a n-by-q design matrix associated with an X main effect model; the defult is NULL and it is taken as a vector of zeros

family

specifies the distribution of y; e.g., "gaussian", "binomial", "poisson"; can be any family supported by mgcv::gam; can also be "ordinal", for an ordinal categorical response y.

R

the number of response categories for the case of family = "ordinal".

bs

basis type for the treatment (A) and single-index domains, respectively; the defult is "ps" (p-splines); any basis supported by mgcv::gam can be used, e.g., "cr" (cubic regression splines); see mgcv::s for detail.

k

basis dimension for the treatment (A) and single-index domains, respectively.

sp

smoothing paramter for the treatment-specific link functions; if NULL, then estimated from the data.

linear.link

if TRUE, the link function is restricted to be linear.

method

the smoothing parameter estimation method; "GCV.Cp" to use GCV for unknown scale parameter and Mallows' Cp/UBRE/AIC for known scale; any method supported by mgcv::gam can be used.

gamma

increase this beyond 1 to produce smoother models. gamma multiplies the effective degrees of freedom in the GCV or UBRE/AIC (see mgcv::gam for detail); the default is 1.

max.iter

an integer specifying the maximum number of iterations for beta.coef update.

eps.iter

a value specifying the convergence criterion of algorithm.

trace.iter

if TRUE, trace the estimation process and print the differences in beta.coef.

ind.to.be.positive

for identifiability of the solution beta.coef, the user can restrict the jth (e.g., j=1) component of beta.coef to be positive; by default, we match the "overall" sign of beta.coef with that of the linear estimate (i.e., the initial estimate), by restricting the inner product between the two to be positive.

lambda

a regularization parameter associated with the penalized LS for beta.coef update.

pen.order

0 indicates the ridge penalty; 1 indicates the 1st difference penalty; 2 indicates the 2nd difference penalty, used in a penalized least squares (LS) estimation of beta.coef.

scale.X

if TRUE, scale X to have unit variance.

center.X

if TRUE, center X to have zero mean.

ortho.constr

separates the interaction effects from the main effect (without this, the interaction effect can be confounded by the main effect; the default is TRUE.

beta.ini

an initial value for beta.coef; a p-by-1 vector; the defult is NULL, in which case a linear model estimate is used.

si.main.effect

if TRUE, once the convergence in the estimates of beta.coef is reached, include the main effect associated with the fitted single-index (beta.coef'X) to the final fit; the default is FALSE.

random.effect

if TRUE, as part of the main effects, the user can incorporate z-specific random intercepts.

z

a factor that specifies the random intercepts when random.effect = TRUE.

Value

a list of information of the fitted SIMML including

beta.coef

the estimated single-index coefficients.

g.fit

a mgcv:gam object containing information about the estimated treatment-specific link functions.

beta.ini

the initial value used in the estimation of beta.coef

beta.path

solution path of beta.coef over the iterations

d.beta

records the change in beta.coef over the solution path, beta.path

scale.X

sd of pretreatment covariates X

center.X

mean of pretreatment covariates X

L

number of different treatment options

p

number of pretreatment covariates X

n

number of subjects

boot.ci

(1-boot.alpha/2) percentile bootstrap CIs (LB, UB) associated with beta.coef

Details

SIMML captures the effect of covariates via a single-index and their interaction with the treatment via nonparametric link functions. Interaction effects are determined by distinct shapes of the link functions. The estimated single-index is useful for comparing differential treatment efficacy. The resulting simml object can be used to estimate an optimal treatment decision rule for a new patient with pretreatment clinical information.

See Also

pred.simml, simml