วิธีการจำลองจากแบบเกาส์เกาส์?


16

สมมติว่าฉันมีการแจกแจงมาร์จิ้นที่ไม่แปรผันสองค่ากล่าวว่าFและGซึ่งฉันสามารถจำลองได้ ตอนนี้สร้างร่วมกันจำหน่ายของตนโดยใช้เชื่อม Gaussianชี้แนะC(F,G;Σ) ) ทราบพารามิเตอร์ทั้งหมด

มีวิธีการที่ไม่ใช่ MCMC สำหรับการจำลองจาก copula นี้หรือไม่?


8
สมมติว่าสำหรับฉัน= 1 , 2ของหลักสูตร: สร้าง( X , Y ) ~ N ( 0 , Σ ) ใช้F - 1 ( Φ ( X ) )และG - 1 ( Φ ( Y ) ) เสร็จหมดแล้ว. Σii=1i=1,2(X,Y)N(0,Σ)F1(Φ(X))G-1(Φ(Y))
พระคาร์ดินัล

1
R มีแพ็คเกจที่เรียกว่า "copula" ซึ่งสามารถจำลอง copulas มาตรฐานส่วนใหญ่ได้
semibruin

คำตอบ:


21

มีวิธีง่าย ๆ ในการจำลองจากแบบเกาส์เกาส์ซึ่งมีพื้นฐานมาจากคำจำกัดความของการแจกแจงแบบหลายตัวแปรแบบธรรมดาและแบบเกาส์

ฉันจะเริ่มต้นด้วยการให้คำจำกัดความที่จำเป็นและคุณสมบัติของการแจกแจงแบบหลายตัวแปรปกติตามด้วย copula Gaussian จากนั้นฉันจะให้อัลกอริทึมในการจำลองจาก Copula Gauss

การแจกแจงปกติหลายตัวแปร
เวกเตอร์สุ่มมีการแจกแจงปกติหลายตัวแปรถ้า X d = μ + A Z โดย ที่Zเป็นเวกเตอร์มิติk ของมิติอิสระอิสระของตัวแปรสุ่มมาตรฐานμคือd-มิติเวกเตอร์ของค่าคงที่และAคือเมทริกซ์d × kของค่าคงที่ สัญกรณ์d =X=(X1,,Xd)

X=dμ+AZ,
ZkμdAd×k=dหมายถึงความเท่าเทียมกันในการจัดจำหน่าย ดังนั้นองค์ประกอบแต่ละส่วนของจึงเป็นผลรวมถ่วงน้ำหนักของตัวแปรสุ่มมาตรฐานแบบอิสระ จากคุณสมบัติของเวกเตอร์เฉลี่ยและเมทริกซ์ความแปรปรวนร่วมเรามี E ( X ) = μและc o v ( X ) = Σ , ด้วยΣ = A A , นำไปสู่สัญกรณ์ธรรมชาติX N d ( μ , Σ )X
E(X)=μcov(X)=ΣΣ=AAXNd(μ,Σ) )

Gauss เชื่อมGauss เชื่อมถูกกำหนด implicitely จากการกระจายปกติหลายตัวแปรที่เป็นเชื่อมเกาส์เป็นตัวเชื่อมที่เกี่ยวข้องกับการกระจายปกติหลายตัวแปร โดยเฉพาะจากทฤษฎีบทของ Sklar สโคคูลเกาส์คือ C P ( u 1 , , u d ) = Φ P ( Φ - 1 ( u 1 ) , , Φ - 1 ( u d ) ) โดย ที่Φ

CP(u1,,ud)=ΦP(Φ1(u1),,Φ1(ud)),
Φหมายถึงฟังก์ชั่นการแจกแจงแบบปกติมาตรฐานและหมายถึงฟังก์ชั่นการแจกแจงปกติแบบมาตรฐานหลายตัวแปรที่มีเมทริกซ์สหสัมพันธ์ P ดังนั้นโคคูล่าเกาส์นั้นเป็นการแจกแจงปกติแบบหลายตัวแปรมาตรฐานที่การแปลงความน่าจะเป็นหนึ่งΦPถูกนำไปใช้ในแต่ละอัตรากำไรขั้นต้น

อัลกอริธึมการจำลอง
ในมุมมองข้างต้นวิธีธรรมชาติในการจำลองจากขั้วเกาส์คือการจำลองจากการแจกแจงปกติแบบหลายตัวแปรมาตรฐานด้วยเมทริกซ์สหสัมพันธ์ที่เหมาะสมและการแปลงแต่ละระยะขอบโดยใช้การแปลงความน่าจะเป็นอินทิกรัล ในขณะที่การจำลองจากการแจกแจงปกติหลายตัวแปรด้วยความแปรปรวนร่วมเมทริกซ์Σเป็นหลักลงไปทำผลรวมถ่วงน้ำหนักของตัวแปรสุ่มมาตรฐานที่เป็นอิสระมาตรฐานซึ่งเมทริกซ์ "น้ำหนัก" Aสามารถรับได้โดยการสลายตัว Choleskyของเมทริกซ์แปรปรวนร่วมΣPΣAΣ Σ

ดังนั้นอัลกอริทึมในการจำลองตัวอย่างจากโคอาซ์เกาส์ที่มีเมทริกซ์สหสัมพันธ์Pคือ:nP

  1. ทำการสลายตัว Cholesky ของและตั้งค่าAเป็นเมทริกซ์สามเหลี่ยมที่ได้PA
  2. ทำซ้ำขั้นตอนต่อไปนี้ครั้ง n
    1. สร้างเวกเตอร์ของตัวแปรมาตรฐานอิสระอิสระZ=(Z1,,Zd)
    2. ตั้งX=AZ
    3. ย้อนกลับ 'U=(Φ(X1),,Φ(Xd))


รหัสต่อไปนี้ในตัวอย่างการใช้อัลกอริทึมนี้โดยใช้ R:

## Initialization and parameters 
set.seed(123)
P <- matrix(c(1, 0.1, 0.8,               # Correlation matrix
              0.1, 1, 0.4,
              0.8, 0.4, 1), nrow = 3)
d <- nrow(P)                             # Dimension
n <- 200                                 # Number of samples

## Simulation (non-vectorized version)
A <- t(chol(P))
U <- matrix(nrow = n, ncol = d)
for (i in 1:n){
    Z      <- rnorm(d)
    X      <- A%*%Z
    U[i, ] <- pnorm(X)
}

## Simulation (compact vectorized version) 
U <- pnorm(matrix(rnorm(n*d), ncol = d) %*% chol(P))

## Visualization
pairs(U, pch = 16,
      labels = sapply(1:d, function(i){as.expression(substitute(U[k], list(k = i)))}))

แผนภูมิต่อไปนี้แสดงข้อมูลที่เป็นผลมาจากรหัส R ด้านบน

enter image description here


ที่ F และ G ปรากฏหลังจากนั้น
lcrmorin

@Were_cat คุณหมายถึงอะไร
QuantIbex

ในคำถามเดิมมีการกล่าวถึง F และ G การแจกแจงแบบ univariate สองครั้ง คุณจะเปลี่ยนจาก copulas เป็น rv ด้วย F และ G margin ได้อย่างไร
lcrmorin

@Were_cat โอเคคุณต้องการแปลง ยู1 และ ยู2 ซึ่งมีการแจกแจงแบบสม่ำเสมอ (0,1) เพื่อพูด, Y1 และ Y2 ซึ่งติดตามการแจกแจงตามลำดับ F และ G. หากต้องการทำเช่นนั้นเพียงแค่ตั้งค่าY1=F-1(ยู1) และ Y2=G-1(ยู2)ที่ไหน F-1 และ G-1 แสดงถึงฟังก์ชั่นซึ่งกันและกันของ F และ G.
QuantIbex

2
@Were_cat เพื่ออ้างอิงหน้าวิกิพีเดียcopula : "copula คือการแจกแจงความน่าจะเป็นหลายตัวแปรที่การกระจายความน่าจะเป็นส่วนต่างของตัวแปรแต่ละตัวมีค่าเหมือนกัน
QuantIbex
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.