거의 모든 이변 량 copula는 0이 아닌 상관 관계를 갖는 한 쌍의 정규 랜덤 변이를 생성합니다 (일부는 0을 제공하지만 특수한 경우). 대부분의 (거의 모든) 비정규 합계를 생성합니다.
일부 copula 제품군에서 원하는 (인구) Spearman 상관 관계가 생성 될 수 있습니다. 어려움은 정상적인 마진에 대한 Pearson 상관 관계를 찾는 데만 있습니다. 원칙적으로는 가능하지만 대수는 일반적으로 상당히 복잡 할 수 있습니다. [하지만 Spearman 상관 관계가있는 경우 가우시안과 같은 밝은 꼬리 여백에 대한 Pearson 상관 관계는 많은 경우에 너무 멀지 않을 수 있습니다.]
추기경 그림의 처음 두 예를 제외한 모든 비정규 합계를 제공해야합니다.
몇 가지 예-첫 번째 두 개는 기본의 이변 량 분포의 다섯 번째와 동일한 copula 계열에서 유래 한 것이고 세 번째는 퇴행성입니다.
예 1 :
Clayton copula ( )θ=−0.7
여기에서 합계는 매우 분명하게 정점에 이르고 상당히 오른쪽으로 치우칩니다.
예 2 :
Clayton copula ( )θ=2
여기서 합계는 약간 기울어집니다. 그것이 모두에게 분명하지 않은 경우를 대비하여 분포를 뒤집었고 (즉 , 옅은 자주색 으로 의 히스토그램이 있음 ) 겹쳐서 비대칭을보다 명확하게 볼 수 있습니다.−(x+y)
우리는 쉽게 네거티브의 상관 관계와 좌측 경사와 상관 관계 갔다되도록 합 사행 방향을 교환 할 수있는 권리 스큐 (예를 들어, 복용 및 각각 위의 경우-새로운 변수의 상관 관계는 이전과 동일하지만 합의 분포는 0을 중심으로 기울어지고 왜도를 반전시킵니다).Y ∗ = − YX∗=−XY∗=−Y
반면에 우리가 그것들 중 하나를 부정한다면, 왜도의 강도와 상관 관계의 표시와의 상관 관계를 바꿀 것입니다 (하지만 방향은 아닙니다).
이변 량 분포와 정규 마진으로 발생할 수있는 일을 이해하기 위해 몇 가지 다른 copulas를 가지고 놀아 볼 가치가 있습니다.
t- 구리가있는 가우시안 마진은 copulas의 세부 사항에 대해 크게 걱정하지 않고 실험 할 수 있습니다 (상관 된 이변 량 t에서 생성 된 후 확률 적분 변환을 통해 균일 한 마진으로 변환 한 다음 균일 마진을 가우스로 변환) 역 정규 cdf). 비정규이지만 비대칭 합입니다. 따라서 멋진 copula-packages가 없어도 여전히 쉽게 할 수있는 일을 할 수 있습니다 (예 : Excel에서 예제를 신속하게 보여 주려고하면 아마도 t-copula로 시작합니다).
-
예 3 : (이것은 처음에 시작했던 것과 비슷합니다)
A A 표준 균일에 기초 접합부 고려 및시키는 에 대한 와 위한 . 결과는 와 대해 균일 한 마진을 갖지만 이변 량 분포는 변성됩니다. 두 마진을 모두 일반 하면 다음과 같은 분포를 얻게됩니다 .V = U 0 ≤ U < 1UV=U V=30≤U<121V=32−UUVX=Φ-1(U),Y=Φ-1(V)12≤U≤1UVX=Φ−1(U),Y=Φ−1(V)X+Y
이 경우 이들 간의 상관 관계는 약 0.66입니다.
다시 말하지만, 와 는 이변 량 법선이 아니기 때문에 (이 경우에는 분명히) 비정규 합과 상관 법선입니다.YXY
[ 에 대해 에서 의 중심을 뒤집 음으로써 다양한 상관 관계를 생성 할 수 있음 )에서 를 구합니다 . 이것들은 0에서 급등한 다음 정상적인 꼬리를 가진 양쪽의 간격이 있습니다.]( 1Uc[0,1(12−c,12+c)cV[0,12]V
일부 코드 :
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")))
두 번째 예 :
#--
# 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))
세 번째 예의 코드 :
#--
# Example 3:
u <- runif(10000)
v <- ifelse(u<.5,u,1.5-u)
x <- qnorm(u)
y <- qnorm(v)
hist(x+y,n=100)