gemmr.generative_model._find_latent_mode_vectors_qr

gemmr.generative_model._find_latent_mode_vectors_qr(Sigmaxx, Sigmayy, U, V, assemble_Sigmaxy, expl_var_ratio_thr, m, max_n_sigma_trials, qx, qy, rng, true_corrs, verbose)

Finds random latent mode vectors using the QR algorithm.

Latent mode vectors are selected as the \(Q\) factor in a QR-decomposition of a matrix with elements chosen i.i.d. from a standard normal distribution.

Parameters:
  • Sigmaxx (np.ndarray (px, px)) – within-set covariance matrix for X
  • Sigmayy (np.ndarray (py, py)) – within-set covariance matrix for Y
  • U (np.ndarray (px, m)) – weight vectors for X
  • V (np.ndarray (py, m)) – weight vectors for Y
  • assemble_Sigmaxy (function) – either _assemble_Sigmaxy_pls or _assemble_Sigmaxy_cca
  • expl_var_ratio_thr (float) – the ratio of the amount of variance along the first mode vectors in X and Y to the mean variance along a mode in X and Y needs to surpass this number.
  • m (int >= 1) – number of cross-modality modes to be encoded
  • max_n_sigma_trials (int) – maximum number of attempts made to find a linear combination of dominant and low-variance subspace components for the weight vectors such that both enough variance is explained and the resulting joint covariance matrix \(\Sigma\) is positive definite
  • qx (int) – dimensionality of dominant subspace for X
  • qy (int) – dimensionality of dominant subspace for Y
  • rng (random number generator instance) – for reproducibility, all random numbers will be drawn from this generator
  • true_corrs (np.ndarray (m,)) – true correlation of between-set association modes
  • verbose (bool) – whether to print status messages
Returns:

  • Sigmaxy (np.ndarray (px, py)) – between-set covariance matrix
  • Sigmaxy_svals (np.ndarray (m,)) – singular values of Sigmaxy, these are the true canonical correlations or covariances (for CCA or PLS, respectively)
  • U_ (np.ndarray (px, m)) – between-set weight vectors
  • V_ (np.ndarray (py, m)) – between-set weight vectors
  • latent_expl_var_ratios_x (np.ndarray (m,)) – explained variance ratios for between-set weight vectors in set X
  • latent_expl_var_ratios_y (np.ndarray (m,)) – explained variance ratios for between-set weight vectors in set Y
  • min_eval (float) – smallest eigenvalue of Schur complement of joint covariance matrix \(\Sigma\). \(\Sigma\) is positive definite if and only if min_eval > 0
  • true_corrs (np.ndarray (m,)) – true correlations of between-set association modes
  • latent_mode_vector_algo (str) – identifies the algorithm: is set to 'qr__'