더북(TheBook)

stochastic 변수 초기화

stochastic 변수를 초기화할 때 첫 인수는 변수의 이름을 나타내는 문자열이다. 그리고 구체적인 클래스를 가리키는 추가적인 인수도 필요하다. 예를 들어

 


some_variable = pm.DiscreteUniform(“discrete_uni_var”,0,4)

 

여기서 0과 4는 DiscreteUniform 고유의 난수 하한선과 상한선이다. PyMC 문서(http://pymc-devs.github.com/pymc/distributions.html)에는 stochastic 변수의 특정 매개변수 내용이 담겨 있다(IPython을 사용하고 있다면 ??를 입력해보라).

name 인수는 분석 후반에 사후확률분포를 가져올 때 사용하므로 설명하는 이름을 사용하는 것이 좋다. 필자는 대개 파이썬 변수의 이름을 사용한다.

변수를 여러 개 다루는 문제에서 확률변수 배열을 파이썬 배열로 만드는 대신 size 키워드를 설정하면 (독립적인) 확률변수의 배열이 만들어진다. 배열은 하나처럼 사용될 때 Numpy 배열처럼 작동하며, value 속성 참조는 Numpy 배열을 반환한다.

또한, size 인수는 여러분이 모델링하고 싶은 변수가 많아서 성가신 경우(βi, i = 1, …, N)를 해결해준다. 각각에 대해 이름과 변수를 만드는 대신,

 


beta_1 = pm.Uniform(“beta_1”, 0, 1)
beta_2 = pm.Uniform(“beta_2”, 0, 1)
…

 

다음과 같이 모든 변수를 하나의 변수로 만들 수 있다.

 


betas = pm.Uniform(“betas”, 0, 1, size=N)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.