2012-02-24 18 views
8

Vorrei calcolare l'esponente di Hurst con R. Esiste una libreria o una funzione incorporata in grado di farlo? qualsiasi suggerimento sarà apprezzato (anche collegamenti a riferimenti). ThanxEsponente di Hurst con R

aggiornamento: Grazie per il commento di Ben Bolker, ho trovato questo script nell'esempio della funzione

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

a questa pagina http://finzi.psych.upenn.edu/R/library/Rwave/html/hurst.est.html

script:

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) 

Immagino che la prima parte generi un segnale con effetto memoria, ma non riesco a capire quale parte della seconda parte del codice sia strettamente necessaria per estendere l'hu primo esponente. Chi può aiutarmi e spiegherebbe questo? Sono in dubbio con

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

'install.packages (" sos "); biblioteca ("SOS"); findFn ("esponente hurst") ' –

+0

Ben mi sono limitato a rispondere con esattamente lo stesso commento. +1 per insegnare a un uomo a pescare. –

+2

@Tyler: conosci la regola, "... insegna a un uomo a pescare e hai perso un cliente a vita" :-) –

risposta

3

(Convertito da un commento.)

Questo non è esattamente una risposta ma

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

dovrebbe arrivare lì abbastanza rapidamente. Note: (1) è sufficiente eseguire install.packages(...) una volta per installazione di R, ma library("sos") in ogni sessione; (2) hai ancora bisogno di capire se i pacchetti che trovi in ​​questo modo stanno facendo quello che ti serve - ma almeno sai da dove iniziare.

+2

Sì, ma puoi semplicemente cercare su http: // rseek.org –

+3

Diretto da Dirk ma personalmente penso che i risultati di sos siano un po 'più facili da esaminare e concentrati (suppongo che siano esteticamente gradevoli). –

2

Il pacchetto Rwave utilizza una trasformazione wavelet per stimare l'esponente di Hurst in modo da poter provare il pacchetto fArma. Ha una varietà di altre funzioni per stimare l'esponente di Hurst oltre alle wavelet. Non è elencato su CRAN diverso da un archivio per ora ma funziona per me.

Ecco la sezione della documentazione pertinente dal pacchetto. http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=fArma:LrdModelling

4

Hurst esponente, H, può essere calcolata dalla dimensione frattale, D, come D = 2 - H.

utilizzare il pacchetto di fractaldim, disponibile CRAN, per calcolare dimensione frattale. Esiste una descrizione completa delle metodologie in Stimatori della dimensione frattale: valutazione della ruvidità delle serie temporali e dei dati spaziali. Università di Washington, Dipartimento di statistica, relazione tecnica n. 577, http://www.stat.washington.edu/research/reports/2010/tr577.pdf.

Con questo pacchetto è possibile applicare le trasformazioni wavelet, il conteggio delle scatole, ecc. O l'algoritmo del madogramma consigliato per calcolare la dimensione frattale.

0

Il set più completo di metodi (nove) è indicato nella funzione fArma' '(LrdModelling) funzione hurstSlider.