hurstSpec {fractal} | R Documentation |
Function to estimate the Hurst parameter H of a time series by linear regression of the log(spectrum) versus log(frequency) with frequency points accumulated into boxes of equal width on a logarithmic scale and spectrum values averaged over each box.
dc
and freq.max
input arguments.dc
and freq.max
input arguments.
Frequencies are partitioned into blocks of equal width on a logarithmic
scale and the SDF is averaged over each block. The number of blocks
is controlled by the n.block
argument.freq.max
argument to define the low-frequency
cutoff.hurstSpec(x, method="standard", freq.max=0.25, dc=FALSE, n.block=NULL, weight=function(x) rep(1,length(x)), fit=lm, sdf.method="direct", ...)
x |
a vector containing a uniformly-sampled real-valued time series. |
... |
optional SDF estimation arguments passed directly to the sdf function.
See help documentation for the SDF function for more information. |
dc |
a logical value. If FALSE , the DC component of the spectrum (corresponding to the sample
mean of the series) is not used in fitting the resulting statistics to estimate the Hurst coefficient.
Default: FALSE . |
fit |
a function representing the linear regression scheme to use in fitting
the resulting statistics (on a log-log scale). Supported functions are: lm ,
lmsreg , and ltsreg . See the on-line help documentation for each of these for
more information: in R, these are found in the MASS package while in S-PLUS they are indigenous
and found in the splus database. Only used when method="standard" or method="smoothed" .
Default: lm . |
freq.max |
the largerst normalized frequency to include in the regression scheme.
Default: 0.25 . |
method |
a character string indicating the method to be used in estimating the Hurst coefficient (H).
Choices are:
Default: "standard" . |
n.block |
an integer denoting the number of logarithmic frequency divisions to use
in partitioning the estimated SDF. This input argument is only used if method="smoothed" .
Default: as.integer(floor(logb(length(x),base=2))) , which corresponds to the maximum
number of decomposition levels possible for a discrete wavelet transformation of the
input time seres. |
sdf.method |
a character string denoting the method to use in estimating the SDF.
Choices are "direct" , "lag window" , "wosa" (Welch's Overlapped Segment Averaging),
"multitaper" . See help documentation for the sdf function for more information. Default: "direct" . |
weight |
a function with a single required variable (x ) used to weight the
resulting statistics (x ) for each scale during linear regression. Currently, only supported
when fit=lm and is only used when method="standard" or method="smoothed" .
Default: function(x) rep(1,length(x)) . |
an object of class fractalBlock
.
P.M. Robinson (1994), Semiparametric analysis of long-memory time series, Annals of Statistics, 22, 515–539.
I. Lobato and P.M. Robinson (1996), Averaged periodogram estimation of long memory, Journal of Econometrics, 73, 303–324.
J. Geweke and Susan Porter-Hudak (1983), The Estimation and Application of Long Memory Time Series Models, Journal of Time Series Analysis, 4, 221–237.
Murad S. Taqqu, Vadim Teverovsky, and Walter Willinger (1995), Estimators for Long-Range Dependence: An Empirical Study, Fractals, 3, 785–798.
hurstBlock
, fractalBlock
, HDEst
, lm
.
## create test series set.seed(100) x <- rnorm(1024) walk <- cumsum(x) ## calculate the Hurst coefficient of a random ## walk series using various techniques. use a ## multitaper SDF methods <- c("standard","smoothed") z <- lapply(methods, function(method, walk){ hurstSpec(walk, method=method, sdf.method="multitaper") },walk=walk ) names(z) <- methods ## plot results old.plt <- par("plt") for (i in 1:2){ splitplot(2,1,i) plot(z[[i]]) } par(plt=old.plt) ## Robinson's method hurstSpec(walk, method="robinson", sdf.method="multitaper")