mdm_ica: Independent Component Analysis via Mutual Dependence Measures

Description Usage Arguments Value References Examples

Description

mdm_ica performs independent component analysis by minimizing mutual dependence measures of all univariate components in X.

Usage

1
2
mdm_ica(X, num_lhs = NULL, type = "comp", num_bo = NULL, kernel = "exp",
  algo = "par")

Arguments

X

A matrix or data frame, where rows represent samples, and columns represent components.

num_lhs

The number of points generated by Latin hypercube sampling. If omitted, an adaptive number is used.

type

The type of mutual dependence measures, including

  • asym: asymmetric measure \mathcal{R}_n based on distance covariance \mathcal{V}_n;

  • sym: symmetric measure \mathcal{S}_n based on distance covariance \mathcal{V}_n;

  • comp: simplified complete measure \mathcal{Q}_n^\star based on incomplete V-statistics;

  • dhsic: d-variable Hilbert–Schmidt independence criterion dHSIC_n based on Hilbert–Schmidt independence criterion HSIC_n.

num_bo

The number of points evaluated by Bayesian optimization.

kernel

The kernel of the underlying Gaussian process in Bayesian optimization, including

  • exp: squared exponential kernel;

  • mat: Matern 5/2 kernel.

algo

The algorithm of optimization, including

  • def: deflation algorithm, where the components are extracted one at a time;

  • par: parallel algorithm, where the components are extracted simultaneously.

Value

mdm_ica returns a list including the following components:

theta

The rotation angles of the estimated unmixing matrix.

W

The estimated unmixing matrix.

obj

The objective value of the estimated independence components.

S

The estimated independence components.

References

Jin, Z., and Matteson, D. S. (2017). Generalizing Distance Covariance to Measure and Test Multivariate Mutual Dependence. arXiv preprint arXiv:1709.02532. https://arxiv.org/abs/1709.02532.

Pfister, N., et al. (2018). Kernel-based tests for joint independence. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 80(1), 5-31. http://dx.doi.org/10.1111/rssb.12235.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# X is a 10 x 3 matrix with 10 samples and 3 components
X <- matrix(rnorm(10 * 3), 10, 3)

# deflation algorithm
mdm_ica(X, type = "asym", algo = "def")
# parallel algorithm
mdm_ica(X, type = "asym", algo = "par")

## Not run: 
# bayesian optimization with exponential kernel
mdm_ica(X, type = "sym", num_bo = 1, kernel = "exp", algo = "par")
# bayesian optimization with matern kernel
mdm_ica(X, type = "comp", num_bo = 1, kernel = "mat", algo = "par")

## End(Not run)

Example output

$theta
[1] 2.6297107 2.1580757 0.2567545

$W
           [,1]       [,2]       [,3]
[1,]  0.4830763  0.2714078 -0.8324512
[2,]  0.6580615 -0.7396999  0.1407093
[3,] -0.5775745 -0.6157774 -0.5359346

$obj
[1] 0.1490002

$S
            [,1]         [,2]       [,3]
 [1,] -0.1555589  0.038498575  1.3301250
 [2,] -0.4209845  0.904180208 -0.3099393
 [3,]  0.4736704  0.967309596  1.5288993
 [4,] -0.3145208 -0.172197250  0.1263188
 [5,]  0.4736790 -2.407077093 -0.3099387
 [6,] -1.2608390 -0.673678461  0.9602217
 [7,] -1.0147071  0.148878818 -1.5440924
 [8,]  0.4736787  0.938728771 -1.0364770
 [9,] -0.5207062  0.253760333 -0.4887959
[10,]  2.2662883  0.001596503 -0.2563215

$theta
[1] 1.5623952 5.6370947 0.9851223

$W
            [,1]       [,2]       [,3]
[1,] 0.006707751 -0.7984154  0.6020696
[2,] 0.556956732 -0.4970670 -0.6653748
[3,] 0.830514422  0.3397899  0.4413487

$obj
[1] 0.1456412

$S
            [,1]       [,2]       [,3]
 [1,]  0.3569446  0.3711979 -1.2368168
 [2,]  0.8642730  0.1838478  0.5568343
 [3,]  0.5714146  1.4668785 -1.0096224
 [4,]  0.1285819 -0.2836317 -0.2180629
 [5,] -2.0258214 -1.3216753 -0.5134940
 [6,]  0.6016805 -0.9716087 -1.2882316
 [7,]  0.5714227 -1.1293181  1.3543018
 [8,]  0.1284329  0.5737934  1.3543020
 [9,]  0.4639068 -0.3623918  0.4774028
[10,] -1.6608356  1.4729079  0.5233867

30 points in hyperparameter space were pre-sampled

 Best Parameters Found: 
Round = 2	p1 = 5.9082	p2 = 3.8113	p3 = 2.7408	Value = -0.2871 
$theta
[1] 5.882716 3.757088 2.748267

$W
           [,1]       [,2]      [,3]
[1,] -0.7518855 -0.3183084 0.5773630
[2,]  0.5638548 -0.7642927 0.3129288
[3,]  0.3416664  0.5608355 0.7541403

$obj
[1] 0.2828188

$S
            [,1]        [,2]         [,3]
 [1,]  0.5646184  0.03791283 -1.214364783
 [2,]  0.1311426  0.97585750  0.348333166
 [3,] -0.1223525  0.82098203 -1.675888691
 [4,]  0.3637750 -0.11019643 -0.007494293
 [5,] -0.1113910 -2.44554942  0.348330333
 [6,]  1.6009412 -0.43577901 -0.461158579
 [7,]  0.4219833  0.37950716  1.764630556
 [8,] -0.9403666  0.85130430  0.755552420
 [9,]  0.2823572  0.36173428  0.603219231
[10,] -2.1907076 -0.43577325 -0.461159361

30 points in hyperparameter space were pre-sampled

 Best Parameters Found: 
Round = 28	p1 = 4.1302	p2 = 0.4448	p3 = 1.1021	Value = -0.1144 
$theta
[1] 4.1488195 0.2703856 1.2501170

$W
           [,1]       [,2]       [,3]
[1,] -0.5147982  0.8146403 -0.2671030
[2,] -0.1310508 -0.3826739 -0.9145416
[3,] -0.8472358 -0.4358004  0.3037591

$obj
[1] 0.08784919

$S
             [,1]        [,2]        [,3]
 [1,] -0.14932606  0.97625161  0.90528869
 [2,] -0.94817863 -0.43692075 -0.02982884
 [3,] -0.94818326  1.57270423  0.35374349
 [4,]  0.09958932 -0.09736336  0.35374286
 [5,]  2.46759798 -0.13099082 -0.09085994
 [6,]  0.35520691 -0.02543621  1.68486332
 [7,] -0.24894545 -1.83027722 -0.15533217
 [8,] -0.76332237 -0.48530531 -1.16691280
 [9,] -0.31993973 -0.68383708  0.06675434
[10,]  0.45550129  1.14117491 -1.92145896

EDMeasure documentation built on May 1, 2019, 6:32 p.m.