Page 15 -
P. 15

런 상황을 타파한 것이 확률적 프로그래밍 언어(probabilistic programming language)다. 확률적 프로
               그래밍 언어란 ‘여러 가지 확률분포함수와 가능도 계산에 특화된 함수가 풍부하게 준비되어 있고,
               확률 모델을 데이터에 맞추는 것을 주목적으로 한 프로그래밍 언어’다. 사용자는 모델을 프로그래

               밍 코드로 작성하고 데이터를 넘기기만 하면 된다. 그러면 확률적 프로그래밍 언어에서 거의 자동
               으로 매개변수 값을 추정해 준다. 이런 모델 작성과 어려운 추정 계산을 분리함으로써 모델의 가
               독성이 높아지고 버그가 생길 가능성이 매우 작아지며, 분석자는 모델을 코드로 작성하는 시행착
               오에 전념할 수 있게 된다. 특히 여러 개의 모델을 시험하는 상황에서 확률적 프로그래밍 언어가
               진가를 발휘한다.

                                                                                 3
               단순한 모델이라면 확률적 프로그래밍 언어까지 사용할 필요 없이 R의 기본적인 함수 를 사용해
               매개변수 값을 추정할 수 있다. 추정 결과도 확률적 프로그래밍 언어를 사용했을 때와 같다. 자세
                                                                                      4
               한 내용은 8장에서 설명하겠지만 그룹차나 개인차를 고려한 복잡한 모델이라도 기존 R 패키지 를
               사용하면 대처할 수 있는 경우가 있다. 하지만 패키지와 함수별로 사용 방법이 달라서 각각을 전
               부 기억해야 하는 것이 상당히 수고롭다. 또한, 실제 데이터를 분석할 때 패키지와 함수 중에서 적
               절한 모델을 찾아내야 한다. 그리고 무엇보다 그중에 적절한 모델이 없으면 분석을 진행할 수 없

               다. 기존 R 패키지는 모델 확장성이 낮기 때문이다. 따라서 개별 패키지와 함수별로 사용 방법을
               습득하는 것보다는 조금 돌아가더라도 처음부터 확률적 프로그래밍 언어를 배워 통일된 모델 작
               성과 실행 방법을 배우는 것이 크게 보았을 때 편리하고 더 이익이다.






               1.4        왜 Stan인가?                         MODELING WITH ST AN







                                                                         5
                                                                                 6
               수많은 확률적 프로그래밍 언어 중에서 지금까지 주류였던 것은 WinBUGS 나 JAGS  소프트웨
               어다. 이 둘은 MCMC 알고리즘을 사용해 매개변수 추정 계산을 수행하고, 추정 결과는 사후분포
               에서 추출한 MCMC 표본의 형태로 얻을 수 있다(2장 참조). 두 소프트웨어 모두 R 인터페이스 패





               3 lm( ), glm( ) 등이 있다.
               4 glmmML, lme4, nlme, MCMCpack, bayesm 등이 있다.
               5 https://bit.ly/2RhAgC1
               6 http://mcmc-jags.sourceforge.net/

         026







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