| dr.filter {robfilter} | R Documentation | 
Deepest Regression (DR) filter
Description
This function extracts signals from time series by means of Deepest regression in a moving time window.
Usage
dr.filter(y, width, online = FALSE, extrapolate = TRUE)
Arguments
| y | a numeric vector or (univariate) time series object. | 
| width | a positive integer defining the window width used for fitting. | 
| online | a logical indicating whether the current level estimate is 
evaluated at the most recent time within each time window 
( | 
| extrapolate | a logical indicating whether the level 
estimations should be extrapolated to the edges of the time series.  | 
Details
dr.filter is suitable for extracting low 
frequency components (the signal) from a time series which 
may be contaminated with outliers and can contain level shifts. 
For this, robust Deepest Regression is applied to a moving 
window, and the signal level is estimated by the fitted value 
either at the end of each time window for online signal 
extraction without time delay (online=TRUE) or in the 
centre of each time window (online=FALSE).
Value
dr.filter returns an object of class robreg.filter. 
An object of class robreg.filter is a list containing the 
following components:
| level | a data frame containing the extracted signal level. | 
| slope | a data frame containing the corresponding slope within each time window. | 
In addition, the original input time series is returned as list 
member y, and the settings used for the analysis are 
returned as the list members width, online and extrapolate. 
Application of the function plot to an object of class
robreg.filter returns a plot showing the original time series 
with the filtered output. 
Author(s)
Roland Fried, Karen Schettlinger and Matthias Borowski
References
Davies, P.L., Fried, R., Gather, U. (2004) 
Robust Signal Extraction for On-Line Monitoring Data, 
Journal of Statistical Planning and Inference 122, 
65-78.
Gather, U., Schettlinger, K., Fried, R. (2006)
Online Signal Extraction by Robust Linear Regression,
Computational Statistics 21(1), 
33-51. 
Schettlinger, K., Fried, R., Gather, U. (2006) Robust Filters for Intensive Care Monitoring: Beyond the Running Median, Biomedizinische Technik 51(2), 49-56.
See Also
Examples
# Generate random time series:
y <- cumsum(runif(500)) - .5*(1:500)
# Add jumps:
y[200:500] <- y[200:500] + 5
y[400:500] <- y[400:500] - 7
# Add noise:
n <- sample(1:500, 30)
y[n] <- y[n] + rnorm(30)
# Online filtering with DR filter:
y.rr <- dr.filter(y,width=41,online=TRUE)
plot(y.rr)