Tôi quan tâm đến việc tìm ra một phương pháp để tạo ra dữ liệu tương quan, không bình thường. Vì vậy, lý tưởng một số loại phân phối lấy ma trận hiệp phương sai (hoặc tương quan) làm tham số và tạo dữ liệu gần đúng với nó. Nhưng đây là một nhược điểm: phương pháp tôi đang cố gắng tìm ra nên có sự linh hoạt để kiểm soát độ lệch đa biến và / hoặc kurtosis của nó.
Tôi quen thuộc với phương pháp của Fleishman và việc sử dụng phương pháp sức mạnh của các biến thể thông thường, nhưng tôi tin rằng hầu hết các tiện ích mở rộng đó chỉ cho phép người dùng sử dụng một số kết hợp nhất định của độ lệch biên và kurtosis, để lại sự sai lệch / nhiễu loạn đa biến. Điều tôi băn khoăn là liệu có một phương pháp nào giúp chỉ định độ lệch đa biến và / hoặc kurtosis, cùng với một số cấu trúc tương quan / hiệp phương sai.
Khoảng một năm trước, tôi đã tham gia một cuộc hội thảo về các bản phân phối copula và tôi nhớ rằng giáo sư đã đề cập một cách tình cờ rằng thông qua việc sử dụng các công thức của cây nho, người ta có thể tạo ra dữ liệu đối xứng trong mỗi một trong các lề 1-D của nó nhưng lại bị lệch và ngược lại -versa. Hoặc, thậm chí xa hơn, rằng bất kỳ lề chiều thấp hơn có thể có một số sai lệch hoặc kurtosis trong khi giữ kích thước cao nhất đối xứng (hoặc không). Tôi đã rất ngạc nhiên với ý tưởng rằng sự linh hoạt như vậy có thể tồn tại Tôi đã cố gắng tìm một loại bài báo hoặc tài liệu hội nghị mô tả phương pháp đã nói nhưng tôi đã không thành công :(. Nó không phải thông qua việc sử dụng các công thức, Tôi cởi mở với bất cứ điều gì hoạt động.
Chỉnh sửa: Tôi đã thêm một số mã R để cố gắng hiển thị những gì tôi muốn nói. Cho đến nay tôi chỉ quen thuộc với định nghĩa của Mardia về sự lệch lạc và kurtosis đa biến. Khi tôi lần đầu tiên tiếp cận vấn đề của mình, tôi đã ngây thơ nghĩ rằng nếu tôi sử dụng một copula đối xứng (Gaussian trong trường hợp này) với các lề bị lệch (beta, trong ví dụ này), các thử nghiệm đơn biến trên các lề sẽ mang lại ý nghĩa nhưng xét nghiệm của Mardia về độ lệch đa biến không quan trọng Tôi đã thử điều đó và nó đã không thành công như tôi mong đợi:
library(copula)
library(psych)
set.seed(101)
cop1 <- {mvdc(normalCopula(c(0.5), dim=2, dispstr="un"),
c("beta", "beta"),list(list(shape1=0.5, shape2=5),
list(shape1=0.5, shape2=5)))}
Q1 <- rmvdc(cop1, 1000)
x1 <- Q1[,1]
y1 <- Q1[,2]
cop2 <- {mvdc(normalCopula(c(0.5), dim=2, dispstr="un"),
c("norm", "norm"),list(list(mean=0, sd=1),
list(mean = 0, sd=1)))}
Q2 <- rmvdc(cop2, 1000)
x2 <- Q2[,1]
y2 <- Q2[,2]
mardia(Q1)
Call: mardia(x = Q1)
Mardia tests of multivariate skew and kurtosis
Use describe(x) the to get univariate tests
n.obs = 1000 num.vars = 2
b1p = 10.33 skew = 1720.98 with probability = 0
small sample skew = 1729.6 with probability = 0
b2p = 22.59 kurtosis = 57.68 with probability = 0
mardia(Q2)
Call: mardia(x = Q2)
Mardia tests of multivariate skew and kurtosis
Use describe(x) the to get univariate tests
n.obs = 1000 num.vars = 2
b1p = 0.01 skew = 0.92 with probability = 0.92
small sample skew = 0.92 with probability = 0.92
b2p = 7.8 kurtosis = -0.79 with probability = 0.43
Khi kiểm tra các đường viền cho 'cop1' VS 'cop2' cũng như các ô mật độ bivariate theo kinh nghiệm, tôi cũng có thể thấy rằng không ai trong số chúng trông đối xứng cả. Đó là khi tôi nhận ra điều này có lẽ phức tạp hơn tôi nghĩ.
Tôi biết rằng Mardia không phải là định nghĩa duy nhất về độ lệch / kurtosis đa biến, vì vậy tôi không giới hạn bản thân trong việc tìm ra một phương pháp chỉ thỏa mãn định nghĩa của Mardia.
cảm ơn bạn!