Браунівська екскурсія може бути побудована з мосту, використовуючи наступну конструкцію Vervaat:
https://projecteuclid.org/download/pdf_1/euclid.aop/1176995155
Швидке наближення в R за допомогою BB-коду @ whuber є
n <- 1001
times <- seq(0, 1, length.out=n)
set.seed(17)
dW <- rnorm(n)/sqrt(n)
W <- cumsum(dW)
# plot(times,W,type="l") # original BM
B <- W - times * W[n] # The Brownian bridge from (0,0) to (1,target)
# plot(times,B,type="l")
# Vervaat construction
Bmin <- min(B)
tmin <- which(B == Bmin)
newtimes <- (times[tmin] + times) %% 1
J<-floor(newtimes * n)
BE <- B[J] - Bmin
plot(1:length(BE)/n,BE,type="l")
Ось ще один сюжет (з set.seed (21)). Ключовим спостереженням під час екскурсії є те, що кондиціонування насправді проявляється «відштовхуванням» від 0, і ви навряд чи побачите, що екскурсія наблизиться до у внутрішній частині .
( 0 , 1 )0( 0 , 1 )
У бік: Розподіл абсолютного значення броунівського мосту та екскурсія, обумовлені позитивними , є не те ж саме. Інтуїтивно, екскурсія відштовхується від походження, тому що броунівські стежки, що наближаються занадто близько до походження, швидше за все, негайно перейдуть негативно і, таким чином, караються умовою. ( B B t ) 0 ≤ t ≤ 1( | B Bт| )0 ≤ t ≤ 1( Б Вт)0 ≤ t ≤ 1
Це навіть можна проілюструвати простим випадковим прогулянковим мостом та екскурсією на сходинок, що є природним дискретним аналогом БМ (і сходиться до БМ, оскільки кроки стають великими, і ви змінюєте масштаб).6
Дійсно, візьміть симетричну СРС, починаючи з . Спочатку розглянемо умову "мосту" і подивимося, що станеться, якщо ми просто візьмемо абсолютне значення. Розглянемо всі прості шляхи довжиною які починаються та закінчуються на . Кількість таких шляхів дорівнює . Є з них, для яких . Іншими словами, ймовірність для абсолютного значення нашого "моста" СРВ (яке обумовлено в кінці на ) мати значення 0 на кроці становить .с 6 0 ( 60с60( 63) =20| s2| =00212/20=0,62 × ( 42) =12| с2| =00212 / 20 = 0,6
По-друге, ми розглянемо умову "екскурсії". Кількість невід’ємних простих шляхів довжиною які закінчуються на є каталонським числом . Рівно з цих шляхів мають . Таким чином, ймовірність для нашої "екскурсії СРВ" (за умови, що вона залишається позитивною і закінчується на ) матиме значення 0 на кроці становить .6 = 2 ∗ 3 0 C m = 3 = ( 2 мс6 = 2 ∗ 302 s 2 = 0Сm = 3= ( 2 мм) /(m+1)=52с2= 02 2 / 5 = 0,4 < 0,6022 / 5 = 0,4 < 0,6
Якщо ви все ще сумніваєтеся, що це явище зберігається в межі, ви можете врахувати ймовірність для мостів СРВ та екскурсій довжиною потрапляють у 0 на кроці .2 n4 н2 н
Для екскурсії SRW: маємо використанням асимптотики з wikipedia https://en.wikipedia.org/wiki / Каталан_кілька . Тобто це зрештою як .зп - 3 / 2
P(S2n=0|Sj≥0,j≤4n,S4n=0)=C2n/C2n∼(42n/πn3)/(42n/(2n)3π−−−−−−√)
cn−3/2
Для abs (міст SRW): використовуючи асимптотику з wikipedia https://en.wikipedia.org/wiki/Binomial_coefficient . Це як .зп - 1 / 2
P(|S2n|=0|S4n=0)=(2nn)2/(4n2n)∼(4n/πn−−−√)2/(42n/2nπ−−−√)
cn−1/2
Іншими словами, асимптотична ймовірність побачити міст SRW, обумовлений позитивним при біля середини, значно менша, ніж для абсолютного значення моста. 0
Ось альтернативна конструкція, заснована на 3D-процесі Бесселя замість броунівського мосту. Я використовую факти, пояснені на https://projecteuclid.org/download/pdf_1/euclid.ejp/1457125524
Огляд - 1) Моделюйте 3d-процес Бесселя. Це як БМ, обумовлене бути позитивним. 2) Застосуйте відповідний масштаб часового простору, щоб отримати міст Бесселя 3 (рівняння (2) у статті). 3) Скористайтеся фактом (зазначеним відразу після теореми 1 у статті), що міст Бесселя 3 насправді має такий самий розподіл, як і броунівська екскурсія.
Невеликий недолік полягає в тому, що вам потрібно запустити процес Бесселя досить довго (T = 100 внизу) на відносно тонкій сітці для того, щоб в кінці почалося масштабування простору / часу.
## Another construction of Brownian excursion via Bessel processes
set.seed(27092017)
## The Bessel process must run for a long time in order to construct a bridge
T <- 100
n <- 100001
d<-3 # dimension for Bessel process
dW <- matrix(ncol = n, nrow = d, data=rnorm(d*n)/sqrt(n/T))
dW[,1] <- 0
W <- apply(dW, 1, cumsum)
BessD <- apply(W,1,function(x) {sqrt(sum(x^2))})
times <- seq(0, T, length.out=n)
# plot(times,BessD, type="l") # Bessel D process
times01 <- times[times < 1]
rescaletimes <- pmin(times01/(1-times01),T)
# plot(times01,rescaletimes,type="l") # compare rescaled times
# create new time index
rescaletimeindex <- sapply(rescaletimes,function(x){max(which(times<=x))} )
BE <- (1 - times01) * BessD[rescaletimeindex]
plot(times01,BE, type="l")
Ось вихід: