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.
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.
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.
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.
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", ...)
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.
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
.
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
.
the largerst normalized frequency to include in the regression scheme.
Default: 0.25
.
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"
.
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.
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"
.
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.
# NOT RUN {
## 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")
# }
Run the code above in your browser using DataLab