2016-12-24 19 views
1

私はPython3で切り捨て正規分布scipyを使用しようとしています。切り捨てられ、通常のPDFは0.5でプロットを中心と0から1までの私は、次のコード行を持ってPythonで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)]) 

しかし、これは素敵な釣鐘型の確率分布を与えるものではありません:私は、単純な何かをしたいです私が期待する機能です。むしろ、それは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