otica.model.OTICA¶
- class OTICA(n_components=None, *, whiten=True, w_init='fastica', max_iter=200, history_size=10, tol=1e-05, max_line_search_steps=20, armijo_min_increase=0.0001, random_state=None)[source]¶
Optimal transport ICA using orthogonal L-BFGS.
The estimator whitens the observations and maximizes the sum of empirical squared Wasserstein distances between the recovered components and a standard Gaussian. Optimization uses an L-BFGS approximation on the orthogonal group.
- Data preprocessing settings:
n_components: Number of components retained during whitening. When this is smaller than the ambient dimension, optimization runs in the reduced space.whiten: Whether to center and whiten the observations before fitting. When disabled, the observations are assumed to already be whitened.
- Initialization settings:
w_init: Initialization method or square initial unmixing matrix.random_state: Seed used for random initialization and FastICA.
- Optimization settings:
max_iter: Maximum number of L-BFGS iterations.history_size: Maximum number of L-BFGS correction pairs.tol: Convergence tolerance.max_line_search_steps: Maximum number of Armijo backtracking steps.armijo_min_increase: Armijo sufficient increase constant.
- Variables:
n_components (int | None) – Number of retained components before fitting.
whiten (bool) – Whether to whiten the data before fitting.
w_init (str | np.typing.ArrayLike) – Initialization method or initial unmixing matrix.
max_iter (int) – Maximum L-BFGS iterations.
history_size (int) – Maximum number of L-BFGS correction pairs.
tol (float) – Convergence tolerance.
max_line_search_steps (int) – Maximum Armijo backtracking steps.
armijo_min_increase (float) – Armijo sufficient increase constant.
random_state (int | None) – Random seed.
mean (np.ndarray) – Feature means removed during fitting. Available only when
whiten=True.whitening (np.ndarray) – Whitening matrix used to project onto the reduced component space. Available only when
whiten=True.components (np.ndarray) – Estimated unmixing matrix.
mixing (np.ndarray) – Pseudo-inverse of the unmixing matrix.
n_iter (int) – Number of L-BFGS iterations.
converged (bool) – Indicator of estimator convergence.
- Parameters:
n_components (int | None)
whiten (bool)
w_init (str | ArrayLike)
max_iter (int)
history_size (int)
tol (float)
max_line_search_steps (int)
armijo_min_increase (float)
random_state (int | None)
- __init__(n_components=None, *, whiten=True, w_init='fastica', max_iter=200, history_size=10, tol=1e-05, max_line_search_steps=20, armijo_min_increase=0.0001, random_state=None)[source]¶
Initializes the OTICA model.
- Parameters:
n_components (int | None, optional) – Number of retained components. Defaults to None.
whiten (bool, optional) – Whether to whiten the data. Defaults to True.
w_init (str | np.typing.ArrayLike, optional) – Initialization method or square initial unmixing matrix. Defaults to
"fastica".max_iter (int, optional) – Maximum L-BFGS iterations. Defaults to 200.
history_size (int, optional) – Maximum number of L-BFGS correction pairs. Defaults to 10.
tol (float, optional) – Convergence tolerance. Defaults to 1e-5.
max_line_search_steps (int, optional) – Maximum Armijo backtracking steps. Defaults to 20.
armijo_min_increase (float, optional) – Armijo sufficient increase constant. Defaults to 1e-4.
random_state (int | None, optional) – Random seed. Defaults to None.
- fit(X, y=None)[source]¶
Fits the optimal transport ICA model.
- Parameters:
X (np.typing.ArrayLike) – Training observations.
y (object, optional) – Ignored. Defaults to None.
- Returns:
The fitted estimator.
- Return type:
Self