2016-12-24 4 views
1

파이썬 3에서 scipy으로 절단 된 정규 분포를 사용하려고합니다. 플롯 0.5를 중심으로 0에서 1까지 나는파이썬에서 scipy로 정규 분포를 잘라 냈습니다.

from scipy import truncnorm 
import matplotlib.pyplot as plt 
plt.plot([truncnorm.pdf(p,0,1, loc=0.5) for p in np.arange(0,1.1,0.1)]) 

그러나 코드 행 다음에 한 잘린 정상의 PDF,이 좋은 종 모양의 확률 분포를 제공하지 않습니다 : 나는 간단한 무언가를 할 기능을 기대합니다. 오히려 0.5 이전에 0과 같으므로 그 이유를 알 수 없습니다. 이것에 대한 조언?

답변

3

다음 절차에 따라 truncnorm의 문서를 참조하십시오.

# user input 
myclip_a = 0 
myclip_b = 1 
my_mean = 0.5 
my_std = 0.3 

a, b = (myclip_a - my_mean)/my_std, (myclip_b - my_mean)/my_std 
x_range = np.linspace(-1,2,1000) 
plt.plot(x_range, truncnorm.pdf(x_range, a, b, loc = my_mean, scale = my_std)) 

enter image description here