ブラウニアンブリッジを使用してブラウニアンエクスカーションをシミュレートしますか?


11

私はブラウンエクスカーションプロセス(場合は常に正である条件付けられるブラウン運動をシミュレートしたいとで)。ブラウニアンエクスカーションプロセスは、常にポジティブになるように条件付けされたブラウニアンブリッジであるため、ブラウニアンブリッジを使用して、ブラウニアンエクスカーションのモーションをシミュレートしたいと考えていました。0 t = 10<t<10t=1

Rでは、ブラウンブリッジプロセスをシミュレートするために 'e1017'パッケージを使用しています。このブラウン橋プロセスを使用して、ブラウンエクスカーションを作成するにはどうすればよいですか?


4
ブラウニアンブリッジの絶対値をシミュレーションするだけで十分ではありませんか。
Alex R.

1
@AlexR。いいえ[パディング]
P.Windridge

1
ただし、ポジティブになるように条件付けされたブラウン運動は、実行中の最大値の周りにBMを反映することで実現できることを再作成する価値があります。これは、ピットマンによる結果です。ポジティブを維持するように条件付けられたBMを実現する別の方法は、3d BMの絶対値によるものです。
P.Windridge 2017

1
@AlexR。-以下の回答を更新して、単純なランダムウォークの場合でも、ポジティブコンディショニングの結果が異なる動作を引き起こして、単に絶対値を取ることを示しました。ブラウンブリッジのために特別に、直感的に小さいための挙動似ている(なぜなら)及びBM満たす反復対数の法則(「よう」十分に小さいとは無関係であり、。したがって、は、が小さい場合の反射BMのようなものです。これは、正のままであるように条件付けされたとはかなり異なる動作をします...B B t | W t B B t = W tt W 1 O pt t | B B t | t W ttBBt|WtBBt=WttW1Op(t)t|BBt|tWt
P.Windridge

回答:


7

ブラウンエクスカーションがVervaatによって次のような構成を使用して、ブリッジから構成することができる。 https://projecteuclid.org/download/pdf_1/euclid.aop/1176995155

@whuberのBBコードを使用したRでの簡単な近似は、

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")

ここに画像の説明を入力してください

0(0,1)ここに画像の説明を入力してください


(|BBt|)0t1(BBt)0t1

6

0s602× 4(63)=20| s2| =00212/20=0.62×(42)=12|s2|=00212/20=0.6

次に、「エクスカーション」条件付けを検討します。で終わる長さ非負の単純なパスの数は、カタロニア語の数です。正確にこれらの経路は有する。したがって、我々のSRWの確率(に滞在正および末尾に馴化「エクスカーション」ステップにおいて値0を持つ)ある。s6=230Cm=3=(2mm)/(m+1)=52s2=0022/5=0.4<0.6

それでもこの現象が限界に留まっていると思われる場合は、SRWブリッジとステップ 0にヒットする長さエクスカーションの確率を検討できます。4n2n

SRWエクスカーション:ウィキペディアhttps://en.wikipedia.org/wikiの漸近線を使用/ Catalan_number。つまり、最終的にはなります。

P(S2n=0|Sj0,j4n,S4n=0)=Cn2/C2n(42n/πn3)/(42n/(2n)3π)
cn3/2

abs(SRWブリッジ)の場合:ウィキペディアhttps://en.wikipedia.org/wiki/Binomial_coefficientの漸近線を使用します。これはようなものです。

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ベッセルプロセスをシミュレートします。これは、ポジティブであることが条件付けられたBMのようなものです。2)ベッセル3ブリッジを取得するために、適切な時空間リスケーリングを適用します(ペーパーの式(2))。3)ベッセル3橋が実際にブラウン運動と同じ分布をしているという事実(論文の定理1の直後に記されています)を使用します。

わずかな欠点は、空間/時間のスケーリングを最後に開始するために、比較的細かいグリッドでベッセルプロセスをかなり長く(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

ウィキペディア、2017年9月26日アクセス。

したがって、ブラウンブリッジをシミュレートし、絶対値をとるだけでそれを値反映させることができます。ブラウンブリッジは、ブラウン運動自体から開始ポイントから終了までの傾向を差し引くことによってシミュレーションされます。(一般性を失うことなく、となる単位で時間を測定できます。したがって、時間から差し引くだけです。)0 0 T B T a=0(0,0)(T,B(T))BT=1tB(T)tB(t)

同じ手順を適用して、時間(値はブリッジの場合は)で指定された値に戻るだけでなく、2つの制限の間に残ることにも条件付きでブラウン運動を表示することができます(これには必ず開始値が含まれます)時)と指定した終了値。0 0 0T>0000

![図

このブラウン運動は、ゼロの値で開始および終了します。これは、ブラウン橋です。

図2

赤いグラフは、前のブラウン橋から発展したブラウンの遠足です。その値はすべて負ではありません。青いグラフは、点線に出会うたびに、点線間のブラウン橋を反映して同じように作成されました。灰色のグラフは、元のブラウン橋を表示しています。

計算は単純かつ高速です。時間のセットを小さな間隔に分割し、各間隔に対して独立して同一に分布する正規増分を生成し、それらを累積し、傾向を差し引き、必要な反射を実行します。

これがRコードです。その中で、Wは元のブラウン運動でBあり、ブラウン橋でありB2、2つの指定された値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 2017

@ P.Windridgeすみません。私は忘れました:遠足はabs(B)です。これは、2つの制約を条件としたブラウン運動であることを意図していることを覚えておいてください。target時間と等しく、どこでも負ではありません。1
whuber

1
私は忘れていない:)私は信じていることを言っているにかなり異なる分布があるに調整しますポジティブである(つまり、遠足):)B B T 0 T 1(abs(BBt))0t1(BBt)0t1
P.Windridge '26

4
ディストリビューションが異なるため、申し訳ありません。
P.Windridge 2017

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
Alex R.

確かに、小さな免責事項がありました;)「設定した「頻度」が大きいほど、軌跡を見つける可能性が低くなります。」...私の答えには半分しか満足していませんが、これは私が考えることができる唯一のことですブラウン橋から始めなければならないかどうかについて。より良い答えを探しています(そして待っています)!
RUser4512
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.