Page 12 -
P. 12
또한, size 인수는 여러분이 모델링하고 싶은 변수가 많아서 성가신 경우(β i , i = 1, ..., N)를 해결
해준다. 각각에 대해 이름과 변수를 만드는 대신, 2
beta_1 = pm.Uniform(“beta_1”, 0, 1)
beta_2 = pm.Uniform(“beta_2”, 0, 1) PyMC 더 알아보기
...
다음과 같이 모든 변수를 하나의 변수로 만들 수 있다.
betas = pm.Uniform(“betas”, 0, 1, size=N)
random( ) 호출하기
우리는 stochastic 변수의 random() 메서드를 호출할 수 있고, (부모변수 값이 주어졌다는 가정 하
에) 새 난수값을 만들 수 있다. 1장에서 사용한 문자 메시지 예제를 사용하여 이것을 보여주겠다.
여기서 이것이란 앞 문장의 난수를 보여주는 걸 말한다.
lambda_1 = pm.Exponential(“lambda_1”, 1) # 첫 번째 행동의 사전확률
lambda_2 = pm.Exponential(“lambda_2”, 1) # 두 번째 행동의 사전확률
tau = pm.DiscreteUniform(“tau”, lower=0, upper=10) # 행동 변화에 대한 사전확률
print(“Initialized values...”)
print(“lambda_1.value = %.3f” % lambda_1.value)
print(“lambda_2.value = %.3f” % lambda_2.value)
print(“tau.value = %.3f” % tau.value, “\n”)
print(lambda_1.random(), lambda_2.random(), tau.random())
print(“After calling random() on the variables...”)
print(“lambda_1.value = %.3f” % lambda_1.value)
print(“lambda_2.value = %.3f” % lambda_2.value)
print(“tau.value = %.3f” % tau.value)
결과
Initialized values...
lambda 1.value: 0.813
lambda 2.value: 0.246
tau.value: 10.000
051
베이지안_11.indd 51 2017-11-17 오전 11:07:14