Làm thế nào để mô phỏng từ một copula Gaussian?


16

Giả sử rằng tôi có hai phân phối biên đơn biến, giả sử và , mà tôi có thể mô phỏng từ đó. Bây giờ, xây dựng phân phối chung của chúng bằng copula Gaussian , ký hiệu là . Tất cả các thông số được biết đến.G C ( F , G ; Σ )FGC(F,G;Σ)

Có phương pháp không MCMC nào để mô phỏng từ copula này không?


8
Giả sử cho i = 1 , 2 , tất nhiên: Tạo ( X , Y ) ~ N ( 0 , Σ ) . Lấy F - 1 ( Φ ( X ) )G - 1 ( Φ ( Y ) ) . Tất cả đã được làm xong. Σii=1i=1,2(X,Y)N(0,Σ)F1(Φ(X))G1(Φ(Y))
Đức hồng y

1
R cũng có một gói gọi là "copula", có thể mô phỏng hầu hết các công thức chuẩn.
semibruin

Câu trả lời:


21

Có một phương pháp rất đơn giản để mô phỏng từ copula Gaussian dựa trên các định nghĩa về phân phối chuẩn nhiều biến số và copula Gauss.

Tôi sẽ bắt đầu bằng cách cung cấp định nghĩa và các thuộc tính cần thiết của phân phối chuẩn nhiều biến số, tiếp theo là copula Gaussian và sau đó tôi sẽ cung cấp thuật toán để mô phỏng từ copula Gauss.

Đa biến phân phối chuẩn
Một vector ngẫu nhiên có một phân phối chuẩn nhiều chiều nếu X d = μ + Một Z , nơi Z là một k vector chiều của các biến ngẫu nhiên bình thường tiêu chuẩn độc lập, μ là một vectơ d -chiều của các hằng số và A là ma trận d × k của các hằng số. Ký hiệuX=(X1,,Xd)

X=dμ+AZ,
ZkμdAd×k=dbiểu thị sự bình đẳng trong phân phối. Vì vậy, mỗi thành phần của về cơ bản là tổng trọng số của các biến ngẫu nhiên tiêu chuẩn thông thường độc lập. Từ các tính chất của vectơ trung bình và ma trận hiệp phương sai, chúng ta có E ( X ) = μc o v ( X ) = Σ , với Σ = Một Một ' , dẫn đến các ký hiệu tự nhiên X ~ N d ( μ , Σ ) .X
E(X)=μcov(X)=ΣΣ=AAXNd(μ,Σ)

Gauss copula
Các Gauss copula được định nghĩa implicitely từ phân phối chuẩn nhiều chiều, có nghĩa là, copula Gauss là copula liên kết với một phân phối chuẩn nhiều chiều. Cụ thể, từ lý Sklar của các copula Gauss là nơi Φ

CP(u1,,ud)=ΦP(Φ1(u1),,Φ1(ud)),
Φbiểu thị hàm phân phối chuẩn chuẩn và biểu thị hàm phân phối chuẩn chuẩn đa biến với ma trận tương quan P. Vì vậy, copula Gauss đơn giản là phân phối chuẩn đa biến tiêu chuẩn trong đó biến đổi tích phân xác suất được áp dụng cho mỗi lề.ΦP

Thuật toán mô phỏng
Theo quan điểm trên, một cách tiếp cận tự nhiên để mô phỏng từ copula Gauss là mô phỏng từ phân phối chuẩn chuẩn đa biến với ma trận tương quan thích hợp và chuyển đổi từng lề sử dụng biến đổi tích phân xác suất với hàm phân phối chuẩn thông thường. Trong khi mô phỏng từ phân phối chuẩn nhiều biến số với ma trận hiệp phương sai Σ về cơ bản xuất hiện để thực hiện tổng trọng số của các biến ngẫu nhiên tiêu chuẩn thông thường độc lập, trong đó ma trận "trọng số" A có thể thu đượcPΣA phân hủy Cholesky của hiệp phương sai ma trận .Σ

Do đó, một thuật toán mô phỏng mẫu từ copula Gauss với ma trận tương quan P là:nP

  1. Thực hiện phân rã Cholesky của và đặt A làm ma trận tam giác thấp hơn.PA
  2. Lặp lại các bước sau lần. n
    1. Tạo một vector của variates bình thường tiêu chuẩn độc lập.Z=(Z1,,Zd)
    2. Đặt X=AZ
    3. Trở .U=(Φ(X1),,Φ(Xd))


Đoạn mã sau trong một ví dụ triển khai thuật toán này bằng 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)))}))

Biểu đồ sau đây cho thấy dữ liệu kết quả từ mã R ở trên.

nhập mô tả hình ảnh ở đây


Trường hợp F và G xuất hiện sau đó?
lcrmorin

@Were_cat, ý bạn là gì?
QuantIbex 7/8/2015

Trong câu hỏi ban đầu có đề cập đến F và G, hai phân phối đơn biến. Làm thế nào để bạn đi từ công thức đến rv với lề F và G?
lcrmorin

U1U2(0,1)Y1Y2FGY1=F1(U1)Y2=G1(U2)F1G1FG

2
@Were_cat, để trích dẫn trang copula wikipedia : "copula là phân phối xác suất đa biến trong đó phân phối xác suất cận biên của mỗi biến là đồng nhất. Các bản sao được sử dụng để mô tả sự phụ thuộc giữa các biến ngẫu nhiên."
QuantIbex
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.