2012-02-24 12 views
8

Me gustaría calcular el exponente de Hurst con R. ¿Hay una biblioteca o función incorporada que pueda hacer esto? cualquier sugerencia será apreciada (incluso enlaces a referencias). Graciasexponente de Hurst con R

actualización: Gracias al comentario de Ben Bolker, he encontrado este script en el ejemplo de la función

hurst.est(wspec, range, nvoice, plot=TRUE) 

en esta página http://finzi.psych.upenn.edu/R/library/Rwave/html/hurst.est.html

guión:

wnoise <- rnorm(8192) 
plot.ts(wnoise) 
spwnoise <- fft(wnoise) 
spwnoise <- Mod(spwnoise) 
spwnoise <- spwnoise*spwnoise 
plot(spwnoise[1:4096], log="xy", type="l") 
lswnoise <- lsfit(log10(1:4096), log10(spwnoise[1:4096])) 
abline(lswnoise$coef) 
cwtwnoise <- DOG(wnoise, 10, 5, 1, plot=FALSE) 
mcwtwnoise <- Mod(cwtwnoise) 
mcwtwnoise <- mcwtwnoise*mcwtwnoise 
wspwnoise <- tfmean(mcwtwnoise, plot=FALSE) 
wspec.pl(wspwnoise, 5) 
hurst.est(wspwnoise, 1:50, 5) 

Supongo que la primera parte genera una señal con efecto de memoria, pero no puedo entender qué parte de la segunda parte del código es estrictamente necesaria para primer exponente ¿Quién puede ayudarme y me explicaría esto? Estoy en duda con

mcwtwnoise <- Mod(cwtwnoise) 
mcwtwnoise <- mcwtwnoise*mcwtwnoise 
+7

'install.packages (" sos "); biblioteca ("sos"); findFn ("exponente de hurst") ' –

+0

Ben. Acabo de regresar para responder exactamente el mismo comentario. +1 por enseñar a un hombre a pescar. –

+2

@Tyler: usted conoce la regla, "... enseñe a un hombre a pescar y usted ha perdido un cliente de por vida" :-) –

Respuesta

3

(construido a partir de un comentario.)

Esto no es exactamente una respuesta, pero

install.packages("sos") 
library("sos") 
findFn("hurst exponent") 

debe llegar hasta allí con bastante rapidez. Notas: (1) solo necesita hacer install.packages(...) una vez por instalación de R, pero library("sos") en cada sesión; (2) aún necesita averiguar si los paquetes que encuentra de esta manera están haciendo lo que necesita, pero al menos sabe por dónde empezar.

+2

Sí, pero solo puede buscar en http: // rseek.org –

+3

Dirk convenido, pero personalmente creo que los resultados de sos son un poco más fáciles de filtrar y centrar (supongo que son estéticamente agradables). –

2

El paquete Rwave usa una transformada wavelet para estimar el exponente de Hurst, por lo que es posible que desee probar el paquete fArma. Tiene una variedad de otras funciones para estimar el exponente de Hurst aparte de las ondas. No aparece en CRAN que no sea un archivo por ahora, pero me sirve.

Aquí está la sección de documentación relevante del paquete. http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=fArma:LrdModelling

4

exponente de Hurst, H, puede calcularse a partir dimensión fractal, D, como D = 2 - H.

I utilizar el paquete fractaldim, disponible CRAN, para calcular la dimensión fractal. Hay una descripción completa de las metodologías en Estimadores de dimensión fractal: evaluación de la rugosidad de series de tiempo y datos espaciales. Universidad de Washington, Departamento de Estadística, Informe técnico no. 577, http://www.stat.washington.edu/research/reports/2010/tr577.pdf.

Con este paquete puede aplicar transformadas wavelet, conteo de cajas, etc. o el algoritmo de madograma recomendado para calcular la dimensión fractal.

0

El conjunto más completo de métodos (nueve) se proporciona en el paquete fArma' '(LrdModelling) función hurstSlider.