Description Usage Arguments Details Value References See Also Examples
pdSpecClust2D
performs clustering of HPD timevarying spectral matrices corrupted by noise (e.g. HPD timevarying
periodograms) by combining wavelet thresholding and fuzzy clustering in the intrinsic wavelet coefficient domain according to
the following steps:
Transform a collection of noisy HPD timevarying spectral matrices to the intrinsic wavelet domain and denoise the
HPD matrix surfaces by (treestructured) thresholding of wavelet coefficients with pdSpecEst2D
.
Apply an intrinsic fuzzy cmeans algorithm to the coarsest midpoints at scale j = 0
across subjects.
Taking into account the fuzzy cluster assignments in the previous step, apply a weighted fuzzy cmeans
algorithm to the nonzero thresholded wavelet coefficients across subjects from scale j = 1
up to j = jmax
.
More details can be found in Chapter 3 of \insertCiteC18pdSpecEst and the accompanying vignettes.
1 2 3  pdSpecClust2D(P, K, jmax, metric = "Riemannian", m = 2, d.jmax = 0.1,
eps = c(1e04, 1e04), tau = 0.5, max_iter = 50,
return.centers = FALSE, ...)

P 
a ( 
K 
the number of clusters, a positive integer larger than 1. 
jmax 
an upper bound on the maximum wavelet scale to be considered in the clustering procedure. If

metric 
the metric that the space of HPD matrices is equipped with. The default choice is 
m 
the fuzziness parameter for both fuzzy cmeans algorithms. 
d.jmax 
a proportion that is used to determine the maximum wavelet scale to be considered in the clustering
procedure. A larger value 
eps 
an optional vector with two components determining the stopping criterion. The first step in the cluster procedure
terminates if the (integrated) intrinsic distance between cluster centers is smaller than 
tau 
an optional argument tuning the weight given to the cluster assignments obtained in the first step of
the clustering algorithm. If 
max_iter 
an optional argument tuning the maximum number of iterations in both the first and second step of the
clustering algorithm, defaults to 
return.centers 
should the cluster centers transformed back the space of HPD matrices also be returned?
Defaults to 
... 
additional arguments passed on to 
The input array P
corresponds to a collection of initial noisy HPD timevarying spectral estimates of the
(d,d)dimensional timevarying spectral matrix at n_1 \times n_2 timefrequency points, with n_1, n_2
dyadic numbers, for S different subjects. These can be e.g., multitaper HPD timevarying periodograms given as output
by the function pdPgram2D
.
First, for each subject s = 1,…,S, thresholded wavelet coefficients in the intrinsic wavelet domain are
calculated by pdSpecEst2D
, see the function documentation for additional details on the wavelet thresholding
procedure.
The maximum wavelet scale taken into account in the clustering procedure is determined by the arguments
jmax
and d.jmax
. The maximum scale is set to the minimum of jmax
and the wavelet
scale j for which the proportion of nonzero thresholded wavelet coefficients (averaged
across subjects) is smaller than d.jmax
.
The S subjects are assigned to K different clusters in a probabilistic fashion according to a
twostep procedure:
In the first step, an intrinsic fuzzy cmeans algorithm, with fuzziness parameter m is applied to the
S coarsest midpoints at scale j = 0
in the subjectspecific 2D midpoint pyramids. Note that the distance
function in the intrinsic cmeans algorithm relies on the chosen metric on the space of HPD matrices.
In the second step, a weighted fuzzy cmeans algorithm based on the Euclidean
distance function, also with fuzziness parameter m, is applied to the nonzero thresholded wavelet
coefficients of the S different subjects. The tuning parameter tau
controls the weight given
to the cluster assignments obtained in the first step of the clustering algorithm.
The function computes the forward and inverse intrinsic 2D AI wavelet transform in the space of HPD matrices equipped with
one of the following metrics: (i) the affineinvariant Riemannian metric (default) as detailed in e.g., \insertCiteB09pdSpecEst[Chapter 6]
or \insertCitePFA05pdSpecEst; (ii) the logEuclidean metric, the Euclidean inner product between matrix logarithms;
(iii) the Cholesky metric, the Euclidean inner product between Cholesky decompositions; (iv) the Euclidean metric; or
(v) the rootEuclidean metric. The default choice of metric (affineinvariant Riemannian) satisfies several useful properties
not shared by the other metrics, see \insertCiteC18pdSpecEst for more details. Note that this comes
at the cost of increased computation time in comparison to one of the other metrics.
If return.centers = TRUE
, the function also returns the K
HPD timevarying spectral matrices corresponding to
the cluster centers based on the given metric by applying the intrinsic inverse 2D AI wavelet transform (
InvWavTransf2D
) to the cluster centers in the wavelet domain.
Depending on the input the function returns a list with five or six components:
an (S,K)dimensional matrix, where the value at position (s,k) in the matrix corresponds to the probabilistic cluster membership assignment of subject s with respect to cluster k.
a list of K
wavelet coefficient pyramids, where each 2D pyramid of wavelet
coefficients is associated to a cluster center.
a list of K
arrays of coarsescale midpoints at scale j = 0
, where each
array is associated to a cluster center.
only available if return.centers = TRUE
, returning a list of K
(d,d,n[1],n[2])
dimensional
arrays, where each array corresponds to ann_1 \times n_2sized surface of (d,d)dimensional HPD matrices associated
to a cluster center.
the maximum wavelet scale taken into account in the clustering procedure determined by
the input arguments jmax
and d.jmax
.
pdSpecEst2D
, WavTransf2D
, pdDist
, pdPgram2D
1 2 3 4 5 6 7 8  ## Not run:
## Generate noisy HPD surfaces for 6 subjects in 2 groups
n < c(2^5, 2^5)
P < array(c(rExamples2D(n, example = "tvar", replicates = 3)$P,
rExamples2D(n, example = "tvar", replicates = 3)$P), dim = c(2, 2, n, 6))
cl < pdSpecClust2D(P, K = 2, metric = "logEuclidean")
## End(Not run)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.