모델에 관측값을 포함하는 작업을 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)을 갖도록 초기화하는 것이다.