FactorLoadingMatrices.loading_matrix
— MethodConstructs a matrix of loadings to map nfactor
latent variables to nx
observed variables. The upper triangle is all zeros to enfactororce linear independence among the loading vectors.
Arguments
values::AbstractVector
: vector of values to put in the nonzero lower triangle. They are
filled in order running down the columns from left to right.
nx::Integer
: Dimension of the data, i.e. the number of rows in the loading matrixnfactor::Integer
: Number of factors, i.e. the number of columns in the loading matrix
FactorLoadingMatrices.nnz_loading
— MethodGives the number of nonzero entries (i.e. the number of entries in the lower triangle) of the loading matrix for the specified data dimension nx
and number of factors nfactor
.
FactorLoadingMatrices.varimax
— Methodvarimax(A; gamma = 1.0, minit = 20, maxit = 1000, reltol = 1e-12)
VARIMAX perform varimax (or quartimax, equamax, parsimax) rotation to the column vectors of the input matrix.
Input Arguments
A::Matrix{TA}
: input matrix, whose column vectors are to be rotated. d, m = size(A).gamma
: default is 1. gamma = 0, 1, m/2, and d(m - 1)/(d + m - 2), corresponding to quartimax, varimax, equamax, and parsimax.minit::Int
: default is 20. Minimum number of iterations, in case of the stopping criteria fails initially.maxit::Int
: default is 1000. Maximum number of iterations.reltol::Float64
: default is 1e-12. Relative tolerance for stopping criteria.
Output Argument
B::Matrix{Float64}
: output matrix, whose columns are already been rotated.
Implemented by Haotian Li, Aug. 20, 2019