2017-11-20 13 views
0

対数正規分布の等価性を正規分布の指数で見たいと思っています。私は、次のパラメータ化次に、対応するドキュメントからscipyのダウンロードパッケージを使用します。lognormalとexp(normal)の確率密度の等価性

s = sigma 
scale = exp(mu) 

ここthe linkです。私はこのパラメータ化を使用するとき、対数正規分布をプロットすることから正規分布と対数正規分布の対数をプロットすることから偏差を見つけることはないと思います。私はフォローしようとしました:

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

mu = 0.5 
sigma = 0.2 

x1 = np.linspace(norm.ppf(0.01, loc = mu, scale = sigma), 
      norm.ppf(0.99, loc = mu, scale = sigma), 100) 
y1 = norm.pdf(x1, loc = mu, scale = sigma) 

x2 = np.linspace(lognorm.ppf(0.01, s = sigma, scale = np.exp(mu)), 
      lognorm.ppf(0.99, s = sigma, scale = np.exp(mu)), 100) 
y2 = lognorm.pdf(x2, s = sigma, scale = np.exp(mu)) 

fig, ax = plt.subplots(2, 1) 
ax[0].plot(x1,y1, label = "normal") 
ax[0].plot(np.log(x2), y2, label = "lognormal") 
ax[0].grid() 
ax[0].legend() 

ax[1].plot(np.exp(x1),y1, label = "normal") 
ax[1].plot(x2, y2, label = "lognormal") 
ax[1].grid() 
ax[1].legend() 

fig.show() 

ご覧のとおり、曲線は同じではありません。 SciPyの文書は間違っていますか?別のパラメータを使用する必要がありますか、あるいは間違いがないと私は考えていますか?

答えて

0

ax[1].plot(np.exp(x1), y1, label = "normal") 

は、地図X-> EXP(X)の誘導体の逆数であるので、EXP(-x)が表示され

plot(np.exp(x1), y1*np.exp(-x1), label = "normal") 

であるべきです。逆に逆マップ(log y) '= 1/yの派生ですが、x変数で表現されます。

同様に、

plot(np.log(x2), y2, label = "lognormal") 

は、我々は、対数の誘導体によって1/X2で、すなわち、除算を分割

plot(np.log(x2), y2*x2, label = "lognormal") 

であるべきです。

変数が変更された後の確率密度関数に、この係数が微係数で表示される理由を確認するには、たとえばthese notesを参照してください。簡単な説明は "Calculus 1からの連鎖規則"です。