답변:
이 방법은 매우 간단하므로 간단한 단어로 설명하겠습니다. 먼저 표본 추출하려는 일부 분포의 누적 분포 함수 를 취 합니다. 이 함수는 일부 값 x 를 입력 으로 사용하여 X ≤ x 를 얻을 확률을 알려줍니다 . 그래서
이러한 함수 함수와 반대로 는 p 를 입력으로 사용하여 x를 반환 합니다. 것을 공지 사항 페이지 의이 균일하게 분포되어있다 -이 어떤에서 샘플링에 사용될 수 F X 당신이 알고있는 경우 F . 이 방법을역변환 샘플링이라고합니다. 아이디어는 매우 간단합니다.U(0,1)에서 균일하게 값을 샘플링하기 쉽기때문에 일부FX에서 샘플링하려면값u~ 와 통과 U를 통해 F - 1 X를 구하는 X 의
또는 R (정규 분포의 경우)
U <- runif(1e6)
X <- qnorm(U)
아래에서 CDF를 살펴보면 일반적으로 x 축의 값 확률에 대해 축을 보는 관점에서 분포를 생각 합니다. 이 샘플링 방법을 사용하면 반대의 작업을 수행하고 "확률"로 시작하여 관련 값을 선택합니다. 이산 분포하면 치료 U를 행 선으로 0 행 1 언젠가 않는 위치에 기초하여 지정 값 u는 (이 라인에 거짓말을 예컨대 0 만약 0 ≤ U < 0.5 또는 1 의 경우 0.5 ≤ U ≤ 1 에서 샘플링 B ).
불행히도, 모든 함수가 역함수를 가지지 않기 때문에 항상 가능한 것은 아닙니다. 예를 들어이 방법을 이변 량 분포와 함께 사용할 수는 없습니다. 또한 모든 상황에서 가장 효율적인 방법 일 필요는 없으며 많은 경우 더 나은 알고리즘이 존재합니다.
또한의 분포 무엇인지 물어 . 이후 F - 1 X 의 역수 인 F X는 다음 F X ( F - 1 X ( U ) ) = U 및 F - 1 X ( F X ( X ) ) = X , 그래서 긍정 값을 획득하여 이러한 방법은 할 X 와 같은 분포 . 간단한 시뮬레이션으로 확인할 수 있습니다
U <- runif(1e6)
all.equal(pnorm(qnorm(U)), U)