Casi cualquier cópula bivariada producirá un par de variantes aleatorias normales con alguna correlación distinta de cero (algunas darán cero pero son casos especiales). La mayoría (casi todos) de ellos producirán una suma no normal.
En algunas familias de cópulas se puede producir cualquier correlación de Spearman deseada (población) ; la dificultad es solo encontrar la correlación de Pearson para los márgenes normales; es factible en principio, pero el álgebra puede ser bastante complicado en general. [Sin embargo, si tiene la correlación de Spearman de la población, la correlación de Pearson, al menos para márgenes de cola ligera como el gaussiano, puede no estar demasiado lejos en muchos casos].
Todos menos los dos primeros ejemplos en la trama del cardenal deberían dar sumas no normales.
Algunos ejemplos: los dos primeros son de la misma familia de cópulas que el quinto de las distribuciones bivariadas del ejemplo del cardenal, el tercero es degenerado.
Ejemplo 1:
Cópula Clayton ( )θ = - 0.7
Aquí la suma es claramente distinta y bastante sesgada a la derecha
Ejemplo 2
Cópula Clayton ( )θ = 2
Aquí la suma queda ligeramente sesgada. En caso de que no sea bastante obvio para todos, aquí volteé la distribución (es decir, tenemos un histograma de en púrpura pálido) y lo superpuse para que podamos ver la asimetría más claramente:- ( x + y)
X∗= - XY∗= - Y
Por otro lado, si solo negamos uno de ellos, cambiaríamos la asociación entre la fuerza de la asimetría con el signo de la correlación (pero no la dirección de la misma).
También vale la pena jugar con algunas cópulas diferentes para tener una idea de lo que puede suceder con la distribución bivariada y los márgenes normales.
Los márgenes gaussianos con una t-cópula se pueden experimentar sin preocuparse mucho por los detalles de las cópulas (generar a partir de una bivariada correlacionada t, que es fácil, luego transformar en márgenes uniformes a través de la transformación integral de probabilidad, luego transformar los márgenes uniformes en gaussiano a través de cdf normal inverso). Tendrá una suma no normal pero simétrica. Entonces, incluso si no tiene buenos paquetes de cópula, aún puede hacer algunas cosas con bastante facilidad (por ejemplo, si intentara mostrar un ejemplo rápidamente en Excel, probablemente comenzaría con la t-cópula).
-
Ejemplo 3 : (esto es más parecido a lo que debería haber comenzado inicialmente)
UV= U0 ≤ U< 12V= 32- U12≤ U≤ 1UVX= Φ- 1( U) , Y= Φ- 1( V)X+ Y
En este caso, la correlación entre ellos es de alrededor de 0,66.
XY
U( 12- c , 12+ c )C[ 0 , 12]V
Algún código:
library("copula")
par(mfrow=c(2,2))
# Example 1
U <- rCopula(100000, claytonCopula(-.7))
x <- qnorm(U[,1])
y <- qnorm(U[,2])
cor(x,y)
hist(x,n=100)
hist(y,n=100)
xysum <- rowSums(qnorm(U))
hist(xysum,n=100,main="Histogram of x+y")
plot(x,y,cex=.6,
col=rgb(0,100,0,70,maxColorValue=255),
main="Bivariate distribution")
text(-3,-1.2,"cor = -0.68")
text(-2.5,-2.8,expression(paste("Clayton: ",theta," = -0.7")))
El segundo ejemplo:
#--
# Example 2:
U <- rCopula(100000, claytonCopula(2))
x <- qnorm(U[,1])
y <- qnorm(U[,2])
cor(x,y)
hist(x,n=100)
hist(y,n=100)
xysum <- rowSums(qnorm(U))
hist(xysum,n=100,main="Histogram of x+y")
plot(x,y,cex=.6,
col=rgb(0,100,0,70,maxColorValue=255),
main="Bivariate distribution")
text(3,-2.5,"cor = 0.68")
text(2.5,-3.6,expression(paste("Clayton: ",theta," = 2")))
#
par(mfrow=c(1,1))
Código para el tercer ejemplo:
#--
# Example 3:
u <- runif(10000)
v <- ifelse(u<.5,u,1.5-u)
x <- qnorm(u)
y <- qnorm(v)
hist(x+y,n=100)