บทนำสู่แคลคูลัสเชิงสุ่ม
(jiha-kim.github.io)- แคลคูลัสเชิงสุ่มเป็นแนวทางสำหรับจัดการระบบจริงที่ไม่เป็นระเบียบอย่าง การเคลื่อนที่แบบบราวน์ โดยให้ความสำคัญกับสัญชาตญาณทางฟิสิกส์และกระบวนการอนุมานมากกว่าความเป็นแบบแผนล้วน ๆ
- การแจกแจงทวินาม แบบไม่ต่อเนื่องและ symmetric random walk เมื่่อเพิ่มจำนวนครั้งทดลองและทำ scaling จะเชื่อมไปสู่การแจกแจงปกติและกระบวนการความน่าจะเป็นแบบต่อเนื่องผ่านทฤษฎีบทขีดจำกัดส่วนกลาง
- การเคลื่อนที่แบบบราวน์ (W(t)) มี independent increments และ (W(t)\sim N(0,t)) โดยเส้นทางมีความต่อเนื่อง แต่เกือบแน่นอนว่า ไม่สามารถหาอนุพันธ์ได้ที่จุดใดเลย
- แคลคูลัสของ Itô มีการเพิ่ม พจน์อันดับสอง เข้าไปใน chain rule ทั่วไป เนื่องจากกฎ (dW=\sqrt{dt}N(0,1)), ((dW)^2\approx dt)
- สมการเชิงอนุพันธ์สุ่มใช้ drift และ diffusion เพื่อจำลองทั้งแนวโน้มและความสุ่มไปพร้อมกัน ส่วนแนวทาง Stratonovich ใช้การประเมินที่จุดกึ่งกลางเพื่อคง chain rule แบบทั่วไปไว้ และถูกใช้ในฟิสิกส์ การควบคุม การแพร่กระจายทางชีววิทยา และการจำลองเชิงตัวเลข
ปัญหาที่แคลคูลัสเชิงสุ่มจัดการ
- แคลคูลัสเชิงสุ่มเป็นเครื่องมือที่อาศัย การเคลื่อนที่แบบบราวน์ และแคลคูลัสของ Itô เพื่อจัดการระบบจริงที่ไม่เป็นระเบียบให้อยู่ในรูปแบบที่คำนวณได้
- ขอบเขตการประยุกต์ใช้งานครอบคลุมกว้างตั้งแต่ฟิสิกส์ การเงิน ชีววิทยา ไปจนถึงแมชชีนเลิร์นนิง
- ฟิสิกส์: Einstein ใช้ข้อเท็จจริงที่ว่าการสั่นของการเคลื่อนที่แบบบราวน์สอดคล้องกับการชนของโมเลกุลเพื่อแสดงการมีอยู่ของอะตอม
- การเงิน: โมเดลกำหนดราคาออปชันอย่างสมการ Black-Scholes อาศัยสมการเชิงอนุพันธ์สุ่มในรูป (dS=\mu Sdt+\sigma SdW)
- ชีววิทยา: random walk ใช้จำลองการแพร่กระจายของสปีชีส์หรือการยิงสัญญาณของเซลล์ประสาท
- แมชชีนเลิร์นนิง: Song et al. (2021) ใช้สมการเชิงอนุพันธ์สุ่มที่อิงแคลคูลัสของ Itô เพื่อจำลองวิวัฒนาการของสัญญาณรบกวนตามเวลา และใช้กระบวนการย้อนกลับเพื่อสร้างตัวอย่างใหม่
จากการแจกแจงทวินามสู่กระบวนการความน่าจะเป็นแบบต่อเนื่อง
- สามเหลี่ยมของ Pascal ใช้นับจำนวนเส้นทางที่ไปทางซ้ายหรือขวาในแต่ละขั้น และจำนวนวิธีไปถึงตำแหน่งที่ (k) ในแถวที่ (n) คือ (\binom{n}{k}=\frac{n!}{k!(n-k)!})
- ความน่าจะเป็นที่จะสำเร็จ (k) ครั้งและล้มเหลว (n-k) ครั้งในการทดลองอิสระเป็นดังนี้
[ P(k \text{ wins in } n \text{ trials})=\binom{n}{k}p^kq^{n-k} ]
- สมมติฐานความเป็นอิสระ เป็นเงื่อนไขที่เข้มมาก ดังนั้นในโลกจริงที่มีจิตวิทยาหรือโมเมนตัมเข้ามาเกี่ยวข้อง เช่น การชนะต่อเนื่องในกีฬา หรือราคาหุ้น โมเดลอาจไม่แม่นยำ
- ปรากฏการณ์ที่เปลี่ยนแปลงอย่างต่อเนื่อง เช่น การตกของวัตถุ การแพร่ของก๊าซ ความผันผวนของราคาหุ้น หรือการชนของโมเลกุลในของเหลว จัดการได้ยากด้วยแค่จุดและผลบวก จึงต้องใช้ ช่วงและอินทิกรัล
Random walk และทฤษฎีบทขีดจำกัดส่วนกลาง
- ใน symmetric random walk ที่ (p=0.5) ให้การกระจัดในหนึ่งขั้นเป็นดังนี้
[ X(t)= \begin{cases} 1 & \text{with probability } \frac{1}{2}\ -1 & \text{with probability } \frac{1}{2} \end{cases} ]
- แต่ละ (X(t)) มีค่าเฉลี่ย 0 ความแปรปรวน 1 และสมมติให้ขั้นในเวลาที่ต่างกันเป็นอิสระต่อกัน
- การกระจัดรวมสามารถเขียนเป็นผลรวมของตัวแปรสุ่มอิสระได้
[ S(n)=X(1)+X(2)+\dots+X(n)=\sum_{t=1}^{n}X(t) ]
- ตามทฤษฎีบทขีดจำกัดส่วนกลาง ผลรวมของตัวแปรสุ่มอิสระที่มีการแจกแจงเหมือนกัน (X_1,\dots,X_n) จะเข้าใกล้การแจกแจงปกติเมื่อ (n\to\infty)
[ X_1+\dots+X_n\sim N(n\mu,n\sigma^2) ]
- ใน random walk นี้ ความสัมพันธ์ต่อไปนี้เป็นจริง
[ S(n)\sim N(0,n) ]
[ \lim_{n\to\infty}\frac{1}{\sqrt{n}}S(n)=N(0,1) ]
- ดังนั้น “การแจกแจงทวินามแบบต่อเนื่อง” จึงเชื่อมไปสู่ การแจกแจงปกติ
นิยามของการเคลื่อนที่แบบบราวน์
- การเคลื่อนไหวของอนุภาคเล็ก ๆ หรือเกสรดอกไม้บนน้ำที่ Robert Brown สังเกตในช่วงทศวรรษ 1820 มีความไม่เป็นระเบียบอย่างมาก และในสเกลเล็ก ความไวต่อแรงภายนอกทำให้การเคลื่อนไหวจริงถูกครอบงำจนเหนือกว่าการเคลื่อนไหวก่อนหน้า
- ในแบบจำลองทางคณิตศาสตร์ที่ทำให้ง่ายขึ้น เหตุการณ์ในเวลาที่ต่างกันถือว่า เป็นอิสระ ต่อกัน และจากสมมาตรของตำแหน่งจึงมองว่าตำแหน่งเฉลี่ยของอนุภาคที่เวลา (t) อยู่ใกล้จุดกำเนิด
- คุณสมบัติที่ continuous random walk ควรมีมีดังนี้
- ตั้งจุดเริ่มต้นเป็น 0 เพื่อความสะดวกทางคณิตศาสตร์
- ไม่มีอคติด้านทิศทาง ดังนั้นการกระจัดคาดหมายในแต่ละขั้นและการกระจัดคาดหมายรวมจึงเป็น 0
- การกระจัดในช่วงเวลาที่ต่างกันเป็นอิสระต่อกัน
- เส้นทางมีความต่อเนื่อง ไม่มีการกระโดดหรือช่องว่าง
- การแจกแจงตำแหน่ง ณ เวลาหนึ่ง ๆ ต้องเป็นการแจกแจงปกติ
- การเคลื่อนที่แบบบราวน์มักเขียนเป็น (B_t) ส่วนกระบวนการ Wiener เขียนเป็น (W_t) และที่นี่จะใช้ (W(t)) เพื่อเน้นการขึ้นกับเวลา
- คุณสมบัติหลักมีดังนี้
[ W(0)=0 \quad \text{almost surely} ]
[ W(t)\sim N(0,t) ]
[ \Delta W(s,t)\sim N(0,t-s) ]
- increments ของช่วงที่ต่างกัน (\Delta W(t_1,t_2)) และ (\Delta W(t_2,t_3)) เป็นอิสระต่อกันเมื่อ (t_1<t_2\le t_3)
- จากตรงนี้ได้ว่า (E[W(t)]=0), (Var(W(t))=t)
- เส้นทางตัวอย่าง (t\mapsto W(t)) เกือบแน่นอนว่ามี uniform Hölder continuity สำหรับทุกเลขชี้กำลังที่ (\gamma<\frac12) แต่จะไม่เป็น Hölder continuous ที่ไหนเลยเมื่อ (\gamma\ge\frac12) และโดยเฉพาะอย่างยิ่ง ไม่สามารถหาอนุพันธ์ได้ที่จุดใดเลย
กฎสำคัญของแคลคูลัสของ Itô
- การเคลื่อนที่แบบบราวน์แม้จะต่อเนื่อง แต่ไม่เป็นระเบียบเกินกว่าจะมีอนุพันธ์แบบทั่วไปได้
- ในช่วงเล็ก ๆ (dt) จะได้ว่า
[ \Delta W(t,t+dt)\sim N(0,dt)=\sqrt{dt}N(0,1) ]
[ \frac{\Delta W(t,t+dt)}{dt}=\frac{1}{\sqrt{dt}}N(0,1) ]
- เมื่อ (dt\to0), (\frac{1}{\sqrt{dt}}) จะโตไม่สิ้นสุด จึงไม่ลู่เข้าเป็นอนุพันธ์จำกัด
- Kiyosi Itô ได้สร้าง แคลคูลัสของ Itô ขึ้นในช่วงทศวรรษ 1940 ให้สอดคล้องกับความสุ่มของการเคลื่อนที่แบบบราวน์ และสิ่งนี้กลายเป็นรากฐานของแคลคูลัสเชิงสุ่ม
-
(dW) และ ((dW)^2)
- กำหนดการเปลี่ยนแปลงเล็ก ๆ ของการเคลื่อนที่แบบบราวน์ดังนี้
- [
- dW:=W(t+dt)-W(t)
- ]
- [
- dW=\sqrt{dt}N(0,1)
- ]
- (dW) ต่างจาก (dx) แบบกำหนดแน่นอนในแคลคูลัสทั่วไป เพราะเป็นปริมาณสุ่ม มีขนาดแปรผันตาม (\sqrt{dt}) และเครื่องหมายขึ้นกับการแจกแจงปกติมาตรฐาน
- ค่าเฉลี่ยและความแปรปรวนมีดังนี้
- [
- E[dW]=0
- ]
- [
- Var(dW)=E[(dW)^2]=dt
- ]
- ค่าคาดหมายของ ((dW)^2) คือ (dt) และความแปรปรวนคือ (2dt^2) ดังนั้นเมื่อ (dt\to0) ความผันผวนจะเล็กจนละเลยได้ และในแคลคูลัสของ Itô จึงถือว่า ((dW)^2\approx dt)
- ในแคลคูลัสทั่วไป ((dx)^2) เล็กมากจนหายไป แต่ในแคลคูลัสเชิงสุ่ม ((dW)^2) อยู่ในสเกลเดียวกับ (dt) จึงทำให้กฎการคำนวณเปลี่ยนไป
-
อินทิกรัลของ Itô
- เช่นเดียวกับที่อินทิกรัลทั่วไป (\int_a^b f(x)dx) นิยามจากลิมิตของผลรวมแบบรีมันน์ เราสามารถพิจารณา (\int_0^t f(s)dW(s)) สำหรับการเคลื่อนที่แบบบราวน์ได้
- สำหรับการแบ่งช่วง (s_0,\dots,s_n) จะประมาณได้ด้วยผลรวมต่อไปนี้
- [
- \int_0^t f(s)dW(s)\approx \sum_{i=0}^{n-1}f(s_i)\Delta W(s_i,s_{i+1})
- ]
- ผลของอินทิกรัลนี้เป็น ตัวแปรสุ่ม ที่สะท้อนความสุ่มของ (W(t))
- หากประเมิน (f(s_i)) ที่ปลายซ้าย จะใช้เฉพาะข้อมูลจนถึงเวลา (s_i) จึงมีสมบัติ non-anticipating คือไม่มองข้อมูลอนาคต
-
บทช่วยของ Itô
- chain rule ของแคลคูลัสทั่วไปสำหรับ (f(t,W(t))) เป็นดังนี้
- [
- df=\frac{\partial f}{\partial t}dt+\frac{\partial f}{\partial W}dW
- ]
- เนื่องจากธรรมชาติที่หยาบของการเคลื่อนที่แบบบราวน์ พจน์อันดับสองใน Taylor expansion จึงไม่หายไป
- [
- df=\frac{\partial f}{\partial t}dt+\frac{\partial f}{\partial W}dW+\frac{1}{2}\frac{\partial^2 f}{\partial W^2}(dW)^2+\text{smaller terms}
- ]
- (dt^2) และ (dt,dW) หายไป แต่ ((dW)^2\approx dt) ยังคงอยู่
- ดังนั้นบทช่วยของ Itô จึงอยู่ในรูปต่อไปนี้
- [
- df=\frac{\partial f}{\partial t}dt+\frac{\partial f}{\partial W}dW+\frac{1}{2}\frac{\partial^2 f}{\partial W^2}dt
- ]
- พจน์เพิ่มเติม (\frac12\frac{\partial^2 f}{\partial W^2}dt) เกิดจาก ผลอันดับสอง ของการเคลื่อนที่แบบบราวน์
- เมื่อ (f(W)=W^2) จะคำนวณได้ดังนี้
- [
- d(W^2)=2W,dW+dt
- ]
- [
- W(t)^2=\int_0^t2W(s)dW(s)+t
- ]
- พจน์ (t) สอดคล้องกับ (E[W(t)^2]=t) ส่วนพจน์อินทิกรัลเป็นองค์ประกอบสุ่มที่มีค่าเฉลี่ย 0
การสร้างแบบจำลองด้วยสมการเชิงอนุพันธ์สุ่ม
- แคลคูลัสของ Itô ให้อินทิกรัลและ chain rule สำหรับการเคลื่อนที่แบบบราวน์ จึงสามารถใช้สร้างแบบจำลองระบบที่มีทั้งความสุ่มและแนวโน้มได้ด้วย สมการเชิงอนุพันธ์สุ่ม (SDE)
- SDE ทั่วไปมีรูปดังนี้
[ dX(t)=a(t,X(t))dt+b(t,X(t))dW(t) ]
- ความหมายของแต่ละพจน์มีดังนี้
- (X(t)): ปริมาณที่เปลี่ยนไปตามเวลา
- (a(t,X(t))dt): drift, ส่วนที่เป็นระบบ
- (b(t,X(t))dW(t)): diffusion, การรบกวนแบบสุ่มที่มาจากการเคลื่อนที่แบบบราวน์
- คำตอบของ SDE ไม่ใช่เส้นโค้งคงที่ แต่เป็น เส้นทางสุ่ม ที่แตกต่างกันในแต่ละครั้งที่รัน และสามารถวิเคราะห์รูปแบบทางสถิติได้
-
บทช่วยของ Itô แบบทั่วไป
- สำหรับ (dX=b(t,X(t))dt+\sigma(t,X(t))dW), บทช่วยของ Itô สำหรับ (f(t,X(t))) เป็นดังนี้
- [
- df=(f_t+bf_X+\frac{1}{2}\sigma^2f_{XX})dt+\sigma f_XdW
- ]
- ได้มาจากการพิจารณาว่า (dX=O(dW)) และรวมถึง (dX^2=O(dW^2))
-
drift และ diffusion
- drift (a(t,X)) กำหนดทิศทางเฉลี่ย ส่วน diffusion (b(t,X)) กำหนดความแรงของการสั่นแบบสุ่ม
- หาก (b=0) จะกลายเป็นสมการเชิงอนุพันธ์ทั่วไป และถ้า (a=0) จะเป็นการเคลื่อนที่แบบบราวน์ที่มีการสเกล
- กรณีอย่างง่ายเขียนได้ดังนี้
- [
- dX(t)=\mu dt+\sigma dW(t)
- ]
- เมื่อ (X(0)=0) จะได้คำตอบดังนี้
- [
- X(t)=\mu t+\sigma W(t)
- ]
- เพราะ (W(t)\sim N(0,t)) จึงมีการแจกแจงเป็น
- [
- X(t)\sim N(\mu t,\sigma^2t)
- ]
- นี่คือกระบวนการที่ drift แบบเชิงเส้นตามเวลาและมีการกระจายของสัญญาณรบกวน เป็นรูปแบบพื้นฐานของโมเดลอย่างหุ้นที่มีทั้งการเติบโตสม่ำเสมอและความผันผวน
-
การเคลื่อนที่แบบบราวน์เชิงเรขาคณิต
- สำหรับระบบที่ปริมาณการเปลี่ยนแปลงแปรตามขนาด จะใช้ การเคลื่อนที่แบบบราวน์เชิงเรขาคณิต (GBM)
- [
- dS(t)=\mu S(t)dt+\sigma S(t)dW(t)
- ]
- (\mu S(t)) คือ drift แบบสัดส่วน และ (\sigma S(t)) คือสัญญาณรบกวนแบบสัดส่วน
- (\frac{dS}{S}=\mu dt+\sigma dW) คือการเปลี่ยนแปลงเชิงอัตราส่วนที่มีทั้งแนวโน้มและความสุ่ม
- เมื่อตั้ง (f=\ln S) และใช้บทช่วยของ Itô จะได้ว่า
- [
- d(\ln S)=\left(\mu-\frac12\sigma^2\right)dt+\sigma dW
- ]
- เมื่อนำไปอินทิเกรตจะได้คำตอบดังนี้
- [
- S(t)=S(0)\exp\left(\left(\mu-\frac12\sigma^2\right)t+\sigma W(t)\right)
- ]
- เหตุที่ drift ถูกปรับด้วย (-\frac12\sigma^2) มาจากผลอันดับสองของสัญญาณรบกวน และรูปแบบนี้เป็นพื้นฐานของโมเดล Black-Scholes ในการเงิน
- คำตอบเชิงวิเคราะห์อย่าง GBM เป็นข้อยกเว้น โดย SDE ส่วนใหญ่ต้องอาศัยการจำลองเชิงตัวเลขหรือการวิเคราะห์เชิงสถิติผ่านสมการอย่าง Fokker-Planck
แคลคูลัสแบบ Stratonovich
- บทช่วยของ Itô มีพจน์อนุพันธ์อันดับสองรวมอยู่ จึงอาจทำให้การคำนวณยุ่งยาก
- แคลคูลัสแบบ Stratonovich เปลี่ยนจุดประเมินของอินทิกรัลเชิงสุ่มเพื่อคง chain rule ของแคลคูลัสทั่วไปไว้
- อินทิกรัลของ Itô ใช้ปลายซ้ายของแต่ละช่วง แต่ Stratonovich ใช้กฎการประเมินที่จุดกึ่งกลาง
- จุดประเมินแบบทั่วไปเขียนได้ดังนี้
[ \int_0^T f(X(t))\diamond dW
\lim_{n\to\infty}\sum_{i=0}^{n-1} f(X(t_i)+\lambda\Delta X(t_i,t_{i+1})) \Delta W(t_i,t_{i+1}) ]
- ในแคลคูลัสเชิงกำหนดแน่นอน (O(dX^2)\to0) ดังนั้นการเลือกจุดประเมินจึงไม่สำคัญ แต่ในแคลคูลัสเชิงสุ่ม (O(dW^2)\to O(dt)) ทำให้จุดประเมินมีความสำคัญ
- หากต้องการคง chain rule (df=f_X\circ dX) ไว้ การเปรียบเทียบ Taylor expansion ต้องใช้ (\lambda=\frac12)
- ดังนั้นอินทิกรัลแบบ Stratonovich จึงนิยามได้ดังนี้
[ \int_0^T f(X(t))\circ dW
\lim_{n\to\infty}\sum_{i=0}^{n-1} f\left(\frac{X(t_i)+X(t_{i+1})}{2}\right) \Delta W(t_i,t_{i+1}) ]
-
การแปลงระหว่าง Itô และ Stratonovich
- สมมติว่ากระบวนการสุ่มเดียวกันเขียนได้ในสองรูปต่อไปนี้
- [
- dX=adt+bdW=\tilde a dt+b\circ dW
- ]
- พจน์ drift มีความสัมพันธ์ดังนี้
- [
- a=\tilde a+\frac12 b_Xb
- ]
- แม้สัมประสิทธิ์การแพร่ (b) จะเท่ากัน แต่ระหว่างรูปแบบ Itô และ Stratonovich ฟังก์ชัน drift จะแตกต่างกัน
บริบทที่ใช้แนวทาง Stratonovich
- แคลคูลัสแบบ Stratonovich สร้างอินทิกรัลเชิงสุ่มที่ต่างจากวิธีปลายซ้ายของ Itô ด้วยกฎการประเมินที่จุดกึ่งกลาง และเหมาะกับระบบฟิสิกส์บางชนิดหรือการทำให้การคำนวณง่ายขึ้น
- ในสัญญาณรบกวนแบบคูณของฟิสิกส์ ตัวแกว่งแบบหน่วงที่มีสัญญาณรบกวนขึ้นกับสถานะเขียนได้ดังนี้
[ dX=-kXdt+\sigma X\circ dW ]
- เมื่อนำ chain rule ของ Stratonovich ไปใช้กับ (f(X)=\ln X) จะได้ว่า
[ d(\ln X)=-kdt+\sigma\circ dW ]
[ X(t)=X(0)e^{-kt+\sigma W(t)} ]
- ทฤษฎีบท Wong-Zakai ระบุว่าเมื่อส่งสัญญาณรบกวนจริงที่ค่อนข้างเรียบไปสู่ลิมิตของ white noise จะได้ SDE แบบ Stratonovich
- ในการควบคุมเชิงสุ่ม สำหรับระบบอย่าง (dX=(aX+u)dt+\sigma X\circ dW) กฎของ Stratonovich สอดคล้องกับสัญชาตญาณของการควบคุมแบบคลาสสิก จึงช่วยให้การออกแบบอินพุตควบคุม (u(t)) ง่ายขึ้น
- ในการแพร่กระจายทางชีววิทยา โมเดลที่มีสัญญาณรบกวนขึ้นกับตำแหน่งอย่าง (\sigma(X)=\sqrt{2D(1+kX^2)}) ใช้ Stratonovich เพื่อสะท้อนกฎการอนุรักษ์ทางฟิสิกส์
- ในการจำลองเชิงตัวเลข Stratonovich เข้ากันได้ดีกับวิธีจุดกึ่งกลาง จึงสามารถใช้ลด numerical artifacts ในโมเดลอย่างจลนพลศาสตร์ของปฏิกิริยาเคมีได้
- เกณฑ์ในการเลือกขึ้นอยู่กับบริบท
- Stratonovich เหมาะกับระบบที่สัญญาณรบกวนเชื่อมโยงกับความต่อเนื่องทางฟิสิกส์หรือสมมาตร
- Itô ถูกใช้เป็นหลักในทางการเงิน เพราะมีสมบัติ non-anticipating ที่ไม่ใช้ข้อมูลอนาคต
- สามารถสลับไปมาระหว่างสองรูปแบบได้ด้วยสมการแปลง (a=\tilde a+\frac12bb_X)
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
สำหรับผู้อ่านที่มีความรู้คณิตศาสตร์ระดับปริญญาตรีขั้นสูง/บัณฑิตศึกษา เอกสารแนะนำ stochastic calculus นี้มีประโยชน์: https://almostsuremath.com/stochastic-calculus/
ยังมีตำราเล่มนี้ซึ่งให้แรงบันดาลใจและทับซ้อนกับหัวข้อที่เกี่ยวข้องอยู่มาก: https://www.amazon.com/Stochastic-Integration-Differential-E...
สงสัยว่า stochastic calculus เป็นสาขาที่ต้องใช้คอมพิวเตอร์เพื่อจำลองเส้นทางเหตุการณ์ที่เป็นไปได้จำนวนมากหรือไม่ หรือเมื่อรู้การแจกแจงของ dW แล้ว จะสามารถแก้ผลลัพธ์สุดท้ายและการแจกแจงความน่าจะเป็นที่สำคัญด้วยวิธีทางคณิตศาสตร์ที่สง่างามกว่าได้หรือเปล่า
บทความนี้ยอดเยี่ยมมาก ก่อนหน้านี้เคยเห็น stochastic calculus มาบ้าง แต่ครั้งนี้เป็นครั้งแรกที่รู้สึกว่าเริ่มเข้าใจจริง ๆ
ถ้าปัญหาซับซ้อน หรือการแจกแจงซับซ้อน หรือทั้งสองอย่าง ก็ต้องใช้วิธีเชิงตัวเลข นั่นไม่ได้หมายความว่าจำเป็นต้องรันการจำลองจำนวนมากแบบ Monte Carlo เสมอไป แม้ว่าวิธีนั้นจะสมเหตุสมผลแต่ก็มีต้นทุนสูง
คำถามที่เจาะจงมากขึ้นเกี่ยวกับความน่าจะเป็นบางอย่างสามารถตอบได้โดยไม่ต้องใช้ Monte Carlo สมการ Fokker-Planck เป็นสมการเชิงอนุพันธ์ย่อยที่แก้ได้ด้วยวิธีไม่ใช่ Monte Carlo หลายแบบ และ quasi-potential กับ committor function ที่พบในการจำลองเหตุการณ์หายากก็สามารถคำนวณ “โดยตรง” ได้เช่นกัน จุดยากหลักคือเมื่อใช้วิธีเชิงตัวเลขมาตรฐานกับวัตถุเหล่านี้จะเจอคำสาปแห่งมิติ วิธีคำนวณสิ่งเหล่านี้ให้ดีในมิติสูง หรือแม้แต่มิติอนันต์ เป็นหัวข้อวิจัยที่ร้อนแรงมากในคณิตศาสตร์ประยุกต์ ส่วนตัวแล้วผมคิดว่าสิ่งเหล่านี้โดยมากใกล้เคียงกับการเสียเวลา เว้นแต่ว่าคณิตศาสตร์จะสอดคล้องกับการประยุกต์ทางฟิสิกส์จริงอย่างเรียบร้อย
นักฟิสิกส์เรียกสิ่งนี้ว่าสมการ Fokker-Planck ส่วนนักคณิตศาสตร์เรียกว่า Kolmogorov forward equation นอกจากข้อยกเว้นพิเศษแล้ว จะไม่มีคำตอบเชิงวิเคราะห์แบบแม่นตรงและต้องใช้คำตอบเชิงตัวเลข อย่างไรก็ตาม ในมิติสูง ค่าใช้จ่ายในการแก้สมการเชิงอนุพันธ์ย่อยสูงมาก จึงถูกกว่าที่จะแก้ SDE แล้วทำ การสุ่มตัวอย่างแบบ Monte Carlo
อาจมีคำถามประเภทอื่น เช่น คำตอบเมื่อเกิดเหตุการณ์สุ่มบางอย่าง ซึ่งใช้เหตุผลคล้ายกันได้ นอกจากนี้ stochastic calculus มีประโยชน์มากในการจัดการ SDE แต่ถ้าสนใจ Markov process ประเภทอื่นหรือ non-Markov process ก็อาจต้องใช้เครื่องมืออื่น
ตามที่คอมเมนต์อื่นว่าไว้ ในกรณีพิเศษ SDE เองก็อาจมีคำตอบแบบแม่นตรงได้ แต่โดยทั่วไปไม่เป็นเช่นนั้น
คำอธิบายนี้จำกัดอยู่ที่ SDE ซึ่งเป็นสมการเชิงอนุพันธ์ที่มี Gaussian white noise เป็นพจน์บังคับ ใน stochastic process อื่น ๆ เช่น Markov jump process รูปแบบของสมการวิวัฒน์ของการแจกแจงจะแตกต่างกัน แต่ยังมีหลักการทั่วไปบางอย่างร่วมกัน เช่น สมการ Chapman-Kolmogorov
สมการที่ซับซ้อนกว่านั้นโดยปกติแก้แบบนั้นไม่ได้ สิ่งที่มักต้องการคือค่าคาดหมายของฟังก์ชันของ stochastic process ณ เวลาหนึ่ง และสามารถแสดงได้ว่าค่าคาดหมายนี้เป็นไปตามสมการเชิงอนุพันธ์ย่อยเชิงกำหนดบางสมการ จากนั้นก็แก้ด้วยตัวแก้สมการเชิงอนุพันธ์ย่อยเชิงตัวเลข
ถ้ามิติสูง หรือกระบวนการขึ้นกับเส้นทางอย่างมากจนไม่เป็น Markov ในที่สุดก็จะใช้ การจำลอง Monte Carlo ที่จำลอง “เส้นทางเหตุการณ์ที่เป็นไปได้หลายแบบ” จริง ๆ
ตัวอย่างเช่น เรารู้ได้ว่า random walk จะกลายเป็นการแจกแจงปกติ และค่าเฉลี่ยกับความแปรปรวนจะไปสู่อินฟินิตี้ ดังนั้นจึงสามารถกำหนดฟังก์ชันความแปรปรวนตามเวลาจากอินพุตเพียงอย่างเดียวได้ ผมเข้าใจว่านี่เป็นกรณีที่นำไปสู่คำตอบเชิงวิเคราะห์ที่สง่างาม
แต่ในหลายกรณีไม่มีคำตอบเชิงวิเคราะห์ จึงต้องรันอัลกอริทึมเชิงสุ่ม ใน kinetics ของปฏิกิริยาเคมีแบบสุ่มอย่างง่าย Gillespie algorithm เป็นตัวอย่างแบบนั้น
ถ้าต้องการแค่สถิติของเส้นทาง ในหลายกรณีสามารถตั้งและแก้สมการ Fokker-Planck ซึ่งเป็นสมการเชิงอนุพันธ์ย่อย เพื่อให้ได้ความหนาแน่นของเส้นทาง
ขั้นต่อไปคือ Langevin Dynamics ที่ระบบมี โมเมนตัมแบบหน่วง และมี noise เข้าไปในโมเมนตัม
สิ่งนี้ใช้ได้ทั้งในการจำลอง molecular dynamics และในการสุ่มตัวอย่าง Bayesian MCMC
น่าแปลกที่เมื่อพูดถึง Langevin Dynamics ในบริบท AI ผมมักเห็นว่าตัดการใช้โมเมนตัมออก ทั้งที่ใน AI gradient descent แบบมีโมเมนตัมถูกใช้อย่างแพร่หลายอยู่แล้ว ยิ่งชวนสับสนไปอีก คำว่า “stochastic” ยังใช้ในความหมายว่าประมาณ gradient ด้วยการสุ่มตัวอย่างข้อมูลบางส่วนในแต่ละขั้นด้วย ถ้าต้องการก็สามารถใช้ความสุ่มทั้งสองแบบพร้อมกันได้
ผมไม่แน่ใจว่าทำไมฝั่ง AI ถึงใช้น้อยกว่า แต่ดูเหมือน non-convexity ของงาน AI จะก่อปัญหา แม้ในกรอบ log-concave การสุ่มตัวอย่างก็เป็นปัญหาที่ยากพออยู่แล้ว
เอกสารเกี่ยวกับ stochastic calculus ที่ผมชอบเป็นการส่วนตัวคือ Stochastic Processes in Information and Dynamical Systems ของ Eugene Wong, McGraw-Hill, New York, 1971
ยังจำตอนที่เคยเรียนแคลคูลัสเชิงสุ่มได้
ยังจำได้ว่าเคยจดไว้ว่า ส่วนเบี่ยงเบนมาตรฐานในสถิติทั่วไปกับ quadratic variation มีวิธีคำนวณความแปรปรวนที่ต่างกันเล็กน้อย ประมาณว่าต่างกัน 1 หรือยกกำลังสองไม่เหมือนกัน และเคยจดไว้เพื่อจะไปหาคำตอบสักวันว่าทำไมถึงเป็นแบบนั้น บางทีอาจเป็นเพราะความผันผวนเชิงสุ่มก็ได้
sum i=1..N (x_i - mu)^2 / Nโดยค่าเฉลี่ย
mu := sum x_i / Nตรงนี้คือค่าเฉลี่ยจริงของประชากรในทางกลับกัน เมื่อได้ตัวอย่างอิสระแจกแจงเหมือนกัน n ตัวจากการแจกแจงหนึ่ง ตัวประมาณที่ดีที่สุดของความแปรปรวนของการแจกแจงคือ
sum i=1..n (x_i - a )^2 / (n-1)ในที่นี้แทนค่าเฉลี่ย
muด้วยค่าเฉลี่ยตัวอย่างa := sum x_i / nและหารด้วย n-1 แทน N คำว่า “ดีที่สุด” หมายถึงตัวประมาณแบบไม่เอนเอียง และสามารถตรวจสอบได้ด้วยการคำนวณที่น่าเบื่อแต่ไม่ยากว่า ค่าคาดหมายของสูตรที่สองเท่ากับความแปรปรวนของประชากรอย่างแรก ความแปรปรวนของตัวอย่างขึ้นกับค่าเฉลี่ยตัวอย่างซึ่งคือ
sum(x_i) / nหากรู้ตัวอย่าง n ตัวโดยรู้ n-1 ตัวแรกและรู้ค่าเฉลี่ยตัวอย่างด้วย ค่าสุดท้ายก็ถูกกำหนดแล้ว ดังนั้นอย่างน้อยก็เข้าใจ degrees of freedom ได้ว่าเป็น n-1 โมเมนต์ของตัวอย่างที่สูงกว่านี้ก็พอจะเข้าใจคร่าว ๆ ด้วยตรรกะเรื่อง degrees of freedom คล้ายกันได้ แต่อาจผิดก็ได้อย่างที่สอง ในทางคณิตศาสตร์มากขึ้นคือ
biased_sample_variance = sum((x_i - sum(x_i) / n)^2) / nค่าเฉลี่ยของความแปรปรวนตัวอย่างแบบเอนเอียงนี้ เมื่อพิจารณาจากชุดตัวอย่างหลาย ๆ ชุด จะไม่ใช่ความแปรปรวนของประชากร แต่เป็น(n - 1) / n * population_varianceดังนั้นถ้าคูณด้วยn / (n - 1)ก็จะได้ความแปรปรวนตัวอย่างแบบไม่เอนเอียงsum((x_i - sum(x_i) / n)^2) / (n - 1)ถ้าตามจังหวะได้ คณิตศาสตร์ตรงนี้ก็ค่อนข้างสนุกเมื่อไม่นานมานี้เจอตัวอย่างแบบนี้ สมมติว่าเราเล่น “เกม” เกมหนึ่ง สุ่มเลข A จากการแจกแจงสม่ำเสมอระหว่าง 0 กับ 1 แล้วสุ่มเลขตัวที่สอง B จากการแจกแจงเดียวกัน
ถ้า A > B ก็สุ่ม B ใหม่ โดย A คงเดิม จำนวนครั้งที่ต้องสุ่มโดยเฉลี่ย หรือก็คือ “สตรีกชนะต่อเนื่อง” เฉลี่ยของ A คือเท่าไร?
คำตอบคือ อนันต์ เพราะบางครั้ง A ออกมาสูงมาก ๆ จนต้องสุ่มเป็นล้านครั้งกว่าจะได้ค่าที่ชนะมัน
(1-p)ดังนั้นความน่าจะเป็นที่หลังจากสุ่ม B ไป n ครั้งแล้วจะได้ค่าน้อยกว่าหรือเท่ากับ A คือการแจกแจงเรขาคณิต
p^(n-1) (1-p)จำนวนครั้งที่คาดหมายคือ1/pและE[draws] = E[E[draws|A=p]] = \int_0^1 E[draws|A=p] dp = \int_0^1 (1/p) dpจึงลู่ออกเป็นอนันต์ตามที่บอกไม่ได้สงสัย แค่อยากเห็นการคำนวณ
1/(1-A)ก็น่าจะพอแล้วถามผู้อ่าน HN ไว้ว่า ในจีโนมของหนูทดลองได้กำหนดตำแหน่ง (loci) ไว้ประมาณ 50 แห่งซึ่งมีความแตกต่างของ DNA ที่ควบคุมอัตราการตาย และส่วนใหญ่มี ผลเชิงคณิตศาสตร์ประกันภัย ที่ซับซ้อนและขึ้นกับอายุ
อยากทำนายอายุที่ตาย การใช้แคลคูลัสเชิงสุ่มจะเป็นแนวทางที่มีประโยชน์สำหรับการทำนายเชิงคณิตศาสตร์ประกันภัยเกี่ยวกับอายุคาดเฉลี่ยของหนูทดลองไหม? เลยดีใจที่บทความนี้ขึ้นอันดับต้น ๆ ของ HN
จำนวนคำถาม หรือก็คือจำนวน loci ดูจะใกล้เคียงกับจำนวนช่วงที่สามารถแบ่งเวลาได้อย่างสมเหตุสมผล ผลที่เปลี่ยนเวลาตายได้เท่ากับ 1/50 ของอายุขัยหนูทดลองนั้น ถ้าผมไม่ได้เข้าใจผิด คงตรวจจับได้ยาก เนื่องจากช่วงเวลาก็มีไม่มาก และไม่มีโมเดลปฏิสัมพันธ์ของตัวแปรสถานะด้วย จึงน่าจะต้องใช้วิธีสถิติแบบไม่มีโมเดล ดังนั้นคุณน่าจะได้คุณค่าแทบทั้งหมดที่วิธีไม่ต่อเนื่องจะให้ได้แล้ว
เนื่องจากเป้าหมายคืออายุ ผมคงไม่สมมติว่ามีการแจกแจง Gaussian อยู่เบื้องหลัง การเปลี่ยนตรงนี้ไม่ได้ยากอย่างที่คิด: https://en.wikipedia.org/wiki/Generalized_linear_model
และเช่นเคย ควรปรึกษานักสถิติใกล้ตัว
แต่ถ้าสิ่งที่ดูอยู่คือมีชีวิต/ตายเทียบกับเวลา เอาต์พุตเป็นค่าไบนารี และข้อมูลที่ได้จริง ๆ มีแค่เวลาตาย ดังนั้นโมเดล random walk น่าจะไม่จำเป็นหรือไม่ใช่สิ่งที่ต้องการ และโมเดลสถิติที่ทั่วไปกว่าน่าจะเหมาะกว่า ถ้ามีตัวแปรอื่นที่วัดอยู่นอกเหนือจากสถานะตายหรือไม่ โมเดลความน่าจะเป็นก็อาจช่วยได้
อีกอย่าง ถ้าหมายความว่าข้อมูลขนาด 50×X ไบต์ทั้งหมดส่งผลต่ออายุคาดเฉลี่ย นั่นเป็นปัญหายาก แต่เมื่อมีอินพุตเชิงไม่ต่อเนื่องจำนวนมากกับเอาต์พุตราบเรียบหนึ่งตัว ก็ถือว่าเข้ากับ โครงข่ายประสาทเทียม ได้ค่อนข้างดี ลองทั้งโครงข่ายประสาทเทียมและโมเดลเชิงเส้น แล้วดูว่าโครงข่ายประสาทเทียมดีกว่ามากแค่ไหน ก็จะช่วยตัดสินได้ว่ามีปฏิสัมพันธ์ที่ซับซ้อนกว่าเชิงเส้นเกิดขึ้นหรือไม่
ถ้าจะเข้าหาเชิงปฏิบัติ ผมจะแปลงเวลาให้เป็นช่วงไม่ต่อเนื่อง แล้วใช้ machine learning แบบคลาสสิกให้ทำนาย “ความน่าจะเป็นที่จะตายในเดือน X ภายใต้เงื่อนไขว่ารอดมาถึงจุดเวลานั้น” เพื่อฟิตกับข้อมูล แบบนี้จะหา error และปัญหาแฝงในข้อมูลได้ง่ายกว่ามาก
ผมจะเลือกแคลคูลัสเชิงสุ่มหรือการวิเคราะห์การอยู่รอดแบบจริงจังก็ต่อเมื่ออยากพิสูจน์หรือดึงความเชื่อมโยงระหว่างคุณสมบัติทางคณิตศาสตร์เดิม ๆ เช่น ความไร้ความจำ กับคุณสมบัติทางฟิสิกส์/ชีววิทยา เช่น พฤติกรรมของโปรตีนบางชนิดออกมาเท่านั้น มันคงเจ๋งมาก แต่ค่อนข้างยาก โดยเฉพาะเมื่อข้อมูลมีจำกัด ผมเข้าใจคร่าว ๆ ว่าวิธีที่บทความการเงินใช้การวิเคราะห์เชิงสุ่มก็ประมาณนี้ คือสมมติคุณสมบัติทางคณิตศาสตร์สากลบางอย่างของระบบ แล้วพิสูจน์ว่ามันเข้ากับข้อมูลจริงหรือไม่
ความเข้าใจของผมเกี่ยวกับแคลคูลัส Itô คือแบบนี้ ตอนแรกกระบวนการสุ่มเดียวที่เราเข้าใจคือ Brownian motion และโชคดีที่เราสามารถเปลี่ยนพิกัดได้
เป็นโมเดลที่ดีมากจริง ๆ ว่าควรเขียนบทนำที่เป็นมิตรกับมือใหม่อย่างไร
โดยเฉพาะส่วนที่อธิบายแรงจูงใจของ บทตั้ง Itô ด้วยประเด็นว่าเทอม
dW^2ซึ่งหายไปในแคลคูลัสทั่วไปยังคงสำคัญอยู่ และส่วนที่แปลงไปเป็น Stratonovich นั้นดีมากขอความช่วยเหลือหน่อยว่าควรอ่านประโยคนี้อย่างไร: “Brownian motion and Itô calculare a notable example of fairly high-level mathematics that are applied to model the real world”
ไม่รู้ว่า “Itô calculare” ควรจะเป็นอะไร “Its calculation” เหรอ?
calculareน่าจะเป็น typo ที่calculus areติดกันcalculareควรจะเป็น calculus are