Suponha que eu tenha duas distribuições marginais univariadas, digamos e , das quais eu possa simular. Agora, construa sua distribuição conjunta usando uma cópula gaussiana , denominada . Todos os parâmetros são conhecidos.
Existe um método não MCMC para simular a partir desta cópula?
Respostas:
Existe um método muito simples de simular a partir da cópula gaussiana, que se baseia nas definições da distribuição normal multivariada e na cópula de Gauss.
Começarei fornecendo a definição e as propriedades necessárias da distribuição normal multivariada, seguida pela cópula gaussiana, e depois fornecerei o algoritmo para simular a partir da cópula de Gauss.
Distribuição normal multivariadaX=(X1,…,Xd)′
Um vetor aleatório tem uma distribuição normal multivariada se X d = μ + A Z , onde Z é um vetor tridimensional k de variáveis aleatórias normais padrão independentes, μ é um vetor d- dimensional de constantes e A é uma matriz d × k de constantes. A notação d =
Cópula de Gauss
A cópula de Gauss é definida implicitamente a partir da distribuição normal multivariada, ou seja, a cópula de Gauss é a cópula associada a uma distribuição normal multivariada. Especificamente, a partir do teorema de Sklar, a cópula de Gauss é onde Φ
Algoritmo de simulaçãoP Σ A Σ
Em vista do exposto, uma abordagem natural para simular a partir da cópula de Gauss é simular a partir da distribuição normal padrão multivariada com uma matriz de correlação apropriada e converter cada margem usando a transformação integral de probabilidade com a função de distribuição normal padrão. Embora simulando a partir de uma distribuição normal multivariada com matriz covariância Σ essencialmente vem para baixo para fazer uma soma ponderada de variáveis independentes normais padrão aleatório, em que o "peso" matriz A podem ser obtidos por decomposição de Cholesky da matriz covariância Σ .
Portanto, um algoritmo para simular amostras da cópula de Gauss com matriz de correlação P é:n P
O código a seguir em um exemplo de implementação desse algoritmo usando R:
A tabela a seguir mostra os dados resultantes do código R acima.
fonte