Page 13 -
P. 13
After calling random() on the variables...
lambda 1.value: 2.029
lambda 2.value: 0.211
tau.value: 4.000
random() 호출은 변수의 value 속성에 새 값을 저장한다.
deterministic 변수
여러분이 모델링하려는 변수는 대부분 확률변수라서 우리는 pymc.deterministic 래퍼를 사용하
여 deterministic 변수를 구분한다. (만일 여러분이 파이썬 래퍼(데코레이터라고도 부르는)에 익숙
하지 않아도 괜찮다. 그저 변수 선언 앞에 pymc.deterministic를 두면 된다. 더 알 필요는 없다.)
파이썬함수를 사용하여 deterministic 변수를 선언한다.
@pm.deterministic
def some_deterministic_var(v1=v1,):
#jelly goes here.
어떤 용도든 간에 some_deterministic_var 객체를 파이썬함수가 아니라 변수로 사용할 수 있다.
deterministic 변수를 만드는 가장 쉬운 방법은 래퍼를 앞에 두는 것이지만, 유일한 방법은 아니
다. 기본적인 연산, 가령 덧셈, 지수 등은 암묵적으로 deterministic 변수를 만든다. 예를 들어 다
음 코드는 덧셈 연산으로 deterministic 변수가 반환된 것을 볼 수 있다.
type(lambda_1 + lambda_2)
결과
pymc.PyMCObjects.Deterministic
deterministic 래퍼는 1장의 문자 메시지 예제에서 사용해보았다. λ 모델이 어떤 모습이었는지
생각해보자.
052
베이지안_11.indd 52 2017-11-17 오전 11:07:14