내포된 샘플링 알고리즘

Nested sampling algorithm

내포된 샘플링 알고리즘은 모델을 비교하고 후분포에서 샘플을 생성하는 베이시안 통계 문제에 대한 계산적 접근법이다.물리학자인 존 스킬링에 의해 2004년에 개발되었다.[1]

배경

Bayes의 정리 D 대해 경쟁 모델 }}개 한 쌍에 적용될 수 있으며 이 중 하나는 사실일 수 있지만 동시에 진실일 수는 없다. }의 후방 확률은 다음과 같이 계산할 수 있다.

선행 확률 }과 }}은 연구자가 미리 선택했기 때문에 이미 알려져 있다.그러나 나머지 베이즈 인자 ( )/ P( 1 일반적으로 성가신 파라미터의 한계화가 필요하므로 평가하기가 그리 쉽지 않다.일반적으로 }은(는) 함께 그룹화할 수 있는 매개변수 집합을 가지고 , M 라고 M 2 {\2}}는 차원성은 다를 수 있지만 여전히 {\이라고 불리고 있다 에 대한 주변화 }은(는)

그리고 이 적분은 분석적으로 난해한 경우가 많으며, 이 경우 근사치를 찾기 위해 수치 알고리즘을 채택할 필요가 있다.그 중첩된 표본 추출 알고리즘 존 스킬링 어떻에 의해 특히 이러한 한계화 적분식과 가까워지려고, 베이즈 literature[3]의 것과 같은 메서드에 .[2] 대안이 선행 유통으로 P사에 생성하는 샘플(θ ∣ D, M1){P(\theta\mid D,M_{1})\displaystyle}의 추가된다는 장점이 있다 개발되었다.brid지 샘플링 및 방어 중요도 샘플링

여기에 내포된 샘플링 알고리즘의 간단한 버전이 있고, 그 다음에 한계 확률 Z= M를 계산하는 방법에 대한 설명이 뒤따른다. 여기서 M }또는 이다 : :

먼저 이전 샘플에서  N  포인트  ,  로 시작하십시오.=   to   do % 반복 횟수는 추측 작업에 의해 선택된다.개의)   X    (- / N      - -      + L  w   Z  w를 가진 샘플 포인트로 저장 L   이상의 가능성을 유지하는 단계만 수락하면서 이전과 같이 일부 마르코프 체인 몬테 카를로 스텝으로 최소 가능성으로 점을 업데이트하십시오.  Z

각 반복에서 은(는) i {\i보다 큰 가능성을 가진 모든 점의 매개변수 공간에서 하이퍼볼륨으로 덮인 이전 질량의 양을 추정하는 것이다.The weight factor is an estimate of the amount of prior mass that lies between two nested hypersurfaces and ,M)=P \ _ 단계 Z Z + Z i 를 통해 합계를 계산하여 정수 근사치를 구한다.

In the limit , this estimator has a positive bias of order [4] which can be removed by using instead of the in the above algorithm.

The idea is to subdivide the range of and estimate, for each interval , how likely it is a priori that a randomly chosen would map to this interval. 이것은 베이지안인이 르베그 통합을 숫자로 구현하는 방법으로 생각할 수 있다.[5]

구현

중첩된 샘플링 알고리즘을 증명하는 구현 예제는 여러 프로그래밍 언어로 작성되어 공개적으로 다운로드할 수 있다.

  • C, R 또는 Python의 간단한 예는 존 스킬링의 웹사이트에 있다.[6]
  • 위의 간단한 코드의 하스켈 항구는 Hackage에 있다.[7]
  • 스펙트럼 장착을 위해 원래 설계된 R의 예는 에서 설명되며 GitHub에 있다.[9]
  • Diamonds라는 이름의 C++의 예는 GitHub에 있다.[10]
  • 통계물리학 응축물리학 용도에 대한 고도로 모듈화된 Python 병렬 사례는 GitHub에 있다.[11]
  • pymatnest는 서로 다른 소재의 에너지 경관을 탐색하기 위해 고안된 파이톤 패키지로 임의의 온도에서 열역학적 변수를 계산하고 위상 전환은 GitHub에 있다.[12]
  • MultiNest 소프트웨어 패키지는 다모드 후분포에서 중첩된 샘플링을 수행할 수 있다.[13]C++, Fortran, Python 입력을 위한 인터페이스를 가지고 있으며, GitHub에서 이용할 수 있다.[14]
  • PolyChord는 GitHub에서 사용할 수 있는 또 다른 중첩된 샘플링 소프트웨어 패키지다.[15]PolyChord의 연산 효율성은 MultiNest보다 매개변수 수가 증가함에 따라 더 잘 확장되며, 이는 PolyChord가 고차원적인 문제에 더 효율적일 수 있다는 것을 의미한다.[16]
  • 단일 및 다중-엘리프소이드 내포 샘플링 알고리즘 구현을 위한 Julia 패키지는 GitHub에 있다.[17]

적용들

2004년 중첩 표본 추출이 제안된 이후 천문학 분야의 여러 측면에서 활용되고 있다.한 논문은 "정확성, 일반적 적용성, 계산적 타당성이 독특하게 결합되어 있기 때문에 우주론적 모델 선택과 객체 탐지에 중첩된 샘플링을 사용할 것을 제안했다.[18]멀티모달 포스터오디오를 처리하기 위한 알고리즘의 정교화가 현존하는 데이터 집합에서 천문학적 물체를 감지하는 수단으로 제안되었다.[13]내포 표본 추출의 다른 적용은 알고리즘이 최적의 유한 요소 모델을 선택하기 위해 사용되는 유한 요소 업데이트 분야에 있으며, 이는 구조 역학에도 적용되었다.[19]이 샘플링 방법은 재료 모델링 분야에서도 사용되어 왔다.통계 역학으로부터 칸막이 기능을 배우고 열역학적 특성을 도출하는 데 사용할 수 있다.[20]

동적 내포 샘플링

동적 내포 표본 추출은 매개변수 공간의 서로 다른 영역에서 채취한 표본의 수를 동적으로 조정하여 계산 정확도를 극대화하는 내포 표본 알고리즘의 일반화다.[21]이는 샘플 할당을 변경할 수 없고 종종 계산 정확도에 거의 영향을 미치지 않는 지역에서 많은 샘플을 채취하는 원래의 중첩 샘플링 알고리즘과 비교할 때 정확도와 계산 효율의 큰 향상을 가져올 수 있다.

공개 가능한 동적 중첩 샘플링 소프트웨어 패키지에는 다음이 포함된다.

  • dynnsty - GitHub에서 다운로드할 수 있는 동적 중첩 샘플링의 파이썬 구현.[22][23]
  • DyPolyChord: Python, C++ 및 Fortran 우도 및 이전 배포와 함께 사용할 수 있는 소프트웨어 패키지.[24] DyPolyChord는 GitHub에서 사용할 수 있다.[25]

동적 내포 표본 추출은 중력파 분석,[26] 공간[27] 거리 매핑, 외부랜넷 검출 등 다양한 과학 문제에 적용됐다.[28]

참고 항목

참조

  1. ^ Skilling, John (2004). "Nested Sampling". AIP Conference Proceedings. 735: 395–405. Bibcode:2004AIPC..735..395S. doi:10.1063/1.1835238.
  2. ^ Skilling, John (2006). "Nested Sampling for General Bayesian Computation". Bayesian Analysis. 1 (4): 833–860. doi:10.1214/06-BA127.
  3. ^ Chen, Ming-Hui, Shao, Qi-Man, and Ibrahim, Joseph George (2000). Monte Carlo methods in Bayesian computation. Springer. ISBN 978-0-387-98935-8.{{cite book}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  4. ^ Walter, Clement (2017). "Point-process based Monte Carlo estimation". Statistics and Computing. 27: 219–236. arXiv:1412.6368. doi:10.1007/s11222-015-9617-y. S2CID 14639080.
  5. ^ Jasa, Tomislav; Xiang, Ning (2012). "Nested sampling applied in Bayesian room-acoustics decay analysis". Journal of the Acoustical Society of America. 132 (5): 3251–3262. Bibcode:2012ASAJ..132.3251J. doi:10.1121/1.4754550. PMID 23145609. S2CID 20876510.
  6. ^ 존 스킬링 웹사이트
  7. ^ Hackage의 Haskell에서 중첩된 샘플링 알고리즘
  8. ^ Bojan Nikolic 웹사이트의 R에서 중첩된 샘플링 알고리즘
  9. ^ GitHub의 R에서 중첩된 샘플링 알고리즘
  10. ^ GitHub의 C++에서 중첩된 샘플링 알고리즘
  11. ^ Python on GitHub의 중첩 샘플링 알고리즘
  12. ^ GitHub의 재료 시뮬레이션을 위한 중첩 샘플링 알고리즘
  13. ^ a b Feroz, F.; Hobson, M.P. (2008). "Multimodal nested sampling: an efficient and robust alternative to Markov Chain Monte Carlo methods for astronomical data analyses". MNRAS. 384 (2): 449–463. arXiv:0704.3704. Bibcode:2008MNRAS.384..449F. doi:10.1111/j.1365-2966.2007.12353.x. S2CID 14226032.
  14. ^ GitHub에 MultiNest 중첩된 샘플링 소프트웨어 패키지
  15. ^ GitHub에 PolyChord 중첩된 샘플링 소프트웨어 패키지
  16. ^ Handley, Will; Mike, Hobson; Anthony, Lasenby (2015). "polychord: next-generation nested sampling". Monthly Notices of the Royal Astronomical Society. 453 (4): 4384–4398. arXiv:1506.00171. Bibcode:2015MNRAS.453.4384H. doi:10.1093/mnras/stv1911. S2CID 118882763.
  17. ^ GitHub의 Julia에서 단일 및 다중 엘립소 내포 샘플링 구현
  18. ^ Mukherjee, P.; Parkinson, D.; Liddle, A.R. (2006). "A Nested Sampling Algorithm for Cosmological Model Selection". Astrophysical Journal. 638 (2): 51–54. arXiv:astro-ph/0508461. Bibcode:2006ApJ...638L..51M. doi:10.1086/501068. S2CID 6208051.
  19. ^ Mthembu, L.; Marwala, T.; Friswell, M.I.; Adhikari, S. (2011). "Model selection in finite element model updating using the Bayesian evidence statistic". Mechanical Systems and Signal Processing. 25 (7): 2399–2412. Bibcode:2011MSSP...25.2399M. doi:10.1016/j.ymssp.2011.04.001.
  20. ^ Partay, Livia B. (2010). "Efficient Sampling of Atomic Configurational Spaces". The Journal of Physical Chemistry B. 114 (32): 10502–10512. arXiv:0906.3544. doi:10.1021/jp1012973. PMID 20701382. S2CID 16834142.
  21. ^ Higson, Edward; Handley, Will; Hobson, Michael; Lasenby, Anthony (2019). "Dynamic nested sampling: an improved algorithm for parameter estimation and evidence calculation". Statistics and Computing. 29 (5): 891–913. arXiv:1704.03459. Bibcode:2019S&C....29..891H. doi:10.1007/s11222-018-9844-0. S2CID 53514669.
  22. ^ Dynesty 중첩된 샘플링 소프트웨어 패키지는 GitHub에 있다.
  23. ^ Speagle, Joshua (2020). "dynesty: A Dynamic Nested Sampling Package for Estimating Bayesian Posteriors and Evidences". Monthly Notices of the Royal Astronomical Society. 493 (3): 3132–3158. arXiv:1904.02180. doi:10.1093/mnras/staa278. S2CID 102354337.
  24. ^ Higson, Edward (2018). "dyPolyChord: dynamic nested sampling with PolyChord". Journal of Open Source Software. 3 (29): 965. doi:10.21105/joss.00965.
  25. ^ GitHub의 DyPolyChord 동적 중첩 샘플링 소프트웨어 패키지
  26. ^ Ashton, Gregory; et al. (2019). "Bilby: A User-friendly Bayesian Inference Library for Gravitational-wave Astronomy". The Astrophysical Journal Supplement Series. 241 (2): 13. arXiv:1811.02042. Bibcode:2019ApJS..241...27A. doi:10.3847/1538-4365/ab06fc. S2CID 118677076.
  27. ^ Zucker, Catherine; et al. (2018). "Mapping Distances across the Perseus Molecular Cloud Using {CO} Observations, Stellar Photometry, and Gaia {DR}2 Parallax Measurements". The Astrophysical Journal. 869 (1): 83. arXiv:1803.08931. doi:10.3847/1538-4357/aae97c. S2CID 119446622.
  28. ^ Günther, Maximilian; et al. (2019). "A super-Earth and two sub-Neptunes transiting the nearby and quiet M dwarf TOI-270". Nature Astronomy. 3 (12): 1099–1108. arXiv:1903.06107. Bibcode:2019NatAs...3.1099G. doi:10.1038/s41550-019-0845-5. S2CID 119286334.