目次
SciPy
前回、PythonのSciPyでガウス分布(正規分布)のグラフを描く方法を紹介しました。
【SciPy】ガウス分布(正規分布)のグラフを描く方法[Python]
SciPy 前回、PythonのSciPyを使ってSavitzky-Golay法によるデータの平滑化、一次微分、二次微分の方法を紹介しました。 今回はSciPyを使ってガウス分布(正規分布)のグ…
今回は同じく「scipy.stats」を使って他の色々な分布を描く方法を紹介します。
私自身は数学的な意味はよく理解をしていないので割愛します。
別途調べてもらえると助かります。
それでは始めていきましょう。
ベータ分布
ベータ分布を作成するには「scipy.statsのbeta」をインポートし、「beta.pdf(xのリスト, a, b)」です。
from scipy.stats import beta
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-1, 1, 0.01)
y1 = beta.pdf(x, 1, 3)
y2 = beta.pdf(x, 2, 3)
y3 = beta.pdf(x, 1, 6)
fig = plt.figure()
plt.clf()
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()
実行結果
χ二乗分布
χ二乗分布を作成するには「scipy.statsのchi2」をインポートし、「chi2.pdf(xのリスト, df)」です。
from scipy.stats import chi2
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 10, 0.01)
y1 = chi2.pdf(x, 1)
y2 = chi2.pdf(x, 2)
y3 = chi2.pdf(x, 3)
fig = plt.figure()
plt.clf()
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()
実行結果
f分布
f分布を作成するには「scipy.statsのf」をインポートし、「f.pdf(xのリスト, dfn, dfd)」です。
from scipy.stats import f
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 10, 0.01)
y1 = f.pdf(x, 1, 3)
y2 = f.pdf(x, 2, 3)
y3 = f.pdf(x, 1, 6)
fig = plt.figure()
plt.clf()
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()
実行結果
ガンマ分布
ガンマ分布を作成するには「scipy.statsのgamma」をインポートし、「gamma.pdf(xのリスト, a)」です。
from scipy.stats import gamma
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 10, 0.01)
y1 = gamma.pdf(x, 1)
y2 = gamma.pdf(x, 2)
y3 = gamma.pdf(x, 1, 3)
fig = plt.figure()
plt.clf()
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()
実行結果
t分布
t分布を作成するには「scipy.statsのt」をインポートし、「t.pdf(xのリスト, df)」です。
from scipy.stats import t
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 10, 0.01)
y1 = t.pdf(x, 1)
y2 = t.pdf(x, 5)
y3 = t.pdf(x, 1, 5)
fig = plt.figure()
plt.clf()
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()
実行結果
一様分布
一様分布を作成するには「scipy.statsのuniform」をインポートし、「uniform.pdf(xのリスト)」です。
from scipy.stats import uniform
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 10, 0.01)
y1 = uniform.pdf(x, 1)
y2 = uniform.pdf(x, 5)
y3 = uniform.pdf(x, 1, 5)
fig = plt.figure()
plt.clf()
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()
実行結果
ここで紹介した分布はごく一部です。
他の分布に関してはこちらのページで確認してみてください。
次回はmatplotlibで斜体(イタリック)文字、上付き文字、下付き文字を使う方法を紹介します。
【matplotlib】斜体(イタリック)文字、上付き文字、下付き文字を使う方法[Python]
matplotlib 前回、PythonのSciPyでscipy.statsを使った色々な分布の描き方を紹介しました。 今回はmatplotlibで斜体(イタリック)文字、上付き文字、下付き文字を使う…
ではでは今回はこんな感じで。
コメント