더북(TheBook)

모델에 관측값을 포함하는 작업을 1장의 개념 틀에 맞추기 위해(약간 개념의 남용이긴 하지만) P(A)를 구체적으로 지정했다. 다음 목표는 데이터/증거/관측치 X를 모델에 포함시키는 것이다. 다음 번에는 이를 모델링한다.

PyMC 확률변수는 불(boolean, 기본값은 false)을 받는 추가 키워드 인수 observed를 가진다. 키워드 observed의 역할은 간단하다. 변수의 현재 값을 고정하는 역할, 즉 값을 변경 불가능하게 만든다. 우리는 변수 생성 시, 대표적으로 배열 생성 시(속도를 위해 Numpy 배열이어야 한다) 초기값을 명시해야 하며, 우리가 포함하고자 하는 관측값과 같아야 한다. 예를 들면 다음과 같다.

 


data = np.array([10, 5])
fixed_variable = pm.Poisson("fxd", 1, value=data, observed=True)
print("value: ", fixed_variable.value)
print("calling .random()")
fixed_variable.random()
print("value: ", fixed_variable.value)

 

 

결과

value:  [10  5]
calling .random()
value:  [10  5]

 

이는 데이터를 모델에 포함시키는 방법이다. 확률변수가 고정값(fixed value)을 갖도록 초기화하는 것이다.

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