왜 MCMC 체인의 빠른 혼합에 관심을 가져야합니까?


21

Markov 체인 Monte Carlo와 협력하여 추론을 도출 할 때, 우리는 빠르게 혼합되는 체인이 필요합니다. 즉, 사후 분포의지지를 통해 빠르게 움직입니다. 그러나 나는 우리가 왜이 속성이 필요한지 이해하지 못합니다. 왜냐하면 내가 이해 한 것으로부터 받아 들여진 후보 추첨은 사후 분포의 고밀도 부분에 집중해야하고 집중해야하기 때문입니다. 내가 이해하는 것이 사실이라면, 체인이 지지대 (저밀도 부품 포함)를 통해 움직이기를 원합니까?

또한 MCMC를 사용하여 최적화를 수행하는 경우에도 빠른 혼합에 관심을 가져야하며 그 이유는 무엇입니까?

의견을 보내 주셔서 감사합니다!


MCMC 문헌에는 마르코프 사슬이 기하학적으로 인체 공학적 일 때 지수 적으로 빠른 알파 믹싱 붕괴가 발생하는 것으로 알려져 있습니다. X_ {n}이 어떻게 대상 분포에 신속하게 수렴 할 수 있는지와 연속 샘플 간의 높은 상관 관계를 유지할 수 있는지 잘 모르겠습니다. 간단한 예가 있습니까? 모든 입력에 감사드립니다!

답변:


16

이상적인 Monte Carlo 알고리즘은 독립적 인 연속 임의 값을 사용 합니다. MCMC에서 연속적인 값은 독립적이지 않으므로 이상적인 Monte Carlo보다 수렴 속도가 느려집니다. 그러나 혼합 속도가 빠를수록 연속 반복에서 종속성이 더 빨리 붕괴되고 ¹ 수렴 속도가 빨라집니다.

¹ 나는 연속 값이 값 주어진 오히려 빨리 "거의 독립적 인"초기 상태의, 또는 것을 여기에서 의미 , 값이 한 지점에서 의 "거의 독립적 인"신속하게 로 성장; 따라서 qkhhly가 의견에서 말했듯이 "체인은 상태 공간의 특정 영역에 계속 붙어 있지 않습니다".X ń + k X n kXnXń+kXnk

편집 : 다음 예제가 도움이 될 수 있다고 생각합니다.

MCMC에 의해 에 대한 균일 분포의 평균을 추정한다고 가정합니다 . 순서대로 시작합니다 ; 각 단계 에서 시퀀스에서 요소 를 선택 하고 무작위로 섞습니다. 각 단계에서 위치 1의 요소가 기록됩니다. 이것은 균일 분포로 수렴합니다. 의 값은 혼합 속도를 제어한다 : 일 때 , 느리다; 일 때 , 연속적인 요소는 독립적이며 혼합은 빠르다.( 1 , , n ) k > 2 k k = 2 k = n{1,,n}(1,,n)k>2kk=2k=n

이 MCMC 알고리즘에 대한 R 함수는 다음과 같습니다.

mcmc <- function(n, k = 2, N = 5000)
{
  x <- 1:n;
  res <- numeric(N)
  for(i in 1:N)
  {
    swap <- sample(1:n, k)
    x[swap] <- sample(x[swap],k);
    res[i] <- x[1];
  }
  return(res);
}

적용 하고 MCMC 반복을 따라 평균 의 연속 추정치를 플로팅합니다 .μ = 50n=99μ=50

n <- 99; mu <- sum(1:n)/n;

mcmc(n) -> r1
plot(cumsum(r1)/1:length(r1), type="l", ylim=c(0,n), ylab="mean")
abline(mu,0,lty=2)

mcmc(n,round(n/2)) -> r2
lines(1:length(r2), cumsum(r2)/1:length(r2), col="blue")

mcmc(n,n) -> r3
lines(1:length(r3), cumsum(r3)/1:length(r3), col="red")

legend("topleft", c("k = 2", paste("k =",round(n/2)), paste("k =",n)), col=c("black","blue","red"), lwd=1)

mcmc 컨버전스

당신에 대한 것을 여기서 볼 수 있습니다 (검은 색)에 수렴 속도가 느린; 에 대해 (파란색)는 빠르지 만, 여전히 느린보다 (적색).k = 50 k = 99k=2k=50k=99

고정 반복 횟수 (예 : 100 회 반복) 후 추정 평균의 분포에 대한 히스토그램을 플로팅 할 수도 있습니다.

K <- 5000;
M1 <- numeric(K)
M2 <- numeric(K)
M3 <- numeric(K)
for(i in 1:K)
{
  M1[i] <- mean(mcmc(n,2,100));
  M2[i] <- mean(mcmc(n,round(n/2),100));
  M3[i] <- mean(mcmc(n,n,100));
}

dev.new()
par(mfrow=c(3,1))
hist(M1, xlim=c(0,n), freq=FALSE)
hist(M2, xlim=c(0,n), freq=FALSE)
hist(M3, xlim=c(0,n), freq=FALSE)

히스토그램

당신과 함께 것을 볼 수 있습니다 (M1), (100 개) 반복 한 후 초기 값의 영향은 당신에게 끔찍한 결과를 제공합니다. 와 는 확인보다 여전히 더 큰 표준 편차로 보인다 . 수단과 SD는 다음과 같습니다.k = 50 k = 99k=2k=50k=99

> mean(M1)
[1] 19.046
> mean(M2)
[1] 49.51611
> mean(M3)
[1] 50.09301
> sd(M2)
[1] 5.013053
> sd(M3)
[1] 2.829185

4
"혼합이 빠를수록 연속 반복에서 종속성이 더 빨리 붕괴된다"는 말이 맞지 않다고 생각합니다. 예를 들어 연속 반복은 항상 Metropolis-Hastings 알고리즘을 사용하여 종속됩니다. 믹싱은 연속 반복이 얼마나 종속적이지 않고 샘플이 대상 분포에 얼마나 빨리 수렴되는지와 관련이 있습니다.
매크로

이는 동일합니다. 대상 분포에 빠르게 수렴하면 초기 상태와의 종속성이 빠르게 쇠퇴합니다. 물론 체인의 어느 시점에서나 초기 상태로 선택 될 수 있습니다. 위 예제의 마지막 부분이이 측면을 밝게하는 것 같습니다.
Elvis

1
그렇습니다. 초기 상태에 대한 의존성은 쇠퇴하지만 반드시 연속적인 반복 사이에 의존하는 것은 아닙니다.
매크로

나는 "사이에"가 아니라 "연속 반복으로"썼다. 나는 정말로 "함께"를 의미합니다 ... 이것은 모호합니다. 수정하겠습니다.
Elvis

2
나는 혼합이 무엇을 의미하는지 이해한다고 생각합니다. 체인이 대상 배포 지원의 모든 부분으로 이동하는 것은 아닙니다. 오히려, 그것은 지원의 특정 부분에 붙어 있지 않은 체인에 관한 것입니다.
qkhhly

10

앞서 언급 한 두 가지 답변을 모두 마치면 믹싱은 MCMC 융합의 측면 일뿐 입니다. 그것은 실제로 Markov chain 의 초기 값이나 분포를 잊는 속도와 직접 연결됩니다 . 예를 들어, -mixing 의 수학적 개념은 측정 값으로 정의됩니다 .α(Xn)α

( X n ) π

α(n)=supA,B{|P(X0A,XnB)P(X0A)P(XnB)},nN,
0으로 수렴하는 속도는 혼합의 특성입니다. 그러나이 측정은 이 대상 분포 수렴 하는 속도와 직접 관련이 없습니다 . 목표에 대한 매우 빠른 수렴을 얻을 수 있고 체인 요소 사이의 높은 상관 관계를 유지할 수 있습니다.(Xn)π

또한 간의 독립성은 일부 설정에서만 관련이 있습니다. 적분을 목표로 할 때, 음의 상관 관계 (일명 반 테틱 시뮬레이션 )는 독립성보다 우수합니다.Xn

특정 의견에 대해

... 허용 된 후보는 사후 분포의 고밀도 부분에 집중해야합니다. 내가 이해하는 것이 사실이라면, 체인이 지지대 (저밀도 부품 포함)를 통해 움직이기를 원합니까?

MCMC 체인은 (정지 영역에서) 높이에 정확히 비례하여 대상을 탐색하므로 실제로 고밀도 지역에서 더 많은 시간을 보냅니다. 체인이 저밀도 영역을 가로 질러야한다는 것은 타겟에 저밀도 영역으로 분리 된 여러 고밀도 성분이있는 경우에 관련됩니다. (이를 멀티 모달 설정이라고도합니다.) 느린 혼합은 체인이 저밀도 영역을 가로 지르는 것을 방해 할 수 있습니다. 체인이 절대 방문하지 않아야 하는 유일한 영역 은 목표 분포 하에서 확률이 0 인 영역입니다.(Xn)


1
대조를 이룬 시뮬레이션에 대한 언급을 한 많은 감사,이 멋지다
엘비스

@ 시안 (+1) : 이것은 내가 찾은 ( alpha-) 믹싱 의 첫 번째 명확한 정의이며 , 두 가지 질문 (1) -mixing 외에 다른 유형의 믹싱이 있고 (2) 실제로는 어떤 것이 있습니까? 정의에서이 최상위와 체인의 혼합을 계산할 수있는 방법을 알 수 없기 때문에 사용 가능한 측정 값입니다. 다음으로 나는 이 수렴에 충분하지 않다는 것을 알았 습니다. 수렴의 척도가 있습니까? α α 0ααα0

-mixing 및 -mixing 과 같은 여러 유형의 혼합 이 있습니다 . MCMC와 관련하여 Wikipedia의 인용문과 같이 마코프 프로세스는 비정기적인 반복적 해리스 체인 인 경우에만 β- 믹싱입니다. βρβ
시안

3

빠르게 혼합되는 체인에 대한 요구를 불러 일으키는 가정은 컴퓨팅 시간에 관심이 있고 사후의 대표적인 샘플을 원한다는 것입니다. 전자는 문제의 복잡성에 달려 있습니다. 작고 간단한 문제가있는 경우 알고리즘의 효율성 여부는 중요하지 않을 수 있습니다. 후자의 불확실성에 관심이 있거나 후자의 평균을 높은 정밀도로 알고 있다면 후자가 매우 중요합니다. 그러나 MCMC를 사용하여 대략적인 최적화를 수행하기 때문에 대표적인 사후 샘플을 갖는 것에 신경 쓰지 않는다면 이는 그리 중요하지 않을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.