AMUSEladle {tsBSS} | R Documentation |
Ladle Estimator to Estimate the Number of White Noise Components in SOS with AMUSE
Description
The ladle estimator uses the eigenvalues and eigenvectors of an autocovariance matrix with the chosen lag to estimate the number of white noise components in second-order source separation (SOS).
Usage
AMUSEladle(X, ...)
## Default S3 method:
AMUSEladle(X, tau = 1, l = 20, sim = c("geom", "fixed"), n.boot = 200, ncomp =
ifelse(ncol(X) > 10, floor(ncol(X)/log(ncol(X))), ncol(X) - 1), ...)
## S3 method for class 'ts'
AMUSEladle(X, ...)
## S3 method for class 'xts'
AMUSEladle(X, ...)
## S3 method for class 'zoo'
AMUSEladle(X, ...)
Arguments
X |
A numeric matrix or a multivariate time series object of class |
tau |
The lag for the AMUSE autocovariance matrix. |
l |
If |
sim |
If |
n.boot |
The number of bootstrapping samples. See |
ncomp |
The number of components among which the ladle estimator is to be searched. Must be between |
... |
Further arguments to be passed to or from methods. |
Details
AMUSE standardizes X
with n
samples and computes the eigenedcomposition of the autocovariance matrix of the standardized data for a chosen lag 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 squares of the corresponding eigenvalues of the autocovariance matrix. Under the assumption that we have k
non-white-noise components, the final p - k
eigenvalues equal zero, \lambda_{p-k} = \cdots = \lambda_{p} = 0
.
The change point from non-zero eigenvalues to zero eigenvalues is visible in the eigenvectors of the autocovariance matrix 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.
Value
A list of class ladle
containing:
method |
The string AMUSE. |
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 eigenvalues of the AMUSE matrix. |
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 |
lambda |
The eigenvalues of the AMUSE matrix. |
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 |
lag |
The used lag. |
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
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.4,0.1,0.3), ma = c(0.2, 0.4)))
s3 <- arima.sim(n = n, list(ar = c(0.7, 0.1)))
Snoise <- matrix(rnorm(5*n), ncol = 5)
S <- cbind(s1, s2, s3, Snoise)
A <- matrix(rnorm(64), 8, 8)
X <- S %*% t(A)
ladle_AMUSE <- AMUSEladle(X, l = 20, sim = "geom")
# The estimated number of non-white-noise components
summary(ladle_AMUSE)
# The ladle plot
ladleplot(ladle_AMUSE)
# Using ggplot
ggladleplot(ladle_AMUSE)
# Time series plots of the estimated components
plot(ladle_AMUSE)