## Computing the Hurst exponent
data(brown72)
x72 <- brown72 # H = 0.72
xgn <- rnorm(1024) # H = 0.50
xlm <- numeric(1024); xlm[1] <- 0.1 # H = 0.43
for (i in 2:1024) xlm[i] <- 4 * xlm[i-1] * (1 - xlm[i-1])
hurstexp(brown72, d = 128) # 0.72
# Simple R/S Hurst estimation: 0.6590931
# Corrected R over S Hurst exponent: 0.7384611
# Empirical Hurst exponent: 0.7068613
# Corrected empirical Hurst exponent: 0.6838251
# Theoretical Hurst exponent: 0.5294909
hurstexp(xgn) # 0.50
# Simple R/S Hurst estimation: 0.5518143
# Corrected R over S Hurst exponent: 0.5982146
# Empirical Hurst exponent: 0.6104621
# Corrected empirical Hurst exponent: 0.5690305
# Theoretical Hurst exponent: 0.5368124
hurstexp(xlm) # 0.43
# Simple R/S Hurst estimation: 0.4825898
# Corrected R over S Hurst exponent: 0.5067766
# Empirical Hurst exponent: 0.4869625
# Corrected empirical Hurst exponent: 0.4485892
# Theoretical Hurst exponent: 0.5368124
## Compare with other implementations
## Not run:
# library(fractal)
#
# x <- x72
# hurstSpec(x) # 0.776 # 0.720
# RoverS(x) # 0.717
# hurstBlock(x, method="aggAbs") # 0.648
# hurstBlock(x, method="aggVar") # 0.613
# hurstBlock(x, method="diffvar") # 0.714
# hurstBlock(x, method="higuchi") # 1.001
#
# x <- xgn
# hurstSpec(x) # 0.538 # 0.500
# RoverS(x) # 0.663
# hurstBlock(x, method="aggAbs") # 0.463
# hurstBlock(x, method="aggVar") # 0.430
# hurstBlock(x, method="diffvar") # 0.471
# hurstBlock(x, method="higuchi") # 0.574
#
# x <- xlm
# hurstSpec(x) # 0.478 # 0.430
# RoverS(x) # 0.622
# hurstBlock(x, method="aggAbs") # 0.316
# hurstBlock(x, method="aggVar") # 0.279
# hurstBlock(x, method="diffvar") # 0.547
# hurstBlock(x, method="higuchi") # 0.998
# ## End(Not run)
Run the code above in your browser using DataLab