Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonとMatplotlibでアルファ・ベータパラメータを使ってガンマ分布をプロットする方法

Pythonでアルファ(α)とベータ(β)のパラメータを指定してガンマ分布をプロットするには、scipy.statsモジュールのgamma.pdf()関数を使用します。ガンマ分布は、形状パラメータαと尺度パラメータβによってその形が決まる連続型の確率分布であり、待ち時間のモデル化など幅広い分野で利用されています。

手順

  • plt.rcParams を使って図のサイズを設定し、サブプロット周辺の余白を自動調整します。

  • numpy の linspace() でx軸の値を生成し、gamma.pdf() 関数にxとパラメータを渡して、対応する確率密度yを計算します。

  • plot() メソッドを使って、xとyのデータ点をプロットします。

  • legend() メソッドを使って、グラフに凡例を表示します。

  • show() メソッドを呼び出して、図を画面に表示します。

コード例

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

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(0, 10, 10)
y = stats.gamma.pdf(x, a=5, scale=0.333)

plt.plot(x, y, "ro-", label=(r'$\alpha=0, \beta=3$'))
plt.legend(loc='upper right')

plt.show()

実行結果

PythonとMatplotlibでアルファ・ベータパラメータを使ってガンマ分布をプロットする方法

ポイント解説

scipy.stats.gamma では、引数 a が形状パラメータ(α)に対応し、scale 引数にはベータ(β)の逆数である 1/β を指定します。上記の例では scale=0.333 を設定しているため、β ≈ 3 のガンマ分布が描画されます。

また、np.linspace(0, 10, 10) のように点の数が少ないと曲線が粗くなるため、より滑らかな分布曲線を描きたい場合は、np.linspace(0, 10, 100) のようにサンプル点を増やすことをおすすめします。

  1. Matplotlibで2本の点線をプロットする方法|マーカー・線種・凡例の設定も解説

    はじめに この記事では、Pythonの可視化ライブラリ「Matplotlib」を使って、2本の線を1つのグラフに描画し、それぞれに異なる線種(点線・破線)や色、太さを設定する方法を解説します。 コーディングを始める前に、まず次のコマンドでMatplotlibをインポートしておきましょう。 import matplotlib.pyplot as plt Pyplotは、MatplotlibをMATLABのように直感的に操作できるようにするためのコマンドスタイル関数のコレクションです。グラフの描画からラベル付けまで、ほとんどの操作をこのモジュール経由で行います。 アルゴリズム(処理の流れ) ステ

  2. Python Matplotlibでカスタムカラーとカスタム領域サイズを使って4D散布図をプロットする方法

    はじめに散布図(Scatter Plot)は、2つの変数間に関係性があるかどうかを確認するために、2次元データを視覚化する際に非常に便利なグラフです。散布図では、データがX値とY値を持つ点(ドット)として表現されます。実装手順1. matplotlibのインストールまず、以下のコマンドでmatplotlibをインストールします。pip install matplotlib2. matplotlibのインポートimport matplotlib.pyplot as plttennis_stats = ((Federer, 20),(Nadal, 20),(Djokovic, 17),(Sampr