Python で対数正規分布を使用する方法
Python でSciPyライブラリのlognorm()関数を使用すると、対数正規分布に従う確率変数を生成できます。
次の例は、この関数を実際に使用する方法を示しています。
対数正規分布を生成する方法
次のコードを使用すると、μ = 1 および σ = 1 の対数正規分布に従う確率変数を生成できます。
import math
import numpy as np
from scipy. stats import lognorm
#make this example reproducible
n.p. random . seed ( 1 )
#generate log-normal distributed random variable with 1000 values
lognorm_values = lognorm. rvs (s= 1 , scale=math. exp ( 1 ), size= 1000 )
#view first five values
lognorm_values[:5]
array([13.79554017, 1.47438888, 1.60292205, 0.92963, 6.45856805])
lognorm.rvs()関数のsは標準偏差、 math.exp()の値は生成する対数正規分布の平均であることに注意してください。
この例では、平均を1に設定し、標準偏差も1に設定します。
対数正規分布をプロットする方法
次のコードを使用して、前の例で作成した対数正規分布確率変数の値のヒストグラムを作成できます。
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ')
Matplotlib のデフォルトのヒストグラムのビン数は 10 ですが、 bins引数を使用してこの数を簡単に増やすことができます。
たとえば、ビンの数を 20 に増やすことができます。
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ', bins= 20 )
ボックスの数が増えるほど、ヒストグラム内のバーの幅は狭くなります。
関連: Matplotlib ヒストグラムのビン サイズを調整する 3 つの方法
追加リソース
次のチュートリアルでは、Python で他の確率分布を使用する方法を説明します。