You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you expect more than one interpretable semantic axis related to the outcome, `fit_multipls()` fits `k` PLS components, rotates the W-subspace (`"varimax"`, `"promax"`, or `"raw"`), and returns a container of per-dim leaves — one per rotated axis plus a `"combined"` leaf for the (rotation-invariant) unrotated prediction β.
310
+
When you expect more than one interpretable semantic axis related to the outcome, `fit_multipls()` fits `k` PLS components, rotates the W-subspace (`"varimax"` or `"raw"`), and returns a container of per-dim leaves — one per rotated axis plus a `"combined"` leaf for the (rotation-invariant) unrotated prediction β.
|`n_components`|`int`| — (required) | Number of PLS components to extract |
330
-
|`rotate`|`"raw" \| "varimax" \| "promax"`|`"varimax"`| Rotation applied to the W-subspace |
331
-
|`kappa`|`int \| float`|`4`| Promax exaggeration exponent (ignored for other rotations) |
332
-
|`pca_preprocess`, `p_method`, `n_perm`, `n_splits`, `split_ratio`, `random_state`, `verbose`| — | — | Same meaning and defaults as `fit_pls`|
330
+
|`rotate`|`"raw" \| "varimax"`|`"varimax"`| Rotation applied to the W-subspace |
331
+
|`p_method`, `n_perm`, `n_splits`, `random_state`, `verbose`| — | — | Same meaning and defaults as `fit_pls`|
333
332
334
333
> **Status.** API is stable for research use but feature parity with `PLSResult` (per-leaf clusters, snippets, misdiagnosed docs, per-dim diagnostics) is still being rolled out. See [`examples/demo_multipls.py`](examples/demo_multipls.py) and [`docs/api_reference.md`](docs/api_reference.md#fit_multipls--rotated-multi-component-pls-in-development).
|`n_splits`|`int`|`50`|Splits for `"split"` / `"split_cal"`. |
226
-
|`split_ratio`|`float`|`0.5`|Train fraction for split-based tests. |
221
+
|`n_components`|`int \| "sequence" \| "postselection"`|`1`| Number of PLS components. Pass a string to delegate K-selection to `plskit.pls1_find_k`: `"sequence"`(sequential incremental tests) or `"postselection"` (split-based selection + calibrated certificate). |
222
+
|`cv_folds`|`int`|`10`| CV folds for `selector="cv_q2"`under `n_components="postselection"`. Ignored otherwise. |
223
+
|`k_cap`|`int`|`5`| Maximum K considered when `n_components` is a string (further capped at `n − 1` and `D`). |
|`p_method`|`str \| None`|`"auto"`|`"raw_perm"`, `"split_nb"`,`"split_perm"`, `"auto"` (= `"split_nb"` for 1 component, `"raw_perm"` otherwise), or `None` to skip. |
226
+
|`n_perm`|`int`|`1000`|Permutations for `"raw_perm"` / `"split_perm"`. |
227
+
|`n_splits`|`int`|`50`|Splits for `"split_nb"` / `"split_perm"`. |
227
228
|`random_state`|`int`|`2137`| Seed. |
228
229
|`verbose`|`bool`|`False`| Print progress. |
229
230
@@ -261,21 +262,18 @@ Fits `n_components` PLS dimensions, rotates the W-subspace for interpretability,
261
262
```python
262
263
result = ssd.fit_multipls(*,
263
264
n_components, # required — no default
264
-
rotate="varimax", # "varimax" | "promax" | "raw"
265
-
kappa=4, # promax exaggeration exponent
266
-
pca_preprocess=None,
265
+
rotate="varimax", # "varimax" | "raw"
267
266
p_method="auto",
268
-
n_perm=1000, n_splits=50,split_ratio=0.5,
267
+
n_perm=1000, n_splits=50,
269
268
random_state=2137, verbose=False,
270
269
)
271
270
```
272
271
273
272
| Argument | Type | Default | Description |
274
273
|---|---|---|---|
275
274
|`n_components`|`int`| — | Number of PLS components to rotate. Required. Raises if NIPALS deflation produces fewer (no silent truncation). |
276
-
|`rotate`|`str`|`"varimax"`|`"varimax"` (orthogonal), `"promax"` (oblique, correlated factors), `"raw"` (no rotation — still reorders dims by `|corr(t_i, y)|` and sign-flips). |
277
-
|`kappa`|`int \| float`|`4`| Promax exaggeration exponent. Ignored for other rotations. |
278
-
|`pca_preprocess`, `p_method`, `n_perm`, `n_splits`, `split_ratio`, `random_state`, `verbose`| — | — | Same meaning and defaults as `fit_pls`. |
275
+
|`rotate`|`str`|`"varimax"`|`"varimax"` (orthogonal) or `"raw"` (no rotation — still reorders dims by `|corr(t_i, y)|` and sign-flips). |
276
+
|`p_method`, `n_perm`, `n_splits`, `random_state`, `verbose`| — | — | Same meaning and defaults as `fit_pls`. |
0 commit comments