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