Select the number of tensor synergies by a VAF threshold
Source:R/emg-tensor.R
muscleSynergyTensorOrder.RdFits non-negative PARAFAC for increasing rank and returns the smallest number
of synergies whose reconstruction VAF reaches vaf_threshold.
Arguments
- tensor
A non-negative
muscle x time x trialarray.- max_synergies
Largest rank to try (default 6).
- vaf_threshold
VAF target (default 0.90).
- ...
Passed to
muscleSynergyTensor().
Examples
set.seed(1)
M <- 6; Tt <- 40; K <- 8; R <- 2
A0 <- matrix(runif(M * R), M, R); B0 <- matrix(runif(Tt * R), Tt, R)
C0 <- matrix(runif(K * R), K, R)
X <- array(0, c(M, Tt, K))
for (r in 1:R) for (k in 1:K) X[, , k] <- X[, , k] +
(A0[, r] %o% B0[, r]) * C0[k, r]
ord <- muscleSynergyTensorOrder(X, max_synergies = 3, seed = 1)
ord$n_synergies
#> [1] 1