Я пытаюсь смоделировать броуновский мост из процесса Винера, но борюсь с кодом.
Вот что я пытаюсь сделать в математической форме:
B(t) = W (t) − tW (1)
Этоважно, что W (T) = 0, так что процесс закрепляется в начале координат как при t = 0, так и при t = T (должен начинаться и заканчиваться B (t) = B (T) = 0
Здесь я определяю процесс Винера:
n <- 1000
T <- 1
delta <- T/n
t <- seq(0,T, delta)
set.seed(17)
W1 <- cumsum(c(0,rnorm(n, 0, 1) * sqrt(delta)))
plot(t, W1 ,type = 'l',
xlab = 't', ylab = 'W(t)', xlim = c(0, T + delta))
Здесь я пытаюсь построить броуновский мост, но получаю неправильный результат:
B <- W1 - t * W1[T] # The Brownian bridge from (0,0) to (1,target)
plot(times, B, type="l")
Я ожидаю, что B[1] == B[1001]
быть [ИСТИНА] и равно 0, но в моем случае B [1001] не равно 0.
Есть предложения?