2017-01-28 1 views
0

기본적으로 사용자 지정 배포본에 대해 혼란 스럽습니다. 기본적으로 작동 방식에 대해 머리를 감쌀 수 없기 때문입니다. 아마 그것에 대한 게시물은 매우 유용 할 것입니다.PymC3에서의 사용자 지정 배포 특정 예제

I은 ​​25 % 확률

0 75 %의 확률로 5 %로

15 % -5 %의 조합 인 분포를 만들려고하고

페이지 3-11의 Crystal Ball Tutorial.pdf에 주어진 문제를 근본적으로 해결하려고합니다.

어떻게 할 지 알려주세요.

답변

0

어떻게 이런 일을에 대해 다음과 같이

with pm.Model() as model: 
    idx = pm.Uniform('idx', 0, 1) 
    a = pm.Uniform('a', np.array([-15, 0]), np.array([-5, 5]), shape=2) 
    b = pm.Deterministic('b', pm.math.switch(idx < 0.25, a[0], a[1])) 
    step = pm.Metropolis() 
    trace = pm.sample(1000, step) 
0

당신은 pymc3Mixture 분배하여이 작업을 수행 할 수 있습니다

내가 생각하는 다음과 같은 분포를 생산
import numpy as np 
import pymc3 as pm 

with pm.Model() as model: 
    dist = pm.Mixture('dist', np.array([0.25, 0.75]), 
         [pm.Uniform.dist(-0.15, -0.05), pm.Uniform.dist(0., 0.05)]) 

N = 10000 
samples = dist.random(size=10000) 

무엇을 당신 찾고 있습니다

distribution histogram

관련 문제