ฉันสนใจที่จะหาวิธีในการสร้างข้อมูลที่มีความสัมพันธ์และไม่ปกติ ดังนั้นการกระจายบางอย่างที่ใช้ในเมทริกซ์ความแปรปรวนร่วม (หรือสหสัมพันธ์) เป็นพารามิเตอร์และสร้างข้อมูลที่ใกล้เคียงกับมัน แต่นี่คือสิ่งที่จับได้: วิธีที่ฉันพยายามค้นหาควรมีความยืดหยุ่นในการควบคุมความเบ้และ / หรือ kurtosis หลายตัวแปรด้วย
ฉันคุ้นเคยกับวิธีของเฟลชแมนและวิธีการใช้พลังงานของตัวแปรปกติ แต่ฉันเชื่อว่าส่วนขยายเหล่านั้นส่วนใหญ่อนุญาตให้ผู้ใช้ใช้การรวมกันของความเบ้เล็กน้อยและความโด่งเท่านั้นทำให้เหลือความเบ้ / ความหลายหลาก สิ่งที่ฉันสงสัยคือถ้ามีวิธีที่ช่วยระบุความเบ้หลายตัวแปรและ / หรือ kurtosis พร้อมกับโครงสร้างความสัมพันธ์ / ความแปรปรวนร่วมบางอย่าง
ประมาณหนึ่งปีที่ผ่านมาฉันได้สัมมนาเกี่ยวกับการแจกแจงแบบโคคูล่าและฉันจำได้ว่าศาสตราจารย์กล่าวอย่างไม่ตั้งใจว่าผ่านการใช้เถาวัลย์โคโพลีสเราสามารถสร้างข้อมูลซึ่งกล่าวคือสมมาตรในระยะขอบ 1-D แต่ร่วมกันเบ้ -versa หรือยิ่งไปกว่านั้นอัตรากำไรขั้นต้นที่ต่ำกว่าอาจมีความเบ้หรือความโด่งในขณะที่ยังคงมีขนาดสมมาตรสูงสุด (หรือไม่) ฉันประหลาดใจกับความคิดที่ว่ามีความยืดหยุ่นเช่นนี้ฉันพยายามค้นหาบทความหรือเอกสารการประชุมที่อธิบายวิธีการดังกล่าว แต่ฉันไม่ประสบความสำเร็จ :( มันไม่จำเป็นต้องผ่านการใช้ copulas ฉันเปิดรับทุกอย่างที่ใช้ได้
แก้ไข: ฉันได้เพิ่มรหัส R เพื่อพยายามแสดงสิ่งที่ฉันหมายถึง จนถึงตอนนี้ฉันคุ้นเคยกับคำจำกัดความของความเบ้หลายตัวแปรและความโด่งของ Mardia เท่านั้น เมื่อฉันเข้าหาปัญหาของฉันครั้งแรกฉันคิดอย่างไร้เดียงสาว่าถ้าฉันใช้ copula symmetric (Gaussian ในกรณีนี้) กับ marginals ที่เบ้ (เบต้าในตัวอย่างนี้) การทดสอบ univariate บน margin จะให้ความสำคัญ แต่การทดสอบของ Mardia สำหรับ multivarite skewness / kurtosis ไม่สำคัญ ฉันลองแล้วไม่ได้ออกมาอย่างที่ฉันคาดไว้:
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
จากการตรวจสอบรูปทรงของ 'cop1' VS 'cop2' เช่นเดียวกับพล็อตความหนาแน่นของบีวาริเอตเชิงประจักษ์ฉันก็สามารถเห็นได้ว่าไม่มีใครดูสมมาตรเลย นั่นคือเมื่อฉันตระหนักว่านี่อาจซับซ้อนกว่าที่ฉันคิดเล็กน้อย
ฉันรู้ว่า Mardia ไม่ได้เป็นคำจำกัดความเพียงอย่างเดียวของความเบ้หลายตัวแปร / kurtosis ดังนั้นฉันจึงไม่ จำกัด ตัวเองในการค้นหาวิธีการที่สอดคล้องกับคำจำกัดความของ Mardia เท่านั้น
ขอขอบคุณ!