joinet {joinet} | R Documentation |
Multivariate Elastic Net Regression
Description
Implements multivariate elastic net regression.
Usage
joinet(
Y,
X,
family = "gaussian",
nfolds = 10,
foldid = NULL,
type.measure = "deviance",
alpha.base = 1,
alpha.meta = 1,
weight = NULL,
sign = NULL,
...
)
Arguments
Y |
outputs:
numeric matrix with |
X |
inputs:
numeric matrix with |
family |
distribution:
vector of length |
nfolds |
number of folds |
foldid |
fold identifiers:
vector of length |
type.measure |
loss function:
vector of length |
alpha.base |
elastic net mixing parameter for base learners:
numeric between |
alpha.meta |
elastic net mixing parameter for meta learners:
numeric between |
weight |
input-output relations:
matrix with |
sign |
output-output relations:
matrix with |
... |
further arguments passed to |
Details
input-output relations:
In this matrix with p
rows and q
columns,
the entry in the j
th row and the k
th column
indicates whether the j
th input may be used for
modelling the k
th output
(where 0
means "exclude" and
1
means "include").
By default (sign=NULL
),
all entries are set to 1
.
output-output relations:
In this matrix with q
rows and q
columns,
the entry in the l
th row and the k
th column
indicates how the l
th output may be used for
modelling the k
th output
(where -1
means negative effect,
0
means no effect,
1
means positive effect,
and NA
means any effect).
There are three short-cuts for filling up this matrix:
(1) sign=1
sets all entries to 1
(non-negativity constraints).
This is useful if all pairs of outcomes
are assumed to be positively correlated
(potentially after changing the sign of some outcomes).
(2) code=NA
sets all diagonal entries to 1
and all off-diagonal entries to NA
(no constraints).
(3) sign=NULL
uses Spearman correlation to determine the entries,
with -1
for significant negative, 0
for insignificant,
1
for significant positive correlations.
elastic net:
alpha.base
controls input-output effects,
alpha.meta
controls output-output effects;
lasso renders sparse models (alpha
=1
),
ridge renders dense models (alpha
=0
)
Value
This function returns an object of class joinet
.
Available methods include
predict
,
coef
,
and weights
.
The slots base
and meta
each contain
q
cv.glmnet
-like objects.
References
Armin Rauschenberger, Enrico Glaab (2021) "Predicting correlated outcomes from molecular data" Bioinformatics. btab576 doi: 10.1093/bioinformatics/btab576
See Also
cv.joinet
, vignette
Examples
## Not run:
n <- 50; p <- 100; q <- 3
X <- matrix(rnorm(n*p),nrow=n,ncol=p)
Y <- replicate(n=q,expr=rnorm(n=n,mean=rowSums(X[,1:5])))
object <- joinet(Y=Y,X=X)
## End(Not run)
## Not run:
browseVignettes("joinet") # further examples
## End(Not run)