SO_TDI {multiblock} | R Documentation |
Total, direct, indirect and additional effects in SO-PLS-PM.
Description
SO-PLS-PM is the use of SO-PLS for path-modelling. This particular function is used to compute effects (explained variances) in sub-paths of the directed acyclic graph.
Usage
sopls_pm(
X,
Y,
ncomp,
max_comps = min(sum(ncomp), 20),
sel.comp = "opt",
computeAdditional = FALSE,
sequential = FALSE,
B = NULL,
k = 10,
type = "consecutive",
simultaneous = TRUE
)
## S3 method for class 'SO_TDI'
print(x, showComp = TRUE, heading = "SO-PLS path effects", digits = 2, ...)
sopls_pm_multiple(
X,
ncomp,
max_comps = min(sum(ncomp), 20),
sel.comp = "opt",
computeAdditional = FALSE,
sequential = FALSE,
B = NULL,
k = 10,
type = "consecutive"
)
## S3 method for class 'SO_TDI_multiple'
print(x, heading = "SO-PLS path effects", digits = 2, ...)
Arguments
X |
A |
Y |
A |
ncomp |
An |
max_comps |
Maximum total number of components. |
sel.comp |
A |
computeAdditional |
A |
sequential |
A |
B |
An |
k |
An |
type |
A |
simultaneous |
|
x |
An object of type |
showComp |
A |
heading |
A |
digits |
An |
... |
Not implemented |
Details
sopls_pm
computes 'total', 'direct', 'indirect' and 'additional' effects for the 'first' versus the
'last' input block by cross-validated explained variances. 'total' is the explained variance when doing
regression of 'first' -> 'last'. 'indirect' is the the same, but controlled for the intermediate blocks.
'direct' is the left-over part of the 'total' explained variance when subtracting the 'indirect'. Finally,
'additional' is the added explained variance of 'last' for each block following 'first'.
sopls_pm_multiple
is a wrapper for sopls_pm
that repeats the calculation for all pairs of blocks
from 'first' to 'last'. Where sopls_pm
has a separate response, Y, signifying the 'last' block,
sopls_pm_multiple
has multiple 'last' blocks, depending on sub-path, thus collects the response(s)
from the list of blocks X.
When sel.comp = "opt", the number of components for all models are optimized using cross-validation within the ncomp and max_comps supplied. If sel.comp is "chi", an optimization is also performed, but parsimonious solutions are sought through a chi-square chriterion. When setting sel.comp to a numeric vector, exact selection of number of components is performed.
When setting B to a number, e.g. 200, the procedures above are repeated B times using bootstrapping to estimate standard deviations of the cross-validated explained variances.
Value
An object of type SO_TDI
containing total, direct and indirect effects, plus
possibly additional effects and standard deviations (estimated by bootstrapping).
References
Menichelli, E., Almøy, T., Tomic, O., Olsen, N. V., & Næs, T. (2014). SO-PLS as an exploratory tool for path modelling. Food quality and preference, 36, 122-134.
Næs, T., Romano, R., Tomic, O., Måge, I., Smilde, A., & Liland, K. H. (2020). Sequential and orthogonalized PLS (SO-PLS) regression for path analysis: Order of blocks and relations between effects. Journal of Chemometrics, e3243.
See Also
Overviews of available methods, multiblock
, and methods organised by main structure: basic
, unsupervised
, asca
, supervised
and complex
.
Examples
# Single path for the potato data:
data(potato)
pot.pm <- sopls_pm(potato[1:3], potato[['Sensory']], c(5,5,5), computeAdditional=TRUE)
pot.pm
# Corresponding SO-PLS model:
# so <- sopls(Sensory ~ ., data=potato[c(1,2,3,9)], ncomp=c(5,5,5), validation="CV", segments=10)
# maageSeq(pot.so, compSeq = c(3,2,4))
# All path in the forward direction for the wine data:
data(wine)
pot.pm.multiple <- sopls_pm_multiple(wine, ncomp = c(4,2,9,8))
pot.pm.multiple