Mensimulasikan Ekskursi Brown menggunakan Jembatan Brown?

11

Saya ingin mensimulasikan proses tamasya Brown (gerakan Brown yang dikondisikan selalu positif ketika hingga pada t = 1 ). Karena proses tamasya Brown adalah jembatan Brown yang dikondisikan untuk selalu positif, saya berharap untuk mensimulasikan gerakan tamasya Brown menggunakan jembatan Brown.0<t<10t=1

Dalam R, saya menggunakan paket 'e1017' untuk mensimulasikan proses jembatan Brown. Bagaimana saya bisa menggunakan proses jembatan Brown ini untuk membuat tamasya Brown?

RPz
sumber
4
Bukankah sudah cukup untuk mensimulasikan nilai absolut jembatan brown?
Alex R.
1
@AlexR. no [padding]
P.Windridge
1
Namun, perlu dibuat kembali meskipun bahwa gerakan Brown yang dikondisikan untuk menjadi positif dapat diwujudkan dengan mencerminkan BM di sekitar itu berjalan maksimum, yang merupakan akibat dari Pitman. Cara lain untuk mewujudkan BM yang dikondisikan untuk tetap positif adalah dengan nilai absolut dari BM 3d .
P.Windridge
1
@AlexR. - Saya telah memperbarui jawaban saya di bawah ini untuk menunjukkan bahwa bahkan untuk jalan acak sederhana, hasil pengkondisian positif menginduksi perilaku yang berbeda untuk hanya mengambil nilai absolut. Untuk jembatan Brown secara khusus, secara intuitif untuk kecil , perilaku seperti (karena ) dan BM memenuhi hukum logaritma iterasi (jadi " " tidak relevan untuk cukup kecil. Jadi, seperti BM yang dipantulkan untuk kecil . Ini memiliki perilaku yang sangat berbeda untuk dikondisikan untuk tetap positif ...B B t | W t B B t = W t - t W 1 O p ( t ) t | B B t | t W ttBBt|WtBBt=WttW1Op(t)t|BBt|tWt
P.Windridge

Jawaban:

7

Tamasya Brown dapat dibangun dari jembatan menggunakan konstruksi berikut oleh Vervaat: https://projecteuclid.org/download/pdf_1/euclid.aop/1176995155

Perkiraan cepat dalam R, menggunakan kode BB @ whuber, adalah

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

masukkan deskripsi gambar di sini

Berikut ini plot lain (dari set.seed (21)). Pengamatan utama dengan tamasya adalah bahwa pengkondisian sebenarnya bermanifestasi sebagai "tolakan" dari 0, dan Anda tidak mungkin melihat tamasya mendekati pada interior . ( 0 , 1 )0(0,1)masukkan deskripsi gambar di sini


Selain itu: Distribusi nilai absolut jembatan Brown dan tamasya, dikondisikan untuk menjadi positif , adalah tidak sama. Secara intuitif, tamasya ini diusir dari asalnya, karena jalur Brown yang terlalu dekat dengan asalnya kemungkinan akan menjadi negatif segera setelah itu dan dengan demikian dihukum oleh pengkondisian. ( B B t ) 0 t 1(|BBt|)0t1(BBt)0t1

Ini bahkan dapat diilustrasikan dengan jembatan berjalan acak sederhana dan perjalanan pada langkah, yang merupakan analog diskrit alami dari BM (dan konvergen ke BM saat langkah-langkah menjadi besar dan Anda skala ulang).6

Memang, ambil SRW simetris mulai dari . Pertama, mari kita pertimbangkan pengkondisian "jembatan" dan lihat apa yang terjadi jika kita hanya mengambil nilai absolut. Pertimbangkan semua jalur sederhana dengan panjang yang dimulai dan berakhir pada . Jumlah jalur tersebut adalah . Ada antaranya . Dengan kata lain, probabilitas untuk nilai absolut "jembatan" SRW kami (dikondisikan untuk berakhir pada ) untuk memiliki nilai 0 pada langkah adalah .s 6 00s60(63)=202×(42)=12|s2|=00212/20=0.6

Kedua, kami akan mempertimbangkan pengkondisian "tamasya". Jumlah jalur sederhana non-negatif panjang yang berakhir pada adalah jumlah Catalan . Tepat dari jalur ini memiliki . Dengan demikian, probabilitas untuk "perjalanan" SRW kami (dikondisikan untuk tetap positif dan berakhir pada ) untuk memiliki nilai 0 pada langkah adalah .s6=230Cm=3=(2mm)/(m+1)=52s2=0022/5=0.4<0.6

Jika Anda masih meragukan fenomena ini tetap ada dalam batas Anda dapat mempertimbangkan probabilitas untuk jembatan SRW dan kunjungan panjang memukul 0 pada langkah .4n2n

Untuk perjalanan SRW: kami memiliki menggunakan aysmptotics dari wikipedia https://en.wikipedia.org/wiki / Catalan_number . Yaitu seperti akhirnya.

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

Untuk abs (jembatan SRW): menggunakan asimptotik dari wikipedia https://en.wikipedia.org/wiki/Binomial_coefisien . Ini seperti .

P(|S2n|=0|S4n=0)=(2nn)2/(4n2n)(4n/πn)2/(42n/2nπ)
cn1/2

Dengan kata lain, probabilitas asimptotik untuk melihat jembatan SRW dikondisikan menjadi positif pada dekat tengah jauh lebih kecil dari itu untuk nilai absolut jembatan. 0


Berikut ini adalah konstruksi alternatif berdasarkan proses Bessel 3D bukan jembatan Brown. Saya menggunakan fakta-fakta yang dijelaskan dalam https://projecteuclid.org/download/pdf_1/euclid.ejp/1457125524

Tinjauan umum- 1) Mensimulasikan proses Bessel 3d. Ini seperti BM yang dikondisikan untuk menjadi positif. 2) Menerapkan penyelarasan ruang-waktu yang sesuai untuk mendapatkan jembatan Bessel 3 (Persamaan (2) di kertas). 3) Gunakan fakta (dicatat tepat setelah Teorema 1 di koran) bahwa jembatan Bessel 3 sebenarnya memiliki distribusi yang sama dengan tamasya Brown.

Kelemahan kecil adalah bahwa Anda perlu menjalankan proses Bessel untuk sementara waktu (T = 100 di bawah) pada grid yang relatif baik agar penskalaan ruang / waktu untuk menendang pada akhirnya.

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

Berikut hasilnya: masukkan deskripsi gambar di sini

P.Wridge
sumber
5

The Refleksi Prinsip menegaskan

jika jalur proses Wiener mencapai nilai pada waktu , maka jalur selanjutnya setelah waktu memiliki distribusi yang sama dengan refleksi dari jalur selanjutnya tentang nilaif(t)f(s)=at=ssa

Wikipedia , diakses 9/26/2017.

Dengan demikian kita dapat mensimulasikan jembatan Brown dan mencerminkannya tentang nilai hanya dengan mengambil nilai absolutnya. Jembatan Brown disimulasikan dengan mengurangi tren dari titik awal ke akhir dari gerakan Brown itu sendiri. (Tanpa kehilangan generalitas kita dapat mengukur waktu dalam satuan yang membuat Jadi, pada saat cukup kurangi dari .)a=0(0,0)(T,B(T))BT=1tB(T)tB(t)

Prosedur yang sama dapat diterapkan untuk menampilkan gerak Brown yang bersyarat tidak hanya pada kembali ke nilai yang ditentukan pada waktu (nilainya untuk jembatan), tetapi juga pada sisa antara dua batas (yang harus mencakup nilai awal dari pada waktu dan nilai akhir yang ditentukan).T>0000

![Angka

Gerakan Brown ini dimulai dan diakhiri dengan nilai nol: itu adalah Jembatan Brown.

Gambar 2

Grafik merah adalah tamasya Brown yang dikembangkan dari jembatan Brownian sebelumnya: semua nilainya tidak asli. Grafik biru telah dikembangkan dengan cara yang sama dengan mencerminkan jembatan Brown antara garis putus-putus setiap kali bertemu dengan mereka. Grafik abu-abu menampilkan jembatan Brown asli.

Perhitungannya sederhana dan cepat: bagilah waktu menjadi beberapa interval kecil, hasilkan kenaikan normal yang terdistribusi secara identik untuk setiap interval, kumpulkan, kurangi tren, dan lakukan refleksi yang diperlukan.

Ini Rkode. Di dalamnya, Wadalah gerak Brown asli, Badalah jembatan Brown, dan B2merupakan perjalanan dibatasi antara dua nilai yang ditentukan ymin(non-positif) dan ymax(non-negatif). Tekniknya untuk melakukan refleksi menggunakan %%operator modulus dan minimum yang sesuai dengan komponen pminmungkin menarik secara praktis.

#
# 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
whuber
sumber
tolong bagikan kode untuk "Brownian excursion" Anda (alur merah). Secara kasat mata itu lebih mirip semacam gerak Brown yang dipantulkan yang dibatasi hingga . Saya pikir ini memiliki distribusi yang agak berbeda dari tamasya, yang mengalami tolakan dari asal, yaitu realisasi Anda (merah) tampaknya agak atipikal. 0
P.Windridge
@ P.Windridge Maaf; Saya lupa: tamasya itu abs(B). Ingat, ini dimaksudkan sebagai gerakan Brown yang bergantung pada dua kendala: sama dengan targetpada waktu dan di mana-mana non-negatif. 1
whuber
1
Saya belum lupa :) Saya mengatakan bahwa saya percaya memiliki distribusi yang agak berbeda dengan dikondisikan untuk menjadi positif (yaitu tamasya) :)(abs(BBt))0t1(BBt)0t1
P.Windridge
4
Distribusinya berbeda, jadi saya turun memilih maaf.
P.Windridge
2

Anda bisa menggunakan metode penolakan: mensimulasikan jembatan Brown dan menjaga yang positif. Berhasil.

Tapi. Ini sangat lambat, karena banyak lintasan sampel ditolak. Dan semakin besar "frekuensi" yang Anda atur, semakin kecil kemungkinan Anda menemukan lintasan.

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

Anda dapat mempercepatnya menjaga lintasan negatif juga.

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

masukkan deskripsi gambar di sini

RUser4512
sumber
2
Masalah dengan metode ini adalah bahwa jika Anda mensimulasikan dengan stepsize yang lebih kecil, kemungkinan jembatan brown menjadi negatif pada beberapa titik pergi ke 1 terdekat . t=0
Alex R.
Memang, ada penafian kecil;) "Dan semakin besar" frekuensi "yang Anda atur, semakin kecil kemungkinan Anda menemukan lintasan." ... Saya hanya setengah puas dengan jawaban saya, tetapi ini adalah satu-satunya hal yang dapat saya pikirkan kalau aku harus mulai dengan jembatan Brown. Mencari (dan menunggu) untuk jawaban yang lebih baik!
RUser4512