stepR (version 2.1-9)

sdrobnorm: Robust standard deviation estimate

Description

Robust estimation of the standard deviation of Gaussian data.

Usage

sdrobnorm(x, p = c(0.25, 0.75), lag = 1,
          supressWarningNA = FALSE, supressWarningResultNA = FALSE)

Value

Returns the estimate of the sample's standard deviation, i.e. a single non-negative numeric, NA if length(x) < lag + 2.

Arguments

x

a vector of numerical observations. NA entries will be removed with a warning. The warning can be supressed by setting supressWarningNA to TRUE. Other non finite values are not allowed

p

vector of two distinct probabilities

lag

a single integer giving the lag of the difference used, see diff, if a numeric is passed a small tolerance will be added and the value will be converted by as.integer

supressWarningNA

a single logical, if TRUE no warning will be given for NA entries in x

supressWarningResultNA

a single logical, if TRUE no warning will be given if the result is NA

Details

Compares the difference between the estimated sample quantile corresponding to p after taking (lagged) differences) with the corresponding theoretical quantiles of Gaussian white noise to determine the standard deviation under a Gaussian assumption. If the data contain (few) jumps, this will (on average) be a slight overestimate of the true standard deviation.

This estimator has been inspired by (1.7) in (Davies and Kovac, 2001).

References

Davies, P. L., Kovac, A. (2001) Local extremes, runs, strings and multiresolution. The Annals of Statistics 29, 1--65.

See Also

sd, diff, parametricFamily, family

Examples

Run this code
# simulate data sample
y <- rnorm(100, c(rep(1, 50), rep(10, 50)), 2)
# estimate standard deviation
sdrobnorm(y)

Run the code above in your browser using DataLab