아주 간단한 질문 : @pm.stochastic
을 어떻게 사용해야합니까?PyMC에서 @ pm.stochastic을 어떻게 사용해야합니까?
@pm.stochastic(observed=True)
def loglike(value=data):
# some calculations that generate a numeric result
return -np.log(result)
내가 최근에 시도했지만 정말 나쁜 결과를 찾았 : 나는 @pm.stochastic
가 음의 로그 값을 기대 주장 일부 블로그 게시물을 읽었습니다. 또한 어떤 사람들은 -np.log 대신 np.log를 사용했음을 알게되었으므로 나는 그것을 시도하고 훨씬 잘 작동했습니다. 무엇이 실제로 @pm.stochastic
을 기대하고 있습니까? 이 장식은 value
인수하고있다 무엇을 : 나는 인해 -np.log(1+t_1-t_0)
또 다른 질문으로 작성되었습니다 np.log(1/(1+t_1-t_0))
같은 것을 사용하여 매우 인기있는 예에 사인 요구에 작은 혼란이 있었다 같은데요? 내가 이해할 수있는대로, 우리는 가능성에 들어가야하는 사전사들에게 제안 된 가치로 시작하고 @pm.stochastic
이라는 아이디어는 기본적으로 샘플링 과정에서 이전 반복에 의해 생성 된 수와이 가능성을 비교하기위한 숫자를 생성합니다. 가능성은 value
인수와 사도에 대한 몇 가지 값을 받아야하지만이 그 유일한 필수 인수이기 때문에 모든 value
이하고있는 경우 잘 모르겠어요 아직 내가 쓸 수 있습니다 :까지로
@pm.stochastic(observed=True)
def loglike(value=[1]):
data = [3,5,1] # some data
# some calculations that generate a numeric result
return np.log(result)
을 그리고 나는 그것이 이전과 같은 결과를 만들어 낸다고 말할 수 있습니다. 어쩌면, 장식 자에게 observed=True
을 추가했기 때문에 이런 방식으로 작동합니다. 이 값을 기본적으로 observed=False
이라는 확률 변수로 시도한 경우 각 반복마다 더 나은 가능성을 얻기 위해 value
이 변경됩니다.
감사합니다. 당신의 대답에서'@ pm.stochastic'은 함수가 np.log 값을 반환 할 것으로 기대합니다. 이 올바른지? 첫 번째 예제 인'@ pm.stochastic'에서'a'를 샘플링하기 위해 어떤 배포판을 사용 했습니까?샘플링 프로세스가'1'을 선택하면, 변수'a'는 예외를 발생시킬 것입니까? –
Q1 : 올바른, 로그 가능도 값. Q2 : 첫 번째 분포는 정규화되지 않은 삼각형 분포입니다. Q3 : 예, 대립 가능성이 - 무한하기 때문입니다. –
좋아요. 고맙습니다! –