Learn R Programming

dvfBm (version 1.0)

dvFBM: Discrete Variations estimate for a contaminated fBm

Description

Robust estimator of the Hurst parameter of a fractional Brownian possibly contaminated by additive outliers and/or an additive noise.

Usage

dvFBM(fbm, nma = "i2", M1 = 1, M2 = 5, method = c("ST", "Q", "TM", 
	"B1-ST", "B1-Q", "B1-TM", "B0-ST", "B0-Q", "B0-TM"), 
	par = list(), llplot = FALSE)

Arguments

fbm
data
nma
name of the filter used for filtering the data. See filt for possible choices. Default is "i2"
M1
Minimum value of the dilatation factor. Default is 1.
M2
Maximum value of the dilatation factor. Default is 5.
method
Type of the discrete variations method.
par
Parameters depending on method. If method is "Q","B0-Q","B1-Q", a list with two vectors vecp and vecc is needed. If method is "TM","B0-TM","B1-TM", a list with two
llplot
If true a plot of $\log(U_n^{a^m})$ against $\log(m)$ for $m=M_1,...,M_2$ is produced.

Value

  • Returns the Hurst parameter estimate

Details

An estimate of the Hurst exponent parameter is provided without estimating the scaling coefficient $C$ and $\sigma$ (parameter related to an additive noise). The standard method ST is based on filtering the data with dilated versions of the initial filter (whose name is nma). Other methods are improvements. Methods TM and Q are based on trimmed-means and sample quantiles respectively. Methods B0 and B1 exploit the fact that the contamination is a Brownian motion or a Gaussian white noise. Other methods are combinations of the two last classes. See Achard and Coeurjolly (2009) for more details.

References

S. Achard and J.-F. Coeurjolly (2009). Discrete variations of the fractional Brownian in the presence of outliers and an additive noise. Submitted

See Also

circFBM, perturbFBM

Examples

Run this code
n<-10000;H<-.8
## no
z<-perturbFBM(n,H,type="no",plot=FALSE)
dvFBM(z,method="ST")
dvFBM(z,method="TM",par=list(beta1=.1,beta2=.1))
dvFBM(z,method="B0-Q",par=list(vecp=.5,vecc=1))
dvFBM(z,method="B1-ST")
## AO
z<-perturbFBM(n,H,type="AO",SNR=-20,plot=FALSE)
dvFBM(z,nma="d4",method="ST")
dvFBM(z,nma="d4",method="TM",par=list(beta1=.1,beta2=.1))
## B0
z<-perturbFBM(n,H,type="B0",SNR=0,plot=FALSE)
dvFBM(z,M2=10,method="ST")
dvFBM(z,M2=10,method="B0-ST")
## B1
z<-perturbFBM(n,H,type="B1",SNR=0,plot=FALSE)
dvFBM(z,method="ST")
dvFBM(z,method="B1-ST")

Run the code above in your browser using DataLab