SOBIladle {tsBSS}R Documentation

Ladle Estimator to Estimate the Number of White Noise Components in SOS with SOBI

Description

The ladle estimator uses the joint diagonalization "eigenvalues" and "eigenvectors" of several autocovariance matrices to estimate the number of white noise components in second-order source separation (SOS).

Usage

SOBIladle(X, ...)

## Default S3 method:
SOBIladle(X, tau = 1:12, l = 20, sim = c("geom", "fixed"), n.boot = 200, ncomp =
          ifelse(ncol(X) > 10, floor(ncol(X)/log(ncol(X))), ncol(X) - 1),
          maxiter = 1000, eps = 1e-06, ...)
## S3 method for class 'ts'
SOBIladle(X, ...)
## S3 method for class 'xts'
SOBIladle(X, ...)
## S3 method for class 'zoo'
SOBIladle(X, ...)

Arguments

X

A numeric matrix or a multivariate time series object of class ts, xts or zoo. Missing values are not allowed.

tau

The lags for the SOBI autocovariance matrices.

l

If sim = "geom" then l is the success probability of the geometric distribution from where the bootstrap block lengths for the stationary bootstrap are drawn. If sim = "fixed" then l is the fixed block length for the fixed block bootstrap.

sim

If "geom" (default) then the stationary bootstrap is used. If "fixed" then the fixed block bootstrap is used.

n.boot

The number of bootstrapping samples. See tsboot for details.

ncomp

The number of components among which the ladle estimator is to be searched. Must be between 0 and ncol(X)-1. The default follows the recommendation of Luo and Li (2016).

maxiter

Maximum number of iterations.

eps

Convergence tolerance.

...

Further arguments to be passed to or from methods.

Details

SOBI standardizes X with n samples and jointly diagonalizes the autocovariance matrices of the standardized data for a chosen set of lags tau, yielding a transformation \bf W giving the latent variables as {\bf S} = {\bf X} {\bf W}. Assume, without loss of generality, that the latent components are ordered in decreasing order with respect to the sums of squares of the corresponding "eigenvalues" produced by the joint diagonalization. Under the assumption that we have k non-white-noise components, the final p - k "eigenvalues" of each of the autocovariance matrices equal zero, \lambda^\tau_{p-k} = \cdots = \lambda^\tau_{p} = 0.

The change point from non-zero eigenvalues to zero eigenvalues is visible in the joint diagonalization "eigenvectors" of the autocovariance matrices as an increase in their boostrap variablity. Similarly, before the change point, the squared eigenvalues decrease in magnitude and afterwards they stay constant. The ladle estimate combines the scaled eigenvector bootstrap variability with the scaled eigenvalues to estimate the number of non-white-noise components. The estimate is the value of k = 0, \ldots , ncomp where the combined measure achieves its minimum value.

This function uses for the joint diagonalization the function frjd.int, which does not fail in case of failed convergence but returns the estimate from the final step.

Value

A list of class ladle containing:

method

The string SOBI.

k

The estimated number of non-white-noise components.

fn

The vector giving the measures of variation of the eigenvectors using the bootstrapped eigenvectors for the different number of components.

phin

Normalized sums of squared eigenvalues of the SOBI matrices.

data.name

The name of the data for which the ladle estimate was computed.

gn

The main criterion for the ladle estimate - the sum of fn and phin. k is the value where gn takes its minimum.

lambda

The sums of squared eigenvalues of the SOBI matrices.

W

The transformation matrix to the source components. Also known as the unmixing matrix.

S

Multivariate time series with the centered source components.

MU

The location of the data which was subtracted before calculating the source components.

sim

The used boostrapping technique, either "geom" or "fixed".

tau

The used set of lags for the SOBI autocovariance matrices.

Author(s)

Klaus Nordhausen, Joni Virta

References

Nordhausen, K. and Virta, J.(2018), Ladle Estimator for Time Series Signal Dimension. In 2018 IEEE Statistical Signal Processing Workshop (SSP), pp. 428–432, <doi:10.1109/SSP.2018.8450695>.

Luo, W. and Li, B. (2016), Combining Eigenvalues and Variation of Eigenvectors for Order Determination, Biometrika, 103. 875–887. <doi:10.1093/biomet/asw051>

See Also

AMUSE, SOBI, AMUSEladle, frjd.int

Examples

  n <- 1000
  
  s1 <- arima.sim(n = n, list(ar = 0.6, ma = c(0, -0.4)))
  s2 <- arima.sim(n = n, list(ar = c(0, 0.1,0.3), ma = c(0.2, 0.4)))
  s3 <- arima.sim(n = n, list(ar = c(0, 0.8)))
  Snoise <- matrix(rnorm(5*n), ncol = 5)
  S <- cbind(s1, s2, s3, Snoise)

  A <- matrix(rnorm(64), 8, 8)
  X <- S %*% t(A)
  
  ladle_SOBI <- SOBIladle(X, l = 20, sim = "geom")

  # The estimated number of non-white-noise components
  summary(ladle_SOBI)
  
  # The ladle plot
  ladleplot(ladle_SOBI)
  
  # Time series plots of the estimated components
  plot(ladle_SOBI)
  
  # Note that AMUSEladle with lag 1 does not work due to the lack of short range dependencies
  ladle_AMUSE <- AMUSEladle(X)

  summary(ladle_AMUSE)
  ladleplot(ladle_AMUSE)
  
  # xts series as input
  library("xts")
  data(sample_matrix)
  X2 <- as.xts(sample_matrix)
  ladle_SOBI_xts <- SOBIladle(X2, l = 20, sim = "geom")
  plot(ladle_SOBI_xts, multi.panel = TRUE)

  # zoo series as input
  X3 <- as.zoo(X)
  ladle_SOBI_zoo <- SOBIladle(X3, l = 20, sim = "geom")
  plot(ladle_SOBI_zoo)

[Package tsBSS version 1.0.0 Index]