Page 16 -
P. 16

7
                    키지 가 공개되어 있어 사용하기 쉽다. 하지만 WinBUGS는 오류 메시지를 이해하기가 매우 어
                    렵고 모델을 수정하기가 힘들다. 또한, 윈도용 프로그램만 공개되어 있으며 (Wine 시뮬레이터를
                    사용하면 macOS 등에서도 사용할 수 있다) 개발 자체도 2007년부터 정체돼 있어 앞으로 계속해                           1

                    사용할 수 있을지 불투명하다. JAGS는 비교적 사용하기 쉽지만 새 버전이 잘 나오지 않고 사용자
                    설명서나 사용 예가 충실하지 않다.
                    Stan은 앤드류 겔만(Andrew Gelman), 밥 카펜터(Bob Carpenter), 대니얼 리(Daniel Lee), 벤 굿리치       통계 모델링과 Stan 개요

                    (Ben Goodrich)를 포함한 여러 사람이 2012년부터 깃허브(GitHub)에서 활발히 개발하고 있는 확률
                                         9
                                      8
                    적 프로그래밍 언어다. [11]  WinBUGS나 JAGS와 마찬가지로 사후분포에서 표본을 추출한다.
                    R 인터페이스인 RStan 뿐만 아니라 Python이나 Matlab 인터페이스도 공개되어 있다.
                    Stan의 특징은 추정 계산 알고리즘에 MCMC의 일종인 해밀토니안 몬테칼로(Hamiltonian Monte
                    Carlo, HMC)의 한 가지 버전인 NUTS(No-U-Turn Sampler)를 사용하고 있다는 점이다. NUTS의

                    강점은 매개변수 수가 많은 경우에도 효과적으로 표본을 추출할 수 있다는 것이다. WinBUGS나
                    JAGS에서 실행했을 때와 비교하면 NUTS를 사용한 표본 추출의 1스텝이 계산량이 많아서 시간
                    이 더 걸리지만, 스텝 사이의 상관이 작다. 따라서 WinBUGS나 JAGS에서는 MCMC가 수렴하
                    기까지 100,000스텝 필요한 계산이 Stan에서는 1/100인 1,000스텝만으로 끝나는 경우가 많다.

                    전체적으로 계산 시간이 크게 짧아진다. 또한, WinBUGS나 JAGS에서 오류가 나서 표본 추출이
                    중간에 멈춰버리는 복잡한 모델도 Stan에서는 꽤 정상적으로 표본을 추출할 수 있다. 단, HMC
                    에서 이산 값을 가지는 매개변수를 다루는 이론이 지금은 존재하지 않으므로 Stan으로는 이산 값
                    을 가지는 매개변수를 미리 더해서 없애야 한다. 구체적인 방법은 11장에서 설명한다.

                    또한, Stan에서는 추정 계산에 변분 베이즈법의 한 가지 버전인 자동 미분 변분 추정(Automatic
                    Differentiation Variational Inference, ADVI)을 사용할 수도 있다. ADVI는 사후분포를 근사한 분포

                    에서 표본을 추출한다. 데이터 양이 매우 많고 모델도 복잡한 경우 NUTS에서는 현실적인 시간
                    안에 계산이 끝나지 않을 때가 있다. 이런 경우에는 ADVI가 좋다. 물론 모델에 따라 다르지만
                    NUTS와 비교해서 약 50배 빠른 속도로 추정 계산을 하는 경우도 보고되었다.               10






                    7 각각 R2WinBUGS, rjags이다.
                    8 공식 페이지: http://mc-stan.org/
                       Stan 사용자 설명서와 예제: http://mc-stan.org/documentation/
                       메일링 리스트: http://mc-stan.org/contact/
                       깃허브 저장소: https://github.com/stan-dev
                    9 [1], [2]. [3], …은 참고 문헌으로 이 책의 339쪽에서 찾아볼 수 있다.
                    10 일본 사이트: https://bit.ly/2GEQGAo

                                                                                                  027







     1데이터분석을위한베이지안통계모델링.indd   27                                                            2019. 3. 14.   오후 8:32
   11   12   13   14   15   16   17   18   19   20   21