A multivariate version of the scarm.filter which also gives information about parallel running components of the multivariate time series
mscarm.filter(time.series,
right.width=30, min.left.width=right.width,
min.width=floor(right.width/3), max.width=200,
sign.level=0.001, bound.noise.sd=0.01,
rtr=TRUE, autocorrelations="automatic",
c.bound=3, r.bound=0)mscarm.filter returns an object of class mscarm.filter.
An object of class mscarm.filter is a list containing the
following components:
a matrix containing the signal estimations
a matrix containing the slope (or trend) estimations
a matrix containing the adapted window widths
a matrix containing the estimated noise standard deviations
a matrix containing the signal estimates of the univariate SCARM
a matrix containing the adapted window widths of the univariate SCARM
a matrix containing the SCARM test statistics
a matrix containing the critical values of the SCARM test
a matrix containing the SSM statistics
a matrix of the blocks built by the SSM procedure
a matrix containing the estimated autocorrelations at lag one for each time point; estimation is done on the recent max.width observations at each time point
the original input data
In addition, the input arguments used for the analysis are returned as list members.
Application of the function plot to an object of class
mscarm.filter returns a plot showing the original time series
with the filtered output. If info==TRUE (default), a plot showing the results of the SSM procedure is given.
a numeric matrix or multivariate time series object.
a positive integer \(\ge 5\) defining the fixed width of the right-hand window used for the SCARM test; the choice of right.width is crucial to distinguish between a patch of outliers and a signal change.
a positive integer \(\ge\) right.width defining the minimum width of the left-hand window used for testing.
a positive integer \(\ge 5\) specifying the minimum window width.
a positive integer \(\ge\) min.width and \(\ge\) right.width + min.left.width specifying the maximum window width.
significance level of the SCARM test procedure; must be a value in \((0,0.5)\).
a lower bound for the estimate of the noise standard deviation; this bound ensures that the noise scale estimate cannot be zero due to ties in the data; must be a value \(> 0\).
if rtr=TRUE, the signal estimation is restricted to the range of the rightmost min.width observations.
the mscarm.filter is developed for non-autocorrelated data, but can be adapted to work for AR(1) processes with parameter \(\phi = -0.9,-0.6,...,0.9\); autocorrelations must be either "no" (\(\phi=0\)), "high.positive" (\(\phi=0.9\)), "moderate.positive" (\(\phi=0.6\)), "small.positive" (\(\phi=0.3\)), "small.negative" (\(\phi=-0.3\)), "moderate.negative (\(\phi=-0.6\))", "high.negative (\(\phi=-0.9\))" or "automatic"; if autocorrelations="automatic", the true parameter \(\phi\) is estimated at each time point.
the bound for the SSM (Similar Slope Monitoring) statistic which is the absolute difference of RM (Repeated Median) trend estimates (of two univariate time series) relative to the estimated standard deviation of this difference; if the SSM statistic is not larger than c.bound, a relationship between the two time series is assumed; c.bound must be a value >0.
the bound for the ratio of adapted window widths (of two univariate time series); a relationship between the two time series is only possible, if this ratio (smaller window width divided by larger window width) is smaller than r.bound; r.bound must be a value in \([0,1]\).
Matthias Borowski
The mscarm.filter is a procedure for real-time signal extraction from noisy and outlier-contaminated instationary multivariate time series. It is based on Repeated Median regression (Siegel, 1982) in moving time windows. At each time point \(t\) the test procedure of the SCARM filter (Borowski and Fried, 2011) is used to determine an appropriate window width \(n(t)\) in [min.width, max.width]. Then the signal vector at time \(t\) is estimated within the time window \((t-n(t)+1,\ldots,t)\) by a slight modification of the multivariate Trimmed Repeated Median-Least Squares regression (Lanius, Gather, 2010). At each time point \(t\), the mscarm.filter uses the Similar Slope Monitoring (SSM) method to build blocks of currently interrelated univariate time series. This information is given to the user and is used to improve the signal estimations. A detailed description of the mscarm.filter can be found in Borowski (2012).
Borowski, M. (2012)
Echtzeit-Extraktion relevanter Information aus multivariaten Zeitreihen basierend auf robuster Regression, PhD thesis, TU Dortmund University (in German).
Borowski, M. and Fried, R. (2011)
Robust repeated median regression in moving windows with data-adaptive width selection, Discussion Paper 28/2011, SFB 823, TU Dortmund University.
Lanius, V., Gather, U. (2010)
Robust Online Signal Extraction from Multivariate Time Series,
Computational Statistics and Data Analysis 54(4), 966-975.
Siegel, A.F. (1982)
Robust Regression Using Repeated Medians,
Biometrika 69(1), 242-244.
robreg.filter, adore.filter, madore.filter, scarm.filter.
if (FALSE) {
# Multivariate time series
data(multi.ts)
# apply MSCARM Filter
mscarm.extr <- mscarm.filter(multi.ts)
plot(mscarm.extr)
}
Run the code above in your browser using DataLab