2017-09-23 6 views
0

Pythonで標準正規分布(平均= 0、標準偏差= 1)曲線を作成し、次にZ-スコアの左、右、中央に陰影領域を作成したいと考えています。私はまた、陰影付きの領域でzスコアと関連する確率を印刷したいと思っています。Pythonの標準正規分布

言う例えば、私が興味を持って斜線領域は、次のとおり

確率(Z < -0.75)

Probability(z < -0.75)

確率(Z> 0.75)

Probability(z > 0.75)

確率(-0.75 <z < 0.75)

Probability(-0.75 < z < 0.75)

Iは、標準正規分布曲線を作成するために、次の行を使用します。どのようにして、関連するzスコアに影を付けた領域を追加し、zスコアと確率を印刷することができますか?

def draw_z_score(x, cond, mu, sigma, title): 
    y = norm.pdf(x, mu, sigma) 
    z = x[cond] 
    plt.plot(x, y) 
    plt.fill_between(z, 0, norm.pdf(z, mu, sigma)) 
    plt.title(title) 
    plt.show() 

import numpy as np 
import matplotlib.pyplot as plt 
from scipy.stats import norm 

range = np.arange(-3,3,0.001) 
plt.plot(range, norm.pdf(range, 0, 1)) 
plt.show() 
+0

「アレンジ」または「アレンジ」は、タイプミスですか? – eyllanesc

+0

アレンジ。申し訳ありません...私はそれを修正しました。 – arqchicago

+0

それは動作します!ありがとう! – arqchicago

答えて

2

次の関数を作成したタスクを容易にするため、y = 0y = normal distributionの間、この場合には、2つの曲線間の領域を描画するfill_between機能を使用する必要があります。例:

x = np.arange(-3,3,0.001) 
z0 = -0.75 
draw_z_score(x, x<z0, 0, 1, 'z<-0.75') 

出力:

enter image description here


x = np.arange(-3,3,0.001) 
z0 = 0.75 
draw_z_score(x, (-z0 < x) & (x < z0), 0, 1, '-0.75<z<0.75') 

出力:

enter image description here


x = np.arange(-3,3,0.001) 
z0 = 0.75 
draw_z_score(x, x > z0, 0, 1, ' z> 0.75') 

出力:

enter image description here

関連する問題