The
The desing principles and functionality of the package is best explained by first explaining the main
function matrixpls
. The function performs two tasks. It first calculates a set of indicator
weights to form composites based on data covariance matrix and then estimates a statistical model
with the indicators and composites using the weights. The main function takes the following arguments:
matrixpls(S, model, W.model = NULL, weightFunction = weight.pls, parameterEstimator = params.separate, weightSignCorrection = NULL, ..., validateInput = TRUE, standardize = TRUE)
The first five arguments of matrixpls
are most relevant for understanding how the package
works. S
, is the data covariance or correlation matrix. model
defines the model
which is estimated in the second stage and W.model
defines how the indicators are to be
aggregated as composites. If W.model
is left undefined, it will be constructed based on
model
following rules that are explained elsewhere in the documentation.
weightFunction
and
parameterEstimator
are functions that
implement the first and second task of the function respectively. All other arguments are passed
down to these two functions, which in turn can pass arguments to other functions that they call.
Many of the commonly used arguments of matrixpls
function are functions themselves. For
example, executing a PLS analysis with Mode B outer estimation for all indicator blocks and centroid inner
estimation could be specified as follows:
matrixpls(S, model, outerEstimators = outer.modeB, innerEstimator = inner.centroid)
The arguments outerEstimators
and innerEstimator
are not defined by the
matrixpls
function, but are passed down to weight.pls
which is used as the default
weightFunction
. outer.modeB
and inner.centroid
are themselves functions provided
by the
It is also possible to define custom functions. For example, we could define a new Mode B outer estimator that only produces positive weights by creating a custom function:
myModeB <- function(...){ abs(outer.ModeB(...)) }
matrixpls(S, model, outerEstimators = myModeB, innerEstimator = inner.centroid)
Model can be specified in the lavaan format or the native matrixpls format.
The native model format is a list of three binary matrices, inner
, reflective
,
and formative
specifying the free parameters of a model: inner
(l x l
) specifies the
regressions between composites, reflective
(k x l
) specifies the regressions of observed
data on composites, and formative
(l x k
) specifies the regressions of composites on the
observed data. Here k
is the number of observed variables and l
is the number of composites.
If the model is specified in lavaan format, the native
format model is derived from this model by assigning all regressions between latent
variables to inner
, all factor loadings to reflective
, and all regressions
of latent variables on observed variables to formative
. Regressions between
observed variables and all free covariances are ignored. All parameters that are
specified in the model will be treated as free parameters.
The original papers about Partial Least Squares, as well as many of the current PLS
implementations, impose restrictions on the matrices inner
,
reflective
, and formative
: inner
must be a lower triangular matrix,
reflective
must have exactly one non-zero value on each row and must have at least
one non-zero value on each column, and formative
must only contain zeros.
Some PLS implementations allow formative
to contain non-zero values, but impose a
restriction that the sum of reflective
and t(formative)
must satisfy
the original restrictions of reflective
. The only restrictions that matrixpls
imposes on inner
, reflective
, and formative
is that these must be
binary matrices and that the diagonal of inner
must be zeros.
Lohmöller J.-B. (1989) Latent variable path modeling with partial least squares. Heidelberg: Physica-Verlag.
Rönkkö, M., McIntosh, C. N., & Antonakis, J. (2015). On the adoption of partial least squares in psychological research: Caveat emptor. Personality and Individual Differences, (87), 76–84.
Wold, H. (1982). Soft modeling - The Basic Design And Some Extensions. In K. G. Jöreskog & S. Wold (Eds.),Systems under indirect observation: causality, structure, prediction (pp. 1–54). Amsterdam: North-Holland.