Estou interessado em descobrir um método para gerar dados correlatos e não normais. Então, idealmente, algum tipo de distribuição que considere uma matriz de covariância (ou correlação) como parâmetro e gere dados que os aproximam. Mas aqui está o problema: o método que estou tentando encontrar deve ter a flexibilidade de controlar também sua assimetria e / ou curtose multivariada.
Eu conheço o método de Fleishman e o uso do método de potência de variáveis normais, mas acredito que a maioria dessas extensões só permite ao usuário certas combinações de assimetria marginal e curtose, deixando assim assimetria / curtose multivariada. O que eu queria saber é se existe um método que ajude a especificar a assimetria e / ou curtose multivariada, juntamente com alguma estrutura de correlação / covariância.
Há cerca de um ano, participei de um seminário sobre distribuição de cópulas e lembro-me do professor mencionando casualmente que, através do uso de cópulas de videira, era possível gerar dados simétricos em cada um de seus marginais 1-D, mas sim distorcidos e vice-versa. -versa. Ou, ainda mais, que qualquer margem de menor dimensão poderia ter alguma assimetria ou curtose, mantendo as dimensões mais altas simétricas (ou não). Fiquei maravilhado com a ideia de que essa flexibilidade poderia existir. Estou tentando encontrar algum tipo de artigo ou artigo de conferência que descreva o método mencionado, mas não obtive sucesso :(. Não precisa ser pelo uso de cópulas, Estou aberto a qualquer coisa que funcione.
Edit: Eu adicionei um código R para tentar mostrar o que quero dizer. Até agora, estou familiarizado apenas com a definição de Mardia de assimetria e curtose multivariadas. Quando me aproximei do meu problema, pensei ingenuamente que, se eu usasse uma cópula simétrica (gaussiana neste caso) com marginais assimétricos (beta, neste exemplo), testes univariados nas marginais produziriam significância, mas o teste de Mardia para assimetria / curtose multivarita resultaria em ser não significativo. Eu tentei isso e não saiu como eu esperava:
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
Ao inspecionar os contornos de 'cop1' VS 'cop2', bem como os gráficos empíricos de densidade bivariada, também posso ver que nenhum deles parece simétrico. Foi quando eu percebi que isso provavelmente é um pouco mais complicado do que eu pensava.
Sei que o Mardia não é a única definição de assimetria / curtose multivariada, então não estou me limitando a encontrar um método que satisfaça apenas as definições de Mardia.
obrigado!