Calculate composite weights using generalized structured component analysis with uniqueness terms (GSCAm) proposed by Hwang2017;textualcSEM.
Usage
calculateWeightsGSCAm(
.X = args_default()$.X,
.csem_model = args_default()$.csem_model,
.conv_criterion = args_default()$.conv_criterion,
.iter_max = args_default()$.iter_max,
.starting_values = args_default()$.starting_values,
.tolerance = args_default()$.tolerance
)
Arguments
- .X
A matrix of processed data (scaled, cleaned and ordered).
- .csem_model
A (possibly incomplete) cSEMModel-list.
- .conv_criterion
Character string. The criterion to use for the convergence check. One of: "diff_absolute", "diff_squared", or "diff_relative". Defaults to "diff_absolute".
- .iter_max
Integer. The maximum number of iterations allowed. If
iter_max = 1
and.approach_weights = "PLS-PM"
one-step weights are returned. If the algorithm exceeds the specified number, weights of iteration step.iter_max - 1
will be returned with a warning. Defaults to100
.- .starting_values
A named list of vectors where the list names are the construct names whose indicator weights the user wishes to set. The vectors must be named vectors of
"indicator_name" = value
pairs, wherevalue
is the (scaled or unscaled) starting weight. Defaults toNULL
.- .tolerance
Double. The tolerance criterion for convergence. Defaults to
1e-05
.
Value
A list with the elements
$W
A (J x K) matrix of estimated weights.
$C
The (J x K) matrix of estimated loadings.
$B
The (J x J) matrix of estimated path coefficients.
$E
NULL
$Modes
A named vector of Modes used for the outer estimation, for GSCA the mode is automatically set to 'gsca'.
$Conv_status
The convergence status.
TRUE
if the algorithm has converged andFALSE
otherwise.$Iterations
The number of iterations required.
Details
If there are only constructs modeled as common factors
calling csem()
with .appraoch_weights = "GSCA"
will automatically call
calculateWeightsGSCAm()
unless .disattenuate = FALSE
.
GSCAm currently only works for pure common factor models. The reason is that the implementation
in cSEM is based on (the appendix) of Hwang2017;textualcSEM.
Following the appendix, GSCAm fails if there is at least one construct
modeled as a composite because calculating weight estimates with GSCAm leads to a product
involving the measurement matrix. This matrix does not have full rank
if a construct modeled as a composite is present.
The reason is that the measurement matrix has a zero row for every construct
which is a pure composite (i.e. all related loadings are zero)
and, therefore, leads to a non-invertible matrix when multiplying it with its transposed.