우리가 가지고 있다고 가정
X 2 ~ unif ( n , 0 , 1 ) ,
여기서 은 크기 n의 균일 한 랜덤 샘플입니다.
그런 다음 와 Z 의 상관 관계 는 0.4 입니다.
이 변수를 , X 2 , X 3의 세 변수로 어떻게 확장 할 수 있습니까?
우리가 가지고 있다고 가정
X 2 ~ unif ( n , 0 , 1 ) ,
여기서 은 크기 n의 균일 한 랜덤 샘플입니다.
그런 다음 와 Z 의 상관 관계 는 0.4 입니다.
이 변수를 , X 2 , X 3의 세 변수로 어떻게 확장 할 수 있습니까?
답변:
질문에는 주석에 명시된 바와 같이 몇 가지 오류가 포함되어 있습니다. 질문에 정의 된대로 Z는 균일하지 않으며 지정된 상관 관계가 없습니다.
추기경은 copulas를 언급하고 있으며, 이것이 가장 일반적인 방법입니다. 그러나 상관 된 유니폼을 얻는 매우 쉬운 방법이 몇 가지 있습니다 (이는 여러 종류의 copulas에 대한 바로 가기로 볼 수 있음).
그래서이 얻을 수있는 몇 가지 방법으로 시작하자 쌍의 상관 관계 유니폼을.
1) 유니폼을 두 개 추가하면 결과는 균일하지 않고 삼각형입니다. 그러나 결과 변수의 cdf를 변환으로 사용하여 결과를 균일하게 되돌릴 수 있습니다. 물론 결과는 더 이상 선형 적으로 상관되지 않습니다.
다음은 (0,2)에서 대칭 삼각을 표준 유니폼으로 변환하는 R 함수입니다.
t2u = function(x) ifelse(x<1, x^2, 2-(2-x)^2)/2
그것이 유니폼을 제공하는지 확인합시다
u1 = runif(30000)
u2 = runif(30000)
v1 = t2u(u1+u2)
그리고 그것은 u1 및 u2와 관련이 있습니다.
> cor(cbind(u1,u2,v1))
u1 u2 v1
u1 1.000000000 0.006311667 0.7035149
u2 0.006311667 1.000000000 0.7008528
v1 0.703514895 0.700852805 1.0000000
단조로의 균일 성 변환으로 인해 선형이 아닌
이를 도구로 사용하여 3 가지 등상 관 유니폼을 얻기 위해 몇 가지 추가 변수를 생성 할 수 있습니다.
u3 = runif(30000)
v2 = t2u(u1+u3)
v3 = t2u(u2+u3)
cor(cbind(v1,v2,v3))
v1 v2 v3
v1 1.0000000 0.4967572 0.4896972
v2 0.4967572 1.0000000 0.4934746
v3 0.4896972 0.4934746 1.0000000
v- 변수 간의 관계는 모두 다음과 같습니다.
-
두 번째 대안은 혼합물 을 섭취하여 생성하는 것 입니다. 유니폼을 합산하는 대신 고정 된 확률로 유니폼을 가져 가십시오.
예 :
z = ifelse(rbinom(30000,1,.7),u1,u2)
cor(cbind(u1,z))
u1 z
u1 1.0000000 0.7081533
z 0.7081533 1.0000000
여러 개의 상관 된 유니폼을 생성하는 데 다시 사용할 수 있습니다.
-
세 번째 간단한 접근법은 상관 법선을 생성하고 균일 성으로 변환하는 것입니다.
n1=rnorm(30000)
n2=rnorm(30000)
n3=rnorm(30000)
x=.6*n1+.8*n2
y=.6*n2+.8*n3
z=.6*n3+.8*n1
cor(cbind(x,y,z))
x y z
x 1.0000000 0.4763703 0.4792897
y 0.4763703 1.0000000 0.4769403
z 0.4792897 0.4769403 1.0000000
이제 우리는 유니폼으로 변환합니다.
w1 = pnorm(x)
w2 = pnorm(y)
w3 = pnorm(z)
cor(cbind(w1,w2,w3))
w1 w2 w3
w1 1.0000000 0.4606723 0.4623311
w2 0.4606723 1.0000000 0.4620257
w3 0.4623311 0.4620257 1.0000000
방법 2와 3에 대한 한 가지 좋은 점은 상관 관계가있는 방법을 선택하는 데있어 다양한 다양성을 얻는다는 것입니다.
물론 다른 많은 접근 방식이 있지만 모두 빠르고 쉽습니다.
까다로운 부분은 정확히 원하는 모집단 상관 관계를 얻는 것입니다. 상관 된 가우스를 원할 때만 큼 간단하지 않습니다. Quantibex의 대답은 균일하게 분포되고 상관 된 난수 쌍 생성 에서 원하는 모집단 상관 관계를 제공해야하는 세 번째 방법을 수정하는 접근법을 제공합니다.
먼저
이렇게하면 벡터를 직교 구성 요소로 분해하는 것과 같은 방식으로 계열을 구성 요소로 분해하는 방법을 시작할 수 있습니다.