hurstSpec {fractal} | R Documentation

## Hurst coefficient estimation via spectral regression

### Description

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.

standard
  Given an estimate of the SDF for the input time series, this function estimates the Hurst coefficient of the time series by performing a linear regression of log(SDF) versus log(frequency). The range of frequencies to be included in the regression is specified by the `dc` and `freq.max` input arguments.
smoothed
  Given an estimate of the SDF for the input time series, this function estimates the Hurst coefficient of the time series by performing a linear regression of log(SDF) versus log(frequency). The range of frequencies to be included in the regression is specified by the `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.
robinson
  Estimates the Hurst coefficient by Robinson's SDF integration method. Given an estimate of the SDF for the input time series, this function estimates the Hurst coefficient of a time series by applying Robinson's integral method (typically) to the low- frequency end of the SDF. Use the `freq.max` argument to define the low-frequency cutoff.

### Usage

    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", ...)

### Arguments

`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: `"standard"` Regression of SDF estimate. `"smoothed"` Regression of block averages of the SDF estimate taken over dyadic partitions in frequency. `"robinson"` Robinson's SDF integration method. 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))`.

### Value

an object of class `fractalBlock`.

### References

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.

### See Also

`hurstBlock`, `fractalBlock`, `HDEst`, `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. 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")

[Package fractal version 1.0-1 Index]