View source: R/bowl_transform.R
| bowl_transform | R Documentation |
Apply the bowl transformation proposed for robust distance-correlation based independent component analysis. The transformation is bounded, one-to-one, and continuous, and maps far outlying observations close to the origin while preserving the key implication that zero distance correlation implies independence after transformation.
bowl_transform(
X,
alpha = 0.9975,
do_scale = FALSE,
location = NULL,
scale = NULL
)
X |
A numeric data matrix or an object coercible to a matrix. Rows are observations and columns are variables. |
alpha |
A probability level used to define the cutoff
|
do_scale |
Logical; if |
location |
Optional centering vector used when |
scale |
Optional scaling vector used when |
By default, the input is not standardized before the transformation is
applied. Optional centering and scaling can be requested through
do_scale = TRUE.
Let x_i be an observation, \|x_i\| its Euclidean norm, and
q = \sqrt{\chi^2_{p,\alpha}}. Define
u_i = \tanh(\|x_i\| / q).
The transformed observation is then
\left(10u_i^2(1-u_i)^2 x_i,\; 10u_i^6(1-u_i)^2\right).
A numeric matrix with nrow(X) rows and ncol(X) + 1 columns.
The first ncol(X) columns contain the transformed coordinates and the
final column contains the additional radial component introduced by the
bowl transformation.
Leyder, S., Raymaekers, J., Rousseeuw, P. J., Van Deuren, T., and Verdonck, T. (2026). Independent component analysis by robust distance correlation. Advances in Data Analysis and Classification, 20, 727–765. doi:10.1007/s11634-026-00674-9
X <- cbind(rnorm(10), rt(10, df = 4))
bowl_transform(X)
bowl_transform(X, do_scale = TRUE)
bowl_transform(X, alpha = 0.99)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.