2012-02-24 10 views
8

Chciałbym obliczyć wykładnik Hursta z R. Czy istnieje biblioteka lub wbudowana funkcja, która może to zrobić? każda sugestia zostanie doceniona (nawet linki do odsyłaczy). thanxHurst wykładnik z R

zmiana: thanx do komentarza Ben Bolker, znalazłem ten skrypt na przykładzie funkcji

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

na tej stronie http://finzi.psych.upenn.edu/R/library/Rwave/html/hurst.est.html

scenariusz:

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) 

domyślam się, że pierwsza część generuje sygnał z efektem pamięci, ale nie mogę zrozumieć, że część drugiej części kodu jest absolutnie niezbędna do zhiwakowania hu pierwszy wykładnik. Kto może mi pomóc i wytłumaczyć to? Jestem wątpliwości z

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

'install.packages (" sos "); biblioteka ("sos"); findFn ("wykładnik hurst") ' –

+0

Ben Właśnie odebrałem odpowiedź dokładnie tym samym komentarzem. +1 za nauczanie człowieka łowienia ryb. –

+2

@ Tyler: znasz zasadę "... naucz mężczyznę łowić ryby, a ty straciłeś klienta na całe życie" :-) –

Odpowiedz

3

(przeliczona z komentarzem).

To nie jest dokładnie odpowiedź, ale

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

powinien dostać się tam dość szybko. Notatki: (1) musisz tylko wykonać install.packages(...) raz na instalację R, ale library("sos") w każdej sesji; (2) nadal musisz sprawdzić, czy pakiety, które znajdziesz w ten sposób, robią to, czego potrzebujesz - ale przynajmniej wiesz, od czego zacząć.

+2

Tak - ale możesz po prostu wyszukać na http: // rseek.org –

+3

Zgoda Dirka, ale osobiście uważam, że wyniki z sosu są nieco łatwiejsze do przesiewania i skupienia (chyba są estetyczne). –

2

Pakiet Rwave wykorzystuje transformatę falkową do oszacowania wykładnika Hursta, więc warto wypróbować pakiet fArma. Ma wiele innych funkcji do oszacowania wykładnika Hursta oprócz falek. Na razie nie jest wymienione na CRAN inne niż archiwum, ale działa dla mnie.

Oto odpowiednia sekcja dokumentacji z paczki. http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=fArma:LrdModelling

4

Hurst wykładnik H, można obliczyć wymiar fraktalny, D, na przykład D = 2, - H

użyć pakiet fractaldim dostępnego skrzyni ko, w celu obliczenia wymiaru fraktalnego. Istnieje pełny opis metodologii w Estimators of Fractal Dimension: Ocena chropowatości szeregów czasowych i danych przestrzennych. University of Washington, Departament Statystyki, Raport Techniczny nr. 577, http://www.stat.washington.edu/research/reports/2010/tr577.pdf.

Za pomocą tego pakietu można zastosować transformacje falkowe, boxcount itp. Lub zalecany algorytm madogramu do obliczenia wymiaru fraktalnego.

0

Najbardziej pełny zestaw metod (dziewięć) podany jest w pakiecie fArma' '(LrdModelling) funkcja hurstSlider.