การจำลองทัศนศึกษาบราวเนียนโดยใช้สะพานบราวเนียน?


11

ฉันต้องการจำลองกระบวนการทัศนศึกษาแบบบราวเนียน (การเคลื่อนไหวแบบบราวเนียนที่ปรับเงื่อนไขจะเป็นค่าบวกเสมอเมื่อถึงที่ ) เนื่องจากกระบวนการทัศนศึกษา Brownian เป็นสะพาน Brownian ที่มีเงื่อนไขว่าจะเป็นบวกอยู่เสมอฉันจึงหวังที่จะจำลองการเคลื่อนที่ของทัศนศึกษา Brownian โดยใช้สะพาน Brownian0 t = 10<t<10t=1

ใน R ฉันใช้แพ็คเกจ 'e1017' เพื่อจำลองกระบวนการบราวเนียนบริดจ์ ฉันจะใช้กระบวนการบราวน์บราวน์นี้เพื่อสร้างการเดินทางแบบบราวเนียนได้อย่างไร


4
มันไม่พอที่จะจำลองค่าสัมบูรณ์ของสะพานบราวนี่ใช่ไหม
Alex R.

1
@AlexR ไม่มี [padding]
P.Windridge

1
อย่างไรก็ตามมันมีค่าที่สร้างขึ้นใหม่แม้ว่าการเคลื่อนไหวแบบบราวเนียนที่มีเงื่อนไขเป็นบวกสามารถรับรู้ได้โดยการสะท้อนค่า BM รอบ ๆ ว่ามันทำงานได้สูงสุดซึ่งเป็นผลมาจาก Pitman วิธีที่จะตระหนักถึง BM อีกเงื่อนไขที่จะอยู่ในเชิงบวกโดยค่าสัมบูรณ์ของBM 3d
P.Windridge

1
@AlexR - ฉันได้อัปเดตคำตอบของฉันด้านล่างเพื่อแสดงให้เห็นว่าแม้การเดินแบบสุ่มง่าย ๆ แต่ผลลัพธ์ในเชิงบวกยังทำให้เกิดพฤติกรรมที่แตกต่างเพื่อเพียงแค่รับค่าสัมบูรณ์ สำหรับสะพาน Brownian โดยเฉพาะอย่างสังหรณ์ใจสำหรับขนาดเล็กและพฤติกรรมของเป็นเหมือน (เพราะ ) และ BM น่าพอใจกฎหมายของลอการิทึมซ้ำ (เพื่อว่า " " ไม่เกี่ยวข้องสำหรับขนาดเล็กพอที่ . ดังนั้นเป็นเหมือน BM ที่สะท้อนกลับสำหรับขนาดเล็กสิ่งนี้มีพฤติกรรมที่ค่อนข้างแตกต่างจากมีเงื่อนไขที่จะยังคงเป็นบวก ...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

คำตอบ:


7

ทัศนศึกษา Brownian สามารถสร้างได้จากสะพานโดยใช้การก่อสร้างต่อไปนี้โดย 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 , 1 )0(0,1)ป้อนคำอธิบายรูปภาพที่นี่


ด้านข้าง: การแจกแจงค่าสัมบูรณ์ของสะพานบราวเนียนและการเดินทางมีเงื่อนไขเป็นบวกคือ ไม่เหมือนกัน. โดยสัญชาตญาณการเดินทางถูกขับออกจากแหล่งกำเนิดเพราะเส้นทางของบราวเนียนที่อยู่ใกล้กับแหล่งกำเนิดมากเกินไปมีแนวโน้มที่จะเป็นลบในไม่ช้าหลังจากนั้นจึงถูกลงโทษจากการปรับสภาพ ( B B t ) 0 t 1(|BBt|)0t1(BBt)0t1

สิ่งนี้สามารถแสดงให้เห็นได้ด้วยสะพานเดินแบบเรียบง่ายและการทัศนศึกษาในขั้นตอนซึ่งเป็นอะนาล็อกโดยธรรมชาติของ BM (และมาบรรจบกับ BM เมื่อขั้นตอนมีขนาดใหญ่และคุณจะต้องช่วย)6

อันที่จริงใช้ SRW สมมาตรเริ่มต้นจาก0ก่อนอื่นให้เราพิจารณาการปรับสภาพ "สะพาน" และดูว่าจะเกิดอะไรขึ้นหากเราใช้ค่าสัมบูรณ์ พิจารณาทุกเส้นทางที่เรียบง่ายความยาวที่เริ่มต้นและสิ้นสุดที่0จำนวนเส้นทางดังกล่าวเป็น20 มีจากนั้น0 ในคำอื่น ๆ น่าจะเป็นสำหรับค่าสัมบูรณ์ของ SRW ของเรา "สะพาน" (ปรับอากาศไปยังจุดสิ้นสุดที่ ) จะมีค่า 0 ในขั้นตอนที่คือ0.6s 6 0 ( 6)0s602× ( 4(63)=20| s2| =00212/20=0.62×(42)=12|s2|=00212/20=0.6

ประการที่สองเราจะพิจารณาปรับอากาศ "การเดินทาง" จำนวนเส้นทางที่ง่ายเชิงลบความยาวที่สิ้นสุดที่เป็นจำนวนคาตาลัน5 เผงเส้นทางเหล่านี้มี0 ดังนั้นน่าจะเป็น SRW ของเรา "เที่ยว" (เงื่อนไขที่จะเข้าพักในเชิงบวกและสิ้นสุดที่ ) จะมีค่า 0 ในขั้นตอนที่คือ<0.66 = 2 3 0 C m = 3 = ( 2 ms6=2302s2=0022/5=0.4<0.6Cm=3=(2mm)/(m+1)=52s2=0022/5=0.4<0.6

ในกรณีที่คุณยังคงสงสัยนี้ยังคงมีปรากฏการณ์ในวงเงินที่คุณสามารถพิจารณาความน่าจะเป็นสะพาน SRW และทัศนศึกษาของความยาวตี 0 ในขั้นตอน2n2 n4n2n

สำหรับการทัศนศึกษา SRW: เรามีโดยใช้ aysmptotics จาก wikipedia https://en.wikipedia.org/wiki / นั่นคือมันเหมือนกับในที่สุดn - 3 / 2

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

สำหรับ abs (สะพาน SRW):โดยใช้ asymptotics จากวิกิพีเดีย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 Bessel แทนสะพานบราวเนียน ฉันใช้ข้อเท็จจริงที่อธิบายไว้ในhttps://projecteuclid.org/download/pdf_1/euclid.ejp/1457125524

ภาพรวม - 1) จำลองกระบวนการ Bessel 3d นี่เป็นเหมือน BM ที่ปรับเงื่อนไขให้เป็นบวก 2) ใช้การลดขนาดเวลาที่เหมาะสมเพื่อให้ได้สะพาน Bessel 3 (สมการ (2) ในกระดาษ) 3) ใช้ความจริง (บันทึกไว้หลังทฤษฎีบทที่ 1 ในเอกสาร) ว่าจริง ๆ แล้วสะพาน Bessel 3 นั้นมีการกระจายตัวแบบเดียวกับการเดินทางแบบบราวเนียน

ข้อเสียเปรียบเล็กน้อยคือคุณต้องใช้กระบวนการ Bessel เป็นระยะเวลาหนึ่ง (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

สะท้อนหลักการอ้าง

หากเส้นทางของกระบวนการ Wienerถึงค่าณ เวลาดังนั้นเส้นทางที่ตามมาหลังจากเวลามีการแจกแจงแบบเดียวกันกับการสะท้อนของเส้นทางที่ตามมาเกี่ยวกับค่าf ( s ) = a t = s s af(t)f(s)=at=ssa

Wikipedia , เข้าถึง 9/26/2017

ดังนั้นเราอาจจำลองสะพานบราวเนียนและสะท้อนมันเกี่ยวกับค่าเพียงแค่รับค่าสัมบูรณ์ สะพานบราวเนียนถูกจำลองโดยการลบแนวโน้มจากจุดเริ่มต้นไปยังจุดสิ้นสุดจากบราวน์เคลื่อนไหวเอง (โดยไม่สูญเสียความสามารถทั่วไปเราอาจวัดเวลาในหน่วยที่ทำให้ดังนั้น ณ เวลาเพียงลบจาก )( 0 , 0 ) ( T , B ( T ) ) B T = 1 t B ( T ) t B ( t )a=0(0,0)(T,B(T))BT=1tB(T)tB(t)

ขั้นตอนเดียวกันอาจนำไปใช้เพื่อแสดงการเคลื่อนไหวแบบบราวเนียนแบบมีเงื่อนไขไม่เพียง แต่กลับไปเป็นค่าที่ระบุในเวลา (ค่าสำหรับสะพาน) แต่ยังเหลืออยู่ระหว่างสองขีด จำกัด (ซึ่งจำเป็นต้องรวมถึงค่าเริ่มต้น เป็นในเวลาและค่าสิ้นสุดที่ระบุ)0 0 0T>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

โปรดแบ่งปันรหัสสำหรับ "Brownian excursion" ของคุณ (แปลงสีแดง) ด้วยตามันมีลักษณะเหมือนชนิดของการเคลื่อนที่แบบบราวสะท้อนให้เห็นข้อ จำกัด ไปสิ้นสุดที่0ฉันคิดว่าสิ่งนี้มีการกระจายที่ค่อนข้างแตกต่างจากการทัศนศึกษาซึ่งประสบกับการขับไล่จากแหล่งกำเนิดนั่นคือการรับรู้ของคุณ (สีแดง) ดูเหมือนจะผิดปกติ 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
ปัญหาด้วยวิธีนี้คือว่าถ้าคุณจำลองกับ stepsize ขนาดเล็กน่าจะเป็นของบราวสะพานเป็นเชิงลบในบางจุดไปอยู่บริเวณใกล้เคียง 1 0 t=0
Alex R.

อันที่จริงมีข้อจำกัดความรับผิดชอบเล็กน้อย) คุณตั้งค่า "ความถี่" ที่ใหญ่กว่าและมีโอกาสน้อยที่คุณจะพบวิถี "... ฉันพอใจเพียงครึ่งเดียวกับคำตอบของฉัน แต่นี่เป็นสิ่งเดียวที่ฉันคิดได้ ถ้าฉันต้องเริ่มต้นด้วยสะพานบราวเนียน กำลังมองหา (และรอ) สำหรับคำตอบที่ดีกว่า!
RUser4512
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.