lib5c.algorithms.express module

Module for implementation of the “Express” algorithm from Sauria et al. 2015.

lib5c.algorithms.express.express_normalize_matrix(obs_matrix, exp_matrix, max_iter=1000, eps=0.0001)[source]

Express balance a matrix given a corresponding expected matrix.

Parameters
  • obs_matrix (np.ndarray) – The matrix to normalize.

  • exp_matrix (np.ndarray) – The expected matrix corresponding to the obs_matrix.

  • max_iter (int) – The maximum number of iterations.

  • eps (float) – When the fractional change in the residual is less than this number, the algorithm is considered to have converged and will stop iterating.

Returns

The first element of the tuple is the normalized matrix. The second element is the multiplicative bias vector. The third element is a list containing the L1 norm of the residual at every iteration.

Return type

Tuple[np.ndarray, np.ndarray, List[float]]

lib5c.algorithms.express.joint_express_normalize(obs_matrices, exp_matrices, max_iter=1000, eps=0.0001)[source]

Express balance a set of matrices given a set of corresponding expected matrices, using a single shared bias vector.

Parameters
  • obs_matrices (List[np.ndarray]) – The matrix to normalize.

  • exp_matrices (List[np.ndarray]) – The expected matrix corresponding to the obs_matrix.

  • max_iter (int) – The maximum number of iterations.

  • eps (float) – When the fractional change in the residual is less than this number, the algorithm is considered to have converged and will stop iterating.

Returns

The first element of the tuple is the list of normalized matrices. The second element is the multiplicative bias vector. The third element is a list containing the L1 norm of the residual at every iteration.

Return type

Tuple[List[np.ndarray], np.ndarray, List[float]]