의사 난수 샘플링
Pseudo-random number sampling의사 난수 샘플링 또는 불균일한 의사 난수 변동 생성은 주어진 확률 분포에 따라 분포되는 의사 난수를 생성하는 수치 관행이다.
불균일한 분포를 샘플링하는 방법은 일반적으로 균등하게 분포된 숫자 X를 생성하는 의사 난수 발생기의 가용성에 기초합니다.연산 알고리즘은 단일 랜덤 변수 X 또는 종종 그러한 변수 몇 개를 새로운 랜덤 변수 Y로 조작하여 이들 값이 필요한 분포를 갖도록 하기 위해 사용됩니다.
역사적으로 의사 난수 표본 추출의 기본 방법은 맨해튼 [citation needed]프로젝트의 몬테카를로 시뮬레이션을 위해 개발되었으며, 1950년대 [1]초에 John von Neumann에 의해 처음 발표되었다.
유한 이산 분포
확률질량함수 f가 0이 아닌 값을 취하는 한정된 수의 지수를 갖는 이산 확률 분포의 경우, 기본 샘플링 알고리즘은 간단하다.간격 [0, 1)은 n개의 간격 [0, f(1)], [f(1)], f(1) + f(2), ...로 나뉩니다.구간 i의 폭은 확률 f(i)와 같습니다.균등하게 분포된 의사 난수 X를 그려, 대응하는 구간의 지수 i를 검색한다.이렇게 결정되면 분포 f(i)를 갖게 됩니다.
누적 분포 함수를 사용하여 이 아이디어를 공식화하는 것이 더 쉬워집니다.
F(0) = 0으로 설정하면 편리합니다.n개의 간격은 단순하게 [F(0), F(1)], [F(1), F(2), ..., [F(n - 1), F(n)]입니다.그런 다음 주요 계산 작업은 F(i - 1) x X < F(i)에 대한 i를 결정하는 것이다.
이것은, 다른 알고리즘으로 실행할 수 있습니다.
- 선형 검색, 계산 시간 선형(n).
- 바이너리 검색, 계산 시간은 로그 n으로 갑니다.
- 인덱스 검색([2]컷포인트 [3]방식이라고도 함)
- 에일리어스 방식, 계산 시간은 일정하며, 미리 계산된 테이블을 사용합니다.
- 일정 시간이 [4]소요되는 다른 방법이 있습니다.
연속 전달
독립 샘플을 생성하는 일반적인 방법:
- 임의 밀도 함수에 대한 제거 샘플링
- 누적분포함수가 알려진 분포에 대한 역변환 표본 추출
- 변수 변경 및 기각 표본 추출을 결합한 균등 비율
- 슬라이스 샘플링
- Ziggurat 알고리즘: 대칭 유니모달 분포뿐만 아니라 밀도 함수를 단조롭게 감소시킵니다.
- 컨볼루션 난수 생성기. 샘플링 방법 자체가 아닙니다. 하나 이상의 기존 샘플링 방법 위에 산술적 계산을 사용하여 더 많은 관련 분포를 생성하는 방법을 설명합니다.
상관된 샘플을 생성하는 일반적인 방법(흔히 비정상적인 모양 또는 고차원 분포에 필요함):
- 마르코프 연쇄 몬테카를로, 일반 원리
- Metropolis-Hastings 알고리즘
- 깁스 샘플링
- 슬라이스 샘플링
- 차원 수가 고정되지 않은 경우(예: 혼합물 모델을 추정하는 동시에 혼합물 성분 수를 추정할 때) 가역 점프 마르코프 체인 몬테 카를로
- 파티클 필터, 관찰된 데이터가 마르코프 체인으로 연결되어 있으며 순차적으로 처리해야 하는 경우
정규 분포를 생성하는 경우:
포아송 분포를 생성하는 경우:
- 자세한 내용은 포아송 분포#포아송 분포 랜덤 변수 생성
소프트웨어 라이브러리
GNU Scientific Library에는 20개 이상의 다른 배포에서 샘플링하기 위한 루틴이 포함된 "랜덤 번호 배포"라는 섹션이 있습니다.
각주
- ^ 폰 노이만, 존(1951년)."다양한 기법 사용된 접합부 랜덤 Digits에"(PDF).하우스 홀더, A.S.;포사이스, G.E.;Germond, H.H.(eds.)에서.몬테카를로 콘텐츠.전미 표준 응용 수학 시리즈의.Vol12.미국 정부 인쇄국..를 대신하여 서명함. 36–38.누가 난수를 생산하는 산술적 방법이라고 생각하는 사람 물론, 죄의 상태에 있다.원본의 출판물 또한 온라인은 하급의 검사합니다.
- ^ 리플리(1987년)[page needed]
- ^ 피시맨(1996년)[page needed]
- ^ 피시맨(1996년)[page needed]
문학.
- Devroye, L.(1986) 불균일 랜덤 변동 생성.뉴욕: 스프링거
- 피시맨, G.S. (1996) 몬테카를로 개념, 알고리즘 및 응용 프로그램.뉴욕: 스프링거
- Hörmann, W.; J Leydold, G Derflinger(2004, 2011) 자동 불균일 랜덤 변이 생성.베를린: 스프링거.
- Knuth, D.E. (1997년) The Art of Computer Programming, Vol. 2 Seminumerical Algorithms, 3.4.1(3판)
- Ripley, B.D.(1987) 확률적 시뮬레이션.와일리.