-4
假設從連續時間過程中觀察到X(1),X(2),...,X(N)。我怎樣才能用R來離散這個數據在網格{0,1/N,...,(N-1)/ N,1}上的時間?如何使用R在(0,1)範圍內將連續時間採樣路徑變成離散時間?
我真的很感激任何幫助。謝謝。
假設從連續時間過程中觀察到X(1),X(2),...,X(N)。我怎樣才能用R來離散這個數據在網格{0,1/N,...,(N-1)/ N,1}上的時間?如何使用R在(0,1)範圍內將連續時間採樣路徑變成離散時間?
我真的很感激任何幫助。謝謝。
這將是做在連續時間的方式:
x <- cumsum(abs(rnorm(20)))
n <- (x-min(x))/diff(range(x))
> n
[1] 0.00000000 0.01884929 0.02874295 0.07230612 0.11253305 0.19770821 0.26356939
[8] 0.33310811 0.36687944 0.47041629 0.53331128 0.61724640 0.72534086 0.74782335
[15] 0.79829820 0.83023417 0.85336221 0.85528100 0.90023497 1.00000000
爲了得到一個數值向量類似於你可能從切口或Hmisc :: CUT2可以使用findInterval得到什麼:
> findInterval(n, seq(0,1,length=length(n))/length(n))
[1] 1 8 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
而「歸一化爲[0,1]是那麼簡單,甚至是微不足道的;
> findInterval(n, seq(0,1,length=length(n)))/length(n)
[1] 0.05 0.05 0.05 0.10 0.15 0.20 0.30 0.35 0.35 0.45 0.55 0.60 0.70 0.75 0.80 0.80 0.85
[18] 0.85 0.90 1.00
歡迎SO恐怕你要解釋這個問題。更清楚一點......您的數據在R中的外觀如何?你想讓它看起來像什麼?在閱讀本文時,請閱讀此文章(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – Justin
你好,@justin指出,我們需要更多的信息。爲了指向正確的方向,你可以看看'cut',''cut2'('library(Hmisc)')和'?seq'也會有所幫助。根據您的應用程序,'zoo'軟件包也可能會有所幫助 –