Método para gerar dados não normais correlacionados


14

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!


+1 Uma pergunta muito interessante. Você poderia ser mais específico sobre o que significa 'distorção conjunta' nesse contexto (particularmente um bivariado)? Embora eu possa imaginar formas de distribuição conjunta que, em certo sentido, são "diferentes" nos quatro quadrantes (por exemplo, sobre eixos colocados nos meios), não estou familiarizado com o que "inclinação em conjunto" possa se referir especificamente.
Glen_b -Reinstala Monica

expXX

Olá. muito obrigado por se interessar pela minha pergunta. esta é a primeira vez que eu posto aqui, por isso espero fazer as coisas corretamente. Vou elaborar mais na seção de comentários, porque o limite de caracteres me impede de usar código R para tentar transmitir o que estou fazendo
S. Punky

Sim, acabei de perceber isso e acrescentei mais detalhes. Agradeço que você reserve um tempo para me orientar a respeito de como usar esta placa. obrigado!
S. Punky

" não me limitando a encontrar um método que satisfaça apenas as definições de Mardia " - método de fazer o que?
Glen_b -Reinstate Monica

Respostas:


3

Depois de muito procurar, saltando fóruns em torno on-line, a consulta com professores e fazendo um monte de revisão da literatura, eu vim à conclusão de que provavelmente THE única maneira de resolver este problema é através do uso de cópulas de vinha, de fato. Dá a você algum controle sobre a assimetria e curtose em pares (ou em momentos mais altos) - para um vetor aleatório com variável p e a liberdade de especificar o par de cópulas p-1 e o restante p * (p-1) / 2 - ( p-1) as dimensões podem ser especificadas em algum tipo de cópula condicional.

Congratulo-me com outros métodos que as pessoas podem ter encontrado, mas pelo menos vou deixar esse ponteiro em direção a uma resposta, porque, pela minha vida, não consigo encontrar outras maneiras de resolver isso.


2
O que é uma cópula de videira?
Sextus Empiricus

1

Você pode resolver isso modificando o algoritmo de Ruscio e Kaczetow (2008). O artigo deles fornece um algoritmo iterativo (com código R) que minimiza a diferença entre as formas marginais reais e pretendidas. Você pode modificá-lo para que ele direcione os momentos multivariados (e não marginais).

Ruscio, J. & Kaczetow, W. (2008). Simulação de dados não normais multivariados usando um algoritmo iterativo. Pesquisa Comportamental Multivariada, 43 (3), 355‐381. doi: 10.1080 / 00273170802285693


AMD! OBRIGADO! Eu pensei por um momento que esta questão seria apenas ser engolido no esquecimento
S. Punky

1
bem ... revi o artigo de Ruscio & Kaczetow (2008). infelizmente, é apenas mais uma implementação (ainda mais flexível) da família de algoritmos NORTA (NORmal To Anything) que é conhecida por não funcionar bem com os 3º e 4º momentos multivariados. Acho que estou de volta à estaca zero.
S. Punky

0

Convém verificar a distribuição elíptica generalizada , que permite uma matriz de forma "clássica" com flexibilidade para outros recursos.


Obrigado! Vou me certificar de verificar este link. Agora, as distribuições elípticas não são simétricas? Então, pode-se controlar a curtose, mas a assimetria deve permanecer em 0?
S. Punky

Claro, mas a GE não implica elíptica. Para algumas variações elípticas assimétricas,
Quartzo

0

Eu inventei um método simples para fazer isso que não envolve coplas e outros projetos complexos. Receio não ter nenhuma referência formal, embora o método pareça ser altamente eficaz.

A ideia é simples. 1. Desenhe qualquer número de variáveis ​​de uma distribuição normal conjunta. 2. Aplique o CDF normal univariado das variáveis ​​para derivar probabilidades para cada variável. 3. Finalmente, aplique o CDF inverso de qualquer distribuição para simular empates dessa distribuição.

Eu vim com esse método em 2012 e demonstrei usando o Stata . Eu também escrevi um post recente mostrando o mesmo método utilizando R .


(1) O que é uma "distribuição normal de Spearman"? (2) Que distinção você está fazendo, se houver, entre um CDF e um "CDF normal"? (3) Você poderia explicar como esse método introduz alguma correlação? Receio que seus usos gerais de "variável" e "distribuição" tornem sua descrição um tanto vaga, por isso é difícil dizer o que realmente está fazendo. Você poderia reformular sua resposta para ser mais preciso?
whuber

Obrigado pelo seu post! seguindo os links, pode-se ver mais informações sobre o método. não faz exatamente o que eu esperava alcançar (isto é, controle sobre os momentos de maior ordem e dimensão da distribuição), mas ainda assim uma abordagem muito valiosa.
S. Punky

1
Sem surpresa, eu não criei um novo método, veja: Cario, Marne C. e Barry L. Nelson. Modelagem e geração de vetores aleatórios com distribuições marginais arbitrárias e matriz de correlação. Relatório Técnico, Departamento de Engenharia Industrial e Ciências de Gerenciamento, Northwestern University, Evanston, Illinois, 1997. Yahav, Inbal e Galit Shmueli. "Na geração de dados de poisson multivariados em aplicativos de ciência de gerenciamento." Artigo de Pesquisa na Escola Robert H. Smith No. RHS (2009): 06-085.
Francis Smart

mesmo que ele não é um 'método novo', eu ainda gostaria de agradecer-lhe para tomar o tempo para olhar sobre a minha pergunta e adicionar algo perspicaz :)
S. Punky

0

Acredito que o método apresentado nos artigos a seguir permite gerar multivariadas aleatórias com qualquer combinação (viável) de média, variância, assimetria e curtose.

  1. Stanfield, PM, Wilson, JR e Mirka, GA 1996. Modelagem de Entrada Multivariada com Distribuições Johnson, Anais da 1996 Winter Simulation Conference , eds. Charnes, JM, Morrice, DJ, Brunner, DT e Swain, JJ, 1457-1464.
  2. Stanfield, PM, Wilson, JR e King, RE 2004. Modelagem flexível de tempos de operação correlacionados com aplicação em instalações de reutilização de produtos, International Journal of Production Research , Vol. 42, n. 11, 2179-2196.

Disclaimer: Eu não sou um dos autores.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.