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

Matplotlibで95%信頼区間を視覚化する方法

Matplotlibで95%信頼区間を視覚化する方法

データ分析や統計グラフにおいて、信頼区間(Confidence Interval)の視覚化は、データのばらつきや不確実性を直感的に伝えるために非常に重要です。Pythonの可視化ライブラリ「Matplotlib」では、fill_between()メソッドを活用することで、信頼区間の範囲を半透明の帯として簡単に描画できます。

ここでは、95%の信頼区間を含むグラフを作成するための基本的な手順を紹介します。

  1. 図のサイズとレイアウトを設定するrcParamsを使って図のサイズを指定し、サブプロット間および周囲の余白を自動調整します。
  2. xデータとyデータを作成する — NumPyのarange()sin()などを利用してサンプルデータを生成します。
  3. 信頼区間を計算する — データの標準偏差と平均値をもとに、信頼区間の幅を算出します。
  4. plot()メソッドでデータをプロットする — 元となるx・yのデータ点を線グラフとして描画します。
  5. fill_between()で信頼区間の範囲を塗りつぶすy-ciからy+ciまでの領域を半透明の色で塗りつぶします。
  6. show()メソッドで図を表示する

コード例

from matplotlib import pyplot as plt
import numpy as np

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

x = np.arange(0, 10, 0.05)
y = np.sin(x)

# 信頼区間を定義
ci = 0.1 * np.std(y) / np.mean(y)

plt.plot(x, y, color='black', lw=7)

plt.fill_between(x, (y-ci), (y+ci), color='blue', alpha=0.5)

plt.show()

コードのポイント

ci = 0.1 * np.std(y) / np.mean(y) の部分では、標準偏差を平均値で割った相対的なばらつきに係数0.1を掛けることで、信頼区間の幅を定義しています。実際の分析では、有意水準やサンプルサイズに応じて適切な区間幅を計算してください。

また、fill_between()alpha=0.5を指定することで塗りつぶし領域が半透明になり、元のデータラインが見えにくくなるのを防げます。color引数を変更すれば、信頼区間の帯の色も自由にカスタマイズできます。

出力結果

Matplotlibで95%信頼区間を視覚化する方法

このように、黒い太線で示した元データの周りに青色の半透明な帯が表示され、95%の信頼区間が一目でわかるグラフが完成します。実験データや予測結果の不確実性を表現したい場合に、ぜひ活用してみてください。

  1. Matplotlibでpcolormeshをアニメーション化する方法【コード例付き解説】

    Matplotlibでpcolormesh(擬似カラープロット)をアニメーション化する方法を、具体的な手順とサンプルコード付きで解説します。 アニメーション化の基本的な流れ pcolormeshをアニメーションさせるには、以下の手順に従います。 figureオブジェクトとサブプロットを作成する numpyを使ってx、y、tのデータポイントを生成する meshgrid関数で座標ベクトルから座標行列(X3、Y3、T3)を作成する pcolormesh()メソッドを使って、不規則な矩形グリッド上に擬似カラープロットを描画する カラーバーをfigureに追加する FuncAnimationクラスを使

  2. Matplotlibで折れ線グラフをアニメーション化する方法を徹底解説

    Matplotlibでは、FuncAnimationを活用することで、折れ線グラフに動きのあるアニメーション効果を簡単に加えることができます。本記事では、基本的な手順と実際に動作するサンプルコードを交えながら、その方法をわかりやすく解説します。折れ線グラフをアニメーション化する基本手順subplots()メソッドを使用して、図(figure)とサブプロットを作成します。x軸・y軸それぞれの表示範囲(スケール)を設定します。NumPyを使って、xおよびtのデータ点を生成します。座標ベクトルからmeshgrid()で座標行列X2とT2を作成します。plot()メソッドでxとFのデータを使い、折れ線