2012-02-24 19 views
8

我想用R計算赫斯特指數是否有一個庫或內置函數可以做到這一點?任何建議將不勝感激(甚至鏈接到引用)。感謝名單赫斯特指數與R

更新:

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) 

:感謝名單奔Bolker的評論,我已經在功能

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

的例子在本頁面http://finzi.psych.upenn.edu/R/library/Rwave/html/hurst.est.html

腳本發現了這個腳本我猜測第一部分會產生一個帶有記憶效應的信號,但我無法理解,因爲第二部分代碼的一部分是嚴格需要的第一個指數。誰可以幫助我,並解釋這一點?我在懷疑與

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

'install.packages(「sos」);庫( 「SOS」); findFn(「hurst exponent」)' – 2012-02-24 15:22:00

+0

本我只是回頭來回答與完全相同的意見。 +1教男人釣魚。 – 2012-02-24 15:26:31

+2

@泰勒:你知道規則,「......教一個人釣魚,你已經失去了一個終生的客戶」:-) – 2012-02-24 16:01:44

回答

3

(從註釋轉換。)

這不完全是一個答案,但

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

應該讓你有很快。 注意事項:(1)每次安裝R時只需要執行一次install.packages(...),但每次安裝時只需要library("sos"); (2)你仍然需要確定你以這種方式找到的軟件包是否正在做你所需要的 - 但至少你知道從哪裏開始。

+2

是的 - 但你可以在http:// rseek上搜索。org – 2012-02-24 16:59:44

+3

一致的Dirk,但我個人認爲sos的結果更容易篩選和集中(我猜他們是美觀的)。 – 2012-02-24 20:52:20

4

Hurst指數,H,可以從分形維數,d來計算,如d = 2 - H.

我使用fractaldim包,可用CRAN,計算分形維數。有關分形維數估計器:評估時間序列和空間數據的粗糙度的方法的完整描述。華盛頓大學統計系技術報告編號。 577,http://www.stat.washington.edu/research/reports/2010/tr577.pdf

有了這個包,你可以應用小波變換,boxcount等或推薦的madogram算法來計算分形維數。

0

最全套的方法(九)在包fArma' '(LrdModelling)函數hurstSlider中給出。