Моделювання броунівської екскурсії за допомогою броунівського мосту?


11

Я хотів би імітувати броунівський екскурсійний процес (броунівський рух, який обумовлений, завжди бути позитивним, коли до при ). Оскільки броунівський екскурсійний процес - це броунівський міст, який, як завжди, є позитивним, я сподівався моделювати рух броунівської екскурсії за допомогою броунівського мосту.0 t = 10<t<10t=1

У R, я використовую thh 'e1017' пакет для імітації броунівського мостового процесу. Як я можу використовувати цей броунівський мостовий процес для створення броунівської екскурсії?


4
Чи не достатньо моделювати абсолютне значення броунівського мосту?
Алекс Р.

1
@AlexR. no [padding]
P.Windridge

1
Однак варто переглядати, хоча те, що броунівський рух, обумовлений позитивним, може бути реалізований, відображаючи БМ навколо свого максимального бігу, що є результатом завдяки Пітману. Інший спосіб усвідомити показник обчислювальної здатності, обумовленого залишатися позитивним, - це абсолютна величина 3d БМ .
P.Windridge

1
@AlexR. - Я оновив свою відповідь нижче, щоб показати, що навіть для простих випадкових прогулянок, позитивні результати кондиціонування спонукають різну поведінку до просто взяття абсолютного значення. Для броунівських мостів спеціально, інтуїтивно для малих поведінка подібна (тому що ), а BM задовольняє закон ітераційного логарифму (тому " " не має значення для досить малого Таким чином, - це як відображений БМ для малих . Це має зовсім іншу поведінку, коли обумовлений залишатися позитивним ...B B t | W t B B t = W t - t W 1 O p ( t ) t | Б Б т | t W ttBBt|WtBBt=WttW1Op(t)t|BBt|tWt
P.Windridge

Відповіді:


7

Браунівська екскурсія може бути побудована з мосту, використовуючи наступну конструкцію 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(|BBt|)0t1(BBt)0t1

Це навіть можна проілюструвати простим випадковим прогулянковим мостом та екскурсією на сходинок, що є природним дискретним аналогом БМ (і сходиться до БМ, оскільки кроки стають великими, і ви змінюєте масштаб).6

Дійсно, візьміть симетричну СРС, починаючи з . Спочатку розглянемо умову "мосту" і подивимося, що станеться, якщо ми просто візьмемо абсолютне значення. Розглянемо всі прості шляхи довжиною які починаються та закінчуються на . Кількість таких шляхів дорівнює . Є з них, для яких . Іншими словами, ймовірність для абсолютного значення нашого "моста" СРВ (яке обумовлено в кінці на ) мати значення 0 на кроці становить .с 6 0 ( 60s60(63)=20| s2| =00212/20=0,62×(42)=12|s2|=00212/20=0.6

По-друге, ми розглянемо умову "екскурсії". Кількість невід’ємних простих шляхів довжиною які закінчуються на є каталонським числом . Рівно з цих шляхів мають . Таким чином, ймовірність для нашої "екскурсії СРВ" (за умови, що вона залишається позитивною і закінчується на ) матиме значення 0 на кроці становить .6 = 2 3 0 C m = 3 = ( 2 мs6=2302 s 2 = 0Cm=3=(2mm)/(m+1)=52s2=02 2 / 5 = 0,4 < 0,6022/5=0.4<0.6

Якщо ви все ще сумніваєтеся, що це явище зберігається в межі, ви можете врахувати ймовірність для мостів СРВ та екскурсій довжиною потрапляють у 0 на кроці .2 n4n2n

Для екскурсії SRW: маємо використанням асимптотики з wikipedia https://en.wikipedia.org/wiki / Каталан_кілька . Тобто це зрештою як .зп - 3 / 2

P(S2n=0|Sj0,j4n,S4n=0)=Cn2/C2n(42n/πn3)/(42n/(2n)3π)
cn3/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π)
cn1/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")

Ось вихід: введіть тут опис зображення


5

Відображення Принцип стверджує ,

якщо шлях вінерського процесу досягає значення за час , то наступний шлях після часу має такий самий розподіл, як і відображення наступного шляху про значенняf(t)f(s)=at=ssa

Вікіпедія , доступ до 26.09.2017.

Відповідно, ми можемо імітувати броунівський міст і відобразити його про значення просто взявши його абсолютне значення. Броунівський міст моделюється шляхом вирахування тренда від початкової точки до кінця від броунівського руху сам. (Без втрати спільності ми можемо виміряти час в одиницях, що складають Таким чином, за часом просто віднімаємо від .)a=0(0,0)(T,B(T))BT=1tB(T)tB(t)

Ця ж процедура може бути застосована для відображення броунівського руху, що обумовлюється не тільки поверненням до заданого значення в момент (значення для моста), але і щодо залишку між двома межами (які обов'язково включають початкове значення від в момент часу і заданого кінцевого значення).T>0000

! [Рисунок

Цей броунівський рух починається і закінчується значенням нуля: це броунівський міст.

Малюнок 2

Червоний графік - це броунівська екскурсія, розроблена з попереднього броунівського мосту: всі її значення не відмовляються. Синій графік був розроблений таким же чином, відображаючи броунівський міст між пунктирними лініями кожного разу, коли він стикається з ними. Сірий графік відображає оригінальний броунівський міст.

Розрахунки прості та швидкі: розділіть набір разів на невеликі проміжки, генеруйте незалежні однаково розподілені нормальні прирости для кожного інтервалу, накопичуйте їх, віднімайте тенденцію та виконайте будь-які необхідні роздуми.

Ось Rкод. У ній W- оригінальний броунівський рух, Bє броунівський міст і B2є екскурсія, обмежена двома заданими значеннями ymin(непозитивними) та ymax(негативними). Його техніка виконання відображення за допомогою %%оператора модуля та мінімального компонента pminможе представляти практичний інтерес.

#
# Brownian bridge in n steps from t=0 to t=1.
#
n <- 1001
times <- seq(0, 1, length.out=n)
target <- 0                        # Constraint at time=1
set.seed(17)
dW <- rnorm(n)
W <- cumsum(dW)
B <- W + times * (target - W[n])   # The Brownian bridge from (0,0) to (1,target)
#
# The constrained excursion.
#
ymax <- max(abs(B))/5              # A nice limit for illustration
ymin <- -ymax * 2                  # Another nice limit
yrange2 <- 2*(ymax - ymin)
B2 <- (B - ymin) %% yrange2
B2 <- pmin(B2, yrange2-B2) + ymin

будь ласка, можете поділитися кодом для вашої "броунівської екскурсії" (червоний сюжет). На погляд це більше схоже на своєрідне відображення броунівського руху, обмеженого до кінця . Я думаю, що це має досить інший розподіл від екскурсії, яка відчуває відштовхування від походження, тобто ваша реалізація (червоним кольором) здається досить нетиповою. 0
P.Windridge

@ P.Windridge Вибачте; Я забув: екскурсія є abs(B). Пам’ятайте, це призначений для броунівського руху, що обумовлюється двома обмеженнями: він дорівнює targetчасу і скрізь є негативним. 1
whuber

1
Я не забув :) Я говорю , що я вірю має дещо іншого розподіл для привчені будьте позитивними (тобто екскурсія) :) ( B B t ) 0 t 1(abs(BBt))0t1(BBt)0t1
P.Windridge

4
Розподіл різний, тому я голосую пробачте.
P.Windridge

2

Можна скористатися методом відхилення: імітувати броунівські мости та зберігати позитивні. Це працює.

Але. Це дуже повільно, оскільки багато вибіркових траєкторій відкидаються. І чим більша "задана" частота, тим менше ймовірність знайти траєкторії.

succeeded <- FALSE
while(!succeeded)
{
  bridge <- rbridge(end = 1, frequency = 500)
  succeeded=all(bridge>=0)
}
plot(bridge)

Ви можете прискорити його, зберігаючи і негативні траєкторії.

while(!succeeded)
{
  bridge <- rbridge(end = 1, frequency = 500)
  succeeded=all(bridge>=0)||all(bridge<=0)
}
bridge = abs(bridge)
plot(bridge)

введіть тут опис зображення


2
Проблема цього методу полягає в тому, що якщо ви моделюєте з меншим ступеневим розміром, ймовірність того, що броунівський міст буде негативним в якийсь момент, переходить до 1 поблизу . t=0
Алекс Р.

Дійсно, була невелика відмова від відповідальності;) "І чим більше" встановлена ​​"частота, тим менше шансів на те, що ви знайдете траєкторії." ... Я лише наполовину задоволений своєю відповіддю, але це єдине, що я міг подумати про те, чи потрібно було починати з броунівського мосту. Шукаєте (і чекаєте) кращої відповіді!
RUser4512
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.