hurstBlock {fractal} | R Documentation

## Hurst coefficient estimation in the time domain

### Description

Function to estimate the Hurst parameter H of a long memory time series by one of several methods as specified in input. These methods all work directly with the sample values of the time series (not the spectrum).

aggabs
  The series is partitioned into m groups. Within each group, the first absolute moment about the mean of the entire series is evaluated. A measure of the variability of this statistic between groups is calculated. The number of groups, m, is increased and the process is repeated. The observed variability changes with increasing m in a way related by theory to the Hurst parameter H of the input series. For the methods used here, a log-log plot of variability versus number of groups is, ideally, linear, with a slope related to H, so H can be determined by linear regression.
aggvar
  The series is partitioned into m groups. Within each group, the variance (relative to the mean of the entire series) is evaluated. A measure of the variability of this statistic between groups is calculated. The number of groups, m, is increased and the process is repeated. The observed variability changes with increasing m in a way related by theory to the Hurst parameter H of the input series. For the methods used here, a log-log plot of variability versus number of groups is, ideally, linear, with a slope related to H, so H can be determined by linear regression.
diffvar
  The series is partitioned into m groups. Within each group, the variance, relative to the mean of the entire series, is evaluated. The first difference of the variances is then evaluated. A measure of the variability of this statistic between groups is calculated. The number of groups, m, is increased and the process is repeated. The observed variability changes with increasing m in a way related by theory to the Hurst parameter H of the input series. For the methods used here, a log-log plot of variability versus number of groups is, ideally, linear, with a slope related to H, so H can be determined by linear regression.
higuchi
  The series is assumed to have the character of a noise, not a motion. The series is partitioned into m groups. The cumulative sums of the series are evaluated to convert the series from a noise to a motion. Absolute differences of the cumulative sums between groups are analyzed to estimate the fractal dimension of the path. The number of groups, m, is increased and the process is repeated. The result changes with increasing m in a way related by Higuchi's theory to the Hurst parameter H of the input series. A log-log plot of the statistic versus number of groups is, ideally, linear, with a slope related to H, so H can be determined by linear regression.

### Usage

    hurstBlock(x, method="aggAbs", scale.min=8, scale.max=NULL,
        scale.ratio=2, weight=function(x) rep(1,length(x)), fit=lm)

### Arguments

`x` | a vector containing a uniformly-sampled real-valued time series.
`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. Default: `lm`.
`method` | a character string indicating the method to be used to estimate the Hurst coefficient (H). Choices are: `"aggabs"` Absolute Values of the Aggregated Series `"aggVar"` Aggregated Variance Method `"diffvar"` Differenced Variance Method `"higuchi"` Higuchi's Method Default: `"aggabs"`.
`scale.max` | an integer denoting the maximum scale (block size) to use in partitioning the series. Default: `length(x)`.
`scale.min` | an integer denoting the minimum scale (block size) to use in partitioning the series. Default: `8`.
`scale.ratio` | ratio of successive scales to use in partitioning the data. For example, if `scale.min=8` and `scale.ratio=2`, the first scale will be 8, the second scale 16, the third scale 32, and so on. Default: `2`.
`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`. Default: `function(x) rep(1,length(x))`.

### Value

an object of class `fractalBlock`.

### References

T. Higuchi (1988), Approach to an irregular time series on the basis of the fractal theory, Physica D, 31, 277–283.

M.S. Taqqu, V. Teverovsky, and W. Willinger, Estimators for Long- Range Dependence: an Empirical Study (1995), Fractals, 3, pp. 785–798.

M. S. Taqqu and V. Teverovsky, On Estimating the Intensity of Long- Range Dependence in Finite and Infinite Variance Time Series (1998), in A practical Guide to Heavy Tails: Statistical Techniques and Applications, pp. 177–217, Birkhauser, Boston.

### See Also

`fractalBlock`, `hurstSpec`, `lm`.

### Examples

    ## create test series
    set.seed(100)
    x <- rnorm(1024)
    walk <- cumsum(x)

    ## calculate the Hurst coefficient of a random
    ## walk series using various techniques
    methods <- c("aggabs","aggvar","diffvar","higuchi")
    z <- lapply(methods, function(method, walk){
        hurstBlock(ifelse1(method=="higuchi",diff(walk),walk), method=method)
    },walk=walk )
    names(z) <- methods

    ## plot results
    old.plt <- splitplot(2,2,1)
    for (i in 1:4){
        if (i > 1)
           splitplot(2,2,i)
        plot(z[[i]], key=FALSE)
        mtext(paste(attr(z[[i]],"stat.name"), round(as.numeric(z[[i]]),3), sep=", H="),
           line=0.5, adj=1)
    }
    par(old.plt)

[Package fractal version 1.0-1 Index]