이 올바른지 ? (잘린 노름 다변량 가우스 생성)


10

만약 즉, XRn, XN(0_,σ2I)

fX(x)=1(2πσ2)n/2exp(||x||22σ2)

다변량 사례에서 잘린 정규 분포 의 유사한 버전을 원합니다 .

보다 정확하게, 나는 표준 제약 (값 ) 다변량 가우스 st f_Y (y) = \ begin {cases} c.f_X (y), \ text {if} || y || \ geq a \\ [2mm] 0, \ text {그렇지 않으면}. \ end {cases} 여기서 c = \ frac {1} {Prob \ big \ {|| X || \ geq a \ big \}}aY

fY(y)={c.fX(y), if ||y||a0, otherwise .
c=1Prob{||X||a}

이제 다음을 관찰합니다.

만약 x=(x1,x2,,xn) , ||x||a

|xn|Tmax(0,(a21n1xi2))

따라서 가우스 샘플로 x_1, \ ldots, x_ {n-1} 을 선택하면 x_n잘린 정규 분포 에서 샘플로 x1,,xn1제한 할 수 있습니다 (가우스 꼬리 \ geq T에 따름).xnT ) 분포 NT(0,σ2) 확률이 1/2 인 무작위로 선택된 부호를 제외하고 (0, \ sigma ^ 2)1/2 .

이제 내 질문은

나는 발생하는 경우 각각의 벡터 샘플을 (x1,,xn)(X1,,Xn) 등을,

x1,,xn1N(0,σ2)

xn=Z1Z2  여기서  Z1{±1 w.p. 1/2} , Z2NT(0,σ2) , 즉 a T (x_1, \ ldots, x_ {n-1}) \ triangleq \ sqrt {\ max \ left (0, \ left (a ^ 2- \ sum_1 ^ {n-1} x_i ^) 와 함께 잘린 스칼라 정규 RV T(x1,,xn1)max(0,(a21n1xi2))

윌 될 규범 제약 ( ) 다변량 가우시안? (즉, 위에서 정의한 와 동일 ). 어떻게 확인해야합니까? 이것이 아닌 경우 다른 제안?(X1,X2,,Xn)aY

편집하다:

다음은 규범이 "1"보다 큰 값으로 잘린 2D 경우 점의 산점도입니다. 규범 잘린 다변량 가우스

참고 : 아래에는 훌륭한 답변이 있지만이 제안이 왜 틀린지에 대한 정당성은 없습니다. 사실, 이것이이 질문의 주요 포인트입니다.


1
@ Xi'an 질문과 관심에 감사드립니다. 여기 요점에 대한 나의 추론이 있습니다 : 문제의 알고리즘은 RVs 필요로합니다 . 즉, 샘플마다 볼 때 가우시안과 잘린 가우시안입니다 . 보다 구체적으로, 분포 중 하나는 샘플마다 다릅니다. 그것들은 각각의 한계 가 아닙니다 . 각 은 와 두 가지 용어로 나타납니다 . 및 절단 임계 값이 모든 샘플에 따라 다릅니다으로 명확하게 시간 VARYING입니다. 제공 한 분해 증거는 정확히 같은 의미에서 문제가 있습니다. 한계는 사용할 수 없습니다. n - 1 x i , i = 1 , , n - 1 x i x n x nX1Xnn1xi,i=1,,n1xixnxn
확률을 사랑

(잘못된) 알고리즘은 먼저 생성 한 다음 주어진 . 따라서 1 세대는 한계에서, 2 세대는 조건부에서 나옵니다. 내 증거는 한계가 (n-1) 차원 가우스 분포가 아니라는 것을 보여줍니다. X n ~ N T ( 0 , σ 2 ) X 1 , , X n - 1
X1,,Xn1N(0,σ2)
XnNT(0,σ2)
X1,,Xn1
Xi'an

@ Xi'an 조건부 가우스는 한계 가우시안을 의미하지 않습니다 !!
확률을 좋아한다

@ Xi'an 좋아, 내 요점은 이것입니다. 경우 가우시안로서 생성되고, 이후의 용어는이 값에 의존의 marginals 되지 가우시안 일. 당신이 말한 것은 정확히 같습니다. "조건부 가우시안"일 수도 있지만 "마지막 가우스"는 아닙니다. 내 이전 의견은 그것을 의미합니다. X 1 , , X n - 1X1,,Xn1X1,,Xn1
확률을 좋아한다

1
@ Xi'an 환자의 답변에 감사드립니다. 나는 당신의 자극에 대한 나의 실수를 마침내 이해했으며, 또한 그것을 설명하는 내 자신의 상세한 답변을 작성했습니다 . 그러나 죄송합니다. 걱정하지 마십시오. 실제로 문제를 해결하는 데 도움이되는 자세한 설명에 대해서는 whuber의 답변을 수락해야합니다.
확률을 좋아한다

답변:


11

의 다변량 정규 분포 는 구형 대칭입니다. 분포는 반경 자릅니다 추구 에서 아래 . 이 기준은 길이에만 의존하기 때문에 잘린 분포는 구형 대칭으로 유지됩니다. 는 구면 각도 무관 하므로 그리고 있다 분포 , 당신은 그러므로 몇 가지 간단한 단계에서 잘립니다 분포 값을 생성 할 수 있습니다 :ρ = | | X | | 2 a X ρ X / | | X | | ρXρ=||X||2aXρX/||X||χ ( n )ρσχ(n)

  1. 생성 .XN(0,In)

  2. 에서 잘린 분포의 제곱근으로 를 생성 합니다.χ 2 ( d ) ( a / σ ) 2Pχ2(d)(a/σ)2

  3. 하자.Y=σPX/||X||

단계 1에서, 는 표준 정규 변수 의 독립적 실현의 시퀀스로서 획득된다 .Xd

단계 2에서, 용이 분위수 함수를 반전시킴으로써 생성되는 (A)의 분포 : 균일 변수 생성 사이 (분위수의) 범위에서 지원 및 로 설정하고 .F 1 χ 2 ( d ) U F ( ( a / σ ) 2 ) 1 P = PF1χ2(d)UF((a/σ)2)1=에프()

여기 에 차원 에서 에 대한 의 독립적 구현이 아래에 에서 잘린 히스토그램이 있습니다. 알고리즘의 효율성을 증명하는 데 약 1 초가 걸렸습니다. σ P σ = 3 n = 11 a = 7105σσ==11=7

그림

빨간색 곡선은 스케일링 된 잘린 분포 의 밀도입니다 . 히스토그램과 밀접하게 일치하는 것은이 기술의 유효성에 대한 증거입니다.σ = 3χ(11)σ=

잘림에 대한 직관을 얻으려면 차원 의 대소 문자 , 을 고려하십시오 . 다음은 에 대한 의 산점도입니다 ( 독립 실현의 경우). 반경 의 구멍을 명확하게 보여줍니다 .σ = 1 n = 2 Y 2 Y 1 10 4 a=σ=1=2Y2Y1104a

그림 2

마지막으로, (1) 성분 는 (구형 대칭으로 인해) 동일한 분포를 가져야하고 (2) 일 때를 제외하고 공통 분포는 정규가 아닙니다. 같은 사실, 커질 상기 (단변) 정규 분포의 급격한 감소는 표면 근처에 클러스터링 통상 구면 절단 다변량 확률 대부분 발생 -sphere (반경의 ). 따라서 한계 분포는 구간 집중된 스케일 대칭 베타 분포와 근사해야합니다 . 이것은 이전 산점도에서 분명합니다. = 0 N - 1 ( ( N - 1 ) / 2 , ( N - 1 ) / 2 ) ( - , ) = 3 σ (2) - 1 (3) σXia=0an1a((n1)/2,(n1)/2)(a,a)a=3σ는 이미 2 차원으로 크다 : 점 은 반지름 의 반지 ( 구)를 제한한다 .213σ

여기서 크기의 시뮬레이션 한계 분포의 히스토그램이다 의 과 사이즈 , (근사하는 베타 분포가 균일)105a = 10 σ = 1 ( 1 , 1 )3a=10σ=1(1,1)

그림 3

문제에 설명 된 절차 의 첫 번째 한계가 정상이므로 (구성 별) 해당 절차는 정확하지 않습니다.n1


다음 R코드는 첫 번째 그림을 생성했습니다. 를 생성하기 위해 단계 1-3을 병렬로 구성된다 . 그것은 변수 변화에 의해 제 2도를 생성하도록 수정 된 , , 및 다음 플롯 명령을 실행 한 후에 발생 하였다.Yadnsigmaplot(y[1,], y[2,], pch=16, cex=1/2, col="#00000010")y

더 높은 수치 해상도를 위해 코드에서 생성 이 수정됩니다. 코드는 실제로 생성 하고이를 사용하여 를 계산 합니다.1 - U PU1UP

가정 된 알고리즘에 따라 데이터를 시뮬레이션하고, 히스토그램으로 요약하고, 히스토그램을 중첩하는 동일한 기술을 사용하여 문제에 설명 된 방법을 테스트 할 수 있습니다. 방법이 예상대로 작동하지 않음을 확인합니다.

a <- 7      # Lower threshold
d <- 11     # Dimensions
n <- 1e5    # Sample size
sigma <- 3  # Original SD
#
# The algorithm.
#
set.seed(17)
u.max <- pchisq((a/sigma)^2, d, lower.tail=FALSE)
if (u.max == 0) stop("The threshold is too large.")
u <- runif(n, 0, u.max)
rho <- sigma * sqrt(qchisq(u, d, lower.tail=FALSE)) 
x <- matrix(rnorm(n*d, 0, 1), ncol=d)
y <- t(x * rho / apply(x, 1, function(y) sqrt(sum(y*y))))
#
# Draw histograms of the marginal distributions.
#
h <- function(z) {
  s <- sd(z)
  hist(z, freq=FALSE, ylim=c(0, 1/sqrt(2*pi*s^2)),
       main="Marginal Histogram",
       sub="Best Normal Fit Superimposed")
  curve(dnorm(x, mean(z), s), add=TRUE, lwd=2, col="Red")
}
par(mfrow=c(1, min(d, 4)))
invisible(apply(y, 1, h))
#
# Draw a nice histogram of the distances.
#
#plot(y[1,], y[2,], pch=16, cex=1/2, col="#00000010") # For figure 2
rho.max <- min(qchisq(1 - 0.001*pchisq(a/sigma, d, lower.tail=FALSE), d)*sigma, 
               max(rho), na.rm=TRUE)
k <- ceiling(rho.max/a)
hist(rho, freq=FALSE, xlim=c(0, rho.max),  
     breaks=seq(0, max(rho)+a, by=a/ceiling(50/k)))
#
# Superimpose the theoretical distribution.
#
dchi <- function(x, d) {
  exp((d-1)*log(x) + (1-d/2)*log(2) - x^2/2 - lgamma(d/2))
}
curve((x >= a)*dchi(x/sigma, d) / (1-pchisq((a/sigma)^2, d))/sigma, add=TRUE, 
      lwd=2, col="Red", n=257)

1
좋은 답변입니다! 그러나 질문에 대한 제안이 실패한 이유를 친절하게 밝혀 줄 수 있습니까? (시안 답은 충분히 만족스럽지 않습니다. 예를 들어 그가 통합 할 때 그의 주장에 문제가 있습니다)
Loves Probability

1
대단히 감사합니다. 그러나 위의 첫 번째 의견에 대한 답변을 요청할 수 있습니까? 내 제안도 좋은 히스토그램을 충분히 가깝게주는 것 같습니다. 혼란 스러워요 !! 실수는 어디입니까? 이것이 문제의 주요 요점이며 IF CORRECT 인 경우,이 방법은 단지 하나의 "절단 된 가우시안"샘플 만 필요합니다. 기존의 빠른 알고리즘을 사용할 수 있기 때문에 크게 절약 할 수 있습니다 (나눗셈 및 곱셈은 피할 수 있음) 상대적으로 더 복잡한 잘린 ChiSquare의 필요성을 피하십시오)
확률을 좋아합니다

2
내가 알 수 있듯이 정규 분포에서 iid를, 양면 잘린 법선에서 을 그리도록 제안 합니다. 그것은 대한 산점도 가 쉽게 드러날 것이기 때문에 잘린 MVN 분포가 아닙니다. 나는 당신의 질문을 그 부분을 이해할 수 없었습니다. 더 일반적으로, 뭔가 않는 이유를 묻는 질문의 부담 없는 작업은 증거 제공하기 위해 아스 커에 수행 작업을. 아마도 그러한 증거를 제공했다면 질문의 본질이 분명해질 것입니다. X n n = 2X1,,Xn1Xnn=2
whuber

1
자세한 내용에 감사드립니다. 당신이 말한대로 2D 산점도를 추가하고 몇 문장을 수정했습니다. 그건 그렇고, 죄송합니다. 증거의 총 부담을 당신에게 이전한다는 의미는 아닙니다. 내 제안은 모든 간단한 점검으로 잘 작동하는 것 같습니다. 따라서 왜 이것이 잘못되었는지 궁금합니다.이 질문의 주요 목적이기도합니다.
확률을 좋아한다

1
한계 분포를 살펴 보는 것이 절차의 차이점을 설명 할 수있는 가장 간단한 방법입니다. 이 한계를 보여주기 위해 그림과 코드를 추가했습니다.
whuber

7

나는 당신이 || y ||를 갖는 점을 원하지 않는다고 가정하여 이것을 작성했습니다. > a, 일반적인 1 차원 절단과 유사합니다. 그러나 | y || > = a 그리고 다른 것들을 버리십시오. 그럼에도 불구하고 | y ||를 갖는 포인트를 실제로 유지하려면 내 솔루션에 대한 명백한 조정이 이루어질 수 있습니다. > = a.

매우 일반적인 기술인 가장 간단한 방법은 Acceptance-Rejection https://en.wikipedia.org/wiki/Rejection_sampling 을 사용하는 것 입니다. Prob (|| X ||> a)가 상당히 낮은 한, 거부가 많지 않기 때문에 상당히 빠릅니다.

제약이없는 다변량 법선에서 표본 값 x를 생성합니다 (문제에 다변량 법선이 구형이라고 기술되어 있지만 기술이 적용되지 않더라도 적용 할 수 있음). || x || <= a, 수락, 즉 x를 사용하고, 그렇지 않으면 거부하고 새로운 샘플을 생성합니다. 승인 된 샘플이 필요한만큼 나올 때까지이 과정을 반복하십시오. 이 절차를 적용하면 || y || <= a, || y ||이면 0 > a, 귀하의 질문의 시작 부분에 대한 내 수정에 따라. c를 계산할 필요는 없습니다. 실제로 샘플이 거부되는 빈도에 따라 알고리즘에 의해 자동 결정됩니다.


3
+1 저는 여러분의 제안이 비구면 대칭 MVN과 함께 작동하고, 그것이 효과적 일 상황을 명확하게 설명했으며, 거부 샘플링 사용 여부를 결정할 때 거부율을 평가할 필요성을 강조하고 싶습니다.
whuber

2
그렇습니다. 또한 여기에서 2 노름이 임계 값 위나 아래가 아닌 임의의 모양의 수용 영역에서 작동 할 수 있습니다.
Mark L. Stone

5

이것은 좋은 시도이지만 "정규화 상수"로 인해 작동하지 않습니다. 관절 밀도 분해 fX(x) 1

fX(x)1(2πσ2)n/2exp(||x||22σ2)I||x||>a=1(2πσ2)n/2exp(x12++xn22σ2)I||x||>a
= 1
fX(x)1(2πσ2)(n1)/2exp(||엑스||22σ2)1(2πσ2)1/2특급(엑스22σ2)나는||엑스||>
=P(X 2 n >
=1(2πσ2)(1)/2특급(||엑스||22σ2)1(2πσ2)1/2특급(엑스22σ2)나는||엑스||2+엑스2>2
=(엑스2>2||엑스||2)(2πσ2)(1)/2특급(||엑스||22σ2)
fXn(xn)
×(엑스2>2||엑스||2)1(2πσ2)1/2특급(엑스22σ2)나는엑스2>||엑스||2
로 통합한다 에 쇼 그XN
에프엑스(엑스)(엑스2>2||엑스||2)(2πσ2)(1)/2특급(||엑스||22σ2)
엑스
  1. 다른 성분 을 의 조건부 분포 는 잘린 정규 분포입니다.X n엑스엑스
  2. 다른 구성 요소 의 한계 분포는 추가 용어 때문에 정규 분포 가 아닙니다 . ; P ( X 2 n > a 2| | x n | | 2 )엑스(엑스2>2||엑스||2)

이 속성을 활용할 때 볼 수있는 유일한 방법은 잘린 정규 조건부 분포를 사용하여 한 번에 한 구성 요소 인 Gibbs 샘플러를 실행하는 것입니다.


1
자세한 답변을 주셔서 감사합니다. 간단히 밀도 (두 번째 eq) 아래의 면적은 1이 아닙니다! --- 일단 수정되면, 당신이 말하는 "정규화 요소"를 취소 할 것이라고 생각합니다. 이견있는 사람? 에프엑스(엑스)
확률을 좋아한다

3

이 문제는 벡터 샘플을 그리기 위해 관절 분포의 기본 조건부 분해를 사용한다는 아이디어에서 비롯됩니다.

를 iid 성분을 가진 다변량 가우스로 하자 .엑스

하자 와 Y X .조사(||엑스||>)와이엑스.나는||엑스||>

해당 알고리즘은 다음의 (올바르지 만기만 해석) 조건부 인수 분해를 기반으로 제안됩니다.

에프와이(와이)=11(2πσ2)/2특급(||와이||22σ2)나는||와이||>=11(2πσ2)/2특급(와이12++와이22σ2)나는||와이||>=(나는=1112πσ2특급(와이나는22σ2))(112πσ2특급(와이22σ2)나는||와이||>)=(나는=1112πσ2특급(와이나는22σ2))가우시안(112πσ2특급(와이22σ2)나는와이2>(2와이12와이12))잘린 가우시안 ??

가장 짧은 대답은 후자의 요소가 잘린 가우시안이 아니며, 더 중요한 것은 분포도 아니라는 것입니다.


위의 인수 분해 자체에 몇 가지 근본적인 결함이있는 이유에 대한 자세한 설명은 다음과 같습니다. 한 문장에서 : 주어진 공동 분포의 조건부 인수 분해는 매우 기본적인 특성을 충족해야하며, 위 인수 분해는이를 충족시키지 않습니다 (아래 참조).

일반적으로 를 하면 는 와 의 한계입니다 는 의 조건부 분포입니다 . 다음을 의미합니다.에프엑스와이(엑스,와이)=에프엑스(엑스)에프와이|엑스(와이|엑스)에프엑스(엑스)엑스에프와이|엑스(와이|엑스)와이

  1. 로 가정 한 의 계수 는 분포 여야합니다. 과,에프(엑스,와이)에프엑스(엑스)
  2. "로 가정 된" 의 두 번째 요소 선택할 때마다 분포 여야합니다.에프와이|엑스(와이|엑스)엑스

위의 예에서 우리는 으로 조건을 하려고합니다 . 이는 가우스 요소에 대해 property-1을 보유하고 후자에 대해서는 property-2를 양호하게 유지해야 함을 의미합니다.와이|(와이1와이1)

속성 -1이 첫 번째 요소에 적합하다는 것이 분명합니다. 그러나 문제는 재산 -2에 있습니다. 위의 마지막 요소는 불행히도 의 거의 모든 값에 대한 분포 Gaussian은 잊어 버리지 않습니다 !!(와이1와이1)


알고리즘의 제안은 아마도 다음과 같은 오해의 결과 일 것입니다. 분포가 자연스럽게 (위의 가우시안과 같은) 공동 분포에서 자연스럽게 인수 분해되면 조건부 인수 분해가 발생합니다. ---- 그렇지 않습니다! ---- 다른 (두 번째) 요소도 양호해야합니다.


참고 : @whuber는 이전에 잘린 다변량 가우시안 생성 문제를 실제로 해결하는 훌륭한 대답이 있습니다. 나는 그의 대답을 받아들이고있다. 이 답변은 내 자신의 이해와 질문의 기원을 명확히하고 공유하기위한 것입니다.


2
+1 의견을 보내 주셔서 감사합니다.이 주제에 대한 귀중한 통찰력을 추가합니다.
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.