İlişkili, normal olmayan veriler üretmek için bir yöntem bulmakla ilgileniyorum. İdeal olarak, bir kovaryans (veya korelasyon) matrisini parametre olarak alan ve ona yaklaşan veriler üreten bir çeşit dağıtım. Ama işte yakalama: bulmaya çalıştığım yöntem, çok değişkenli çarpıklığını ve / veya basıklığını kontrol etme esnekliğine sahip olmalıdır.
Fleishman'ın yöntemini ve normal değişkenlerin güç yönteminin kullanımını biliyorum, ancak bu uzantıların çoğunun kullanıcıya belirli marjinal çarpıklık ve basıklık kombinasyonlarına izin verdiğine ve çok değişkenli çarpıklık / basıklıkların orada olmasına izin verdiğine inanıyorum . Merak ettiğim şey, bazı korelasyon / kovaryans yapısının yanı sıra çok değişkenli çarpıklığı ve / veya basıklığı belirlemeye yardımcı olan bir yöntem olup olmadığıdır.
Yaklaşık bir yıl önce, kopula dağılımları hakkında bir seminer aldım ve profesör, asma kopulalarının kullanımı yoluyla, kişinin 1-B marjinallerinin her birinde simetrik olan ancak ortaklaşa çarpık ve mengene olan veriler üretebileceğinden bahsettiğini hatırlıyorum. -versa. Daha da ötesi, daha düşük boyutlu kenar boşluklarının, en yüksek boyutları simetrik (veya değil) tutarken bir miktar çarpıklığa veya basıklığa sahip olabileceği. Böyle bir esnekliğin var olabileceği fikrine hayran kaldım, adı geçen yöntemi açıklayan bir tür makale veya konferans kağıdı bulmaya çalışıyordum, ancak başarısız oldum :(. İşe yarayan her şeye açığım.
Düzenleme: Ne demek istediğimi göstermek için bazı R kodu ekledim. Şimdiye kadar sadece Mardia'nın çok değişkenli çarpıklık ve basıklık tanımını çok iyi biliyorum. Sorunuma ilk yaklaştığımda saf bir şekilde, simetrik bir kopula (bu durumda Gaussian) kullanırsam, çarpık marjinallerle (bu örnekte beta), marjinaller üzerinde tek değişkenli testler önem kazanacağını düşündüm ama Mardia'nın multivarit çarpıklık / basıklık testi anlamlı olmamak. Bunu denedim ve beklediğim gibi çıkmadı:
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' konturlarının yanı sıra ampirik iki değişkenli yoğunluk çizimlerini inceledikten sonra, bunların hiçbirinin simetrik görünmediğini de görebiliyorum. O zaman bunun muhtemelen düşündüğümden biraz daha karmaşık olduğunu fark ettim.
Mardia'nın çok değişkenli çarpıklığın / basıklığın tek tanımı olmadığını biliyorum, bu yüzden kendimi sadece Mardia'nın tanımlarını tatmin eden bir yöntem bulmakla sınırlamıyorum.
teşekkür ederim!