태그 보관물: multivariate-analysis

multivariate-analysis

상관 된 비정규 데이터 생성 방법 방법을 설명하는 일종의

상관 된 비정규 데이터를 생성하는 방법을 찾는 데 관심이 있습니다. 따라서 공분산 (또는 상관) 행렬을 모수로 사용하고 근사치에 가까운 데이터를 생성하는 분포가 이상적입니다. 그러나 여기에 캐치가 있습니다. 제가 찾고자하는 방법은 다변량 왜도 및 / 또는 첨도를 제어 할 수있는 유연성을 가져야합니다.

나는 익숙한 Fleishman의 방법과 정규 변량의 거듭 제곱 방법의 사용에 익숙하지만, 대부분의 확장은 사용자에게 한계 왜곡과 첨도 의 특정 조합에 대해서만 허용 하고 다변량 왜도 / 첨도는 그대로 둡니다. 내가 궁금한 것은 다변량 왜곡 및 / 또는 첨도를 지정하는 데 도움이되는 방법이 있는지, 상관 관계 / 공분산 구조와 함께 있는지 여부입니다.

약 1 년 전에 나는 copula 분포에 관한 세미나를 갔고 교수는 포도 나무 copulas의 사용을 통해 1 차원 한계 값 각각에 대해 대칭이지만 공동으로 치우친 부수적 인 데이터를 생성 할 수 있다고 언급했다. -거의. 또는 더 낮은 차원의 여백은 가장 큰 치수를 대칭으로 유지하면서 비대칭 또는 첨도를 가질 수 있습니다. 나는 그러한 융통성이 존재할 수 있다는 생각에 놀랐다. 나는 그 방법을 설명하는 일종의 기사 나 회의 논문을 찾으려고 노력했지만 실패했다 :(. copulas를 사용하지 않아도됩니다. 나는 작동하는 모든 것에 열려 있습니다.

편집 : 내가 의미하는 바를 보여주기 위해 R 코드를 추가했습니다. 지금까지 나는 다변량 왜도 및 첨도에 대한 Mardia의 정의에 대해 잘 알고 있습니다. 내가 처음 내 문제에 접근했을 때 나는 비틀림 마진 (이 예에서는 베타)으로 대칭 copula (이 경우 가우시안)를 사용하면 마진에 대한 일 변량 테스트는 의미가 있지만 멀티 바리 언트 왜도 / 커트 시스에 대한 Mardia의 테스트는 중요하지 않다. 나는 그것을 시도했지만 예상대로 나오지 않았다.

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

경험적 이변 량 밀도 플롯뿐만 아니라 ‘cop1’VS ‘cop2’에 대한 윤곽선을 검사하면 대칭이 전혀 보이지 않습니다. 그때가 생각보다 조금 더 복잡하다는 것을 깨달았습니다.

나는 Mardia ‘s가 다 변형 왜도 / 커트 시스의 유일한 정의는 아니라는 것을 알고 있습니다. 따라서 Mardia의 정의 만 만족시키는 방법을 찾도록 제한하지는 않습니다.

감사합니다!



답변

많이 검색 한 후, 교수와 컨설팅 및 문헌 고찰을 많이하고, 주위에 온라인 포럼 점프, 나는 아마 결론에왔다 이 문제를 해결하는 유일한 방법은 참 포도 나무 copulas 사용하는 것입니다. p- 변량 랜덤 벡터와 p-1 쌍의 copulas와 나머지 p * (p-1) / 2-()를 자유롭게 지정할 수 있도록 pairwise skewness 및 kurtosis (또는 높은 모멘트)를 제어 할 수 있습니다. p-1) 차원은 어떤 종류의 조건부 copula에서 지정할 수 있습니다.

나는 사람들이 만난 다른 방법을 환영하지만 적어도 내 인생 에서이 문제를 해결할 수있는 다른 방법을 찾을 수 없기 때문에 적어도이 포인터를 대답을 향하게 할 것입니다.


답변

Ruscio and Kaczetow (2008) 알고리즘을 수정하여이 문제를 해결할 수 있습니다. 이 논문은 실제와 의도 된 한계 모양 사이의 차이를 최소화하는 반복 알고리즘 (R 코드 포함)을 제공합니다. 한계가 아닌 다변량 모멘트를 대상으로하도록 수정할 수 있습니다.

Ruscio, J., & Kaczetow, W. (2008). 반복 알고리즘을 사용하여 다변량 비정규 데이터 시뮬레이션 다변량 행동 연구, 43 (3), 355-381. 도 : 10.1080 / 00273170802285693


답변

일반화 된 타원형 분포 (Generalized Elliptical Distribution) 를 확인하여 다른 기능에 대한 유연성을 가진 “고전적인”모양 매트릭스를 사용할 수 있습니다.


답변

나는 coplas와 다른 복잡한 디자인을 포함하지 않는 간단한 방법을 생각해 냈습니다. 이 방법이 매우 효과적 인 것으로 보이지만 공식적인 언급이없는 것이 두려워요.

아이디어는 간단하다. 1. 공동 정규 분포에서 여러 변수를 그립니다. 2. 일 변량 정규 CDF 변수를 적용하여 각 변수에 대한 확률을 도출합니다. 3. 마지막으로 모든 분포의 역 CDF를 적용하여 해당 분포의 그림을 시뮬레이션합니다.

2012 년에이 방법을 생각 해냈고 Stata를 사용하여 시연했습니다 . 또한 R을 사용하여 동일한 방법을 보여주는 최근 게시물을 작성했습니다 .


답변

다음 논문에 제시된 방법은 평균, 분산, 왜도 및 첨도의 (가능한) 조합으로 임의의 다변량을 생성 할 수 있다고 생각합니다.

  1. Stanfield, PM, Wilson, JR 및 GA GA 1996. Johnson Distributions를 사용한 다변량 입력 모델링 , 1996 Winter Simulation Conference , eds. Charnes, JM, Morrice, DJ, Brunner, DT 및 Swain, JJ, 1457-1464
  2. Stanfield, PM, Wilson, JR 및 King, RE 2004. 제품 재사용 시설에 적용하여 상관 된 운영 시간을 유연하게 모델링, International Journal of Production Research , Vol 42, No 11, 2179–2196.

면책 조항 : 나는 저자 중 하나가 아닙니다 .


답변