本文へ移動
Visualizing.JP

バイオリン・プロット(Violin Plot)

バイオリン・プロット(Violin Plot)は、データの分布と統計的要約を同時に視覚化できるグラフです。

目次
  1. 01別名
  2. 02歴史的経緯
  3. 03データ構造
  4. 04目的
  5. 05ユースケース
  6. 06特徴
  7. 07チャートの見方
  8. 08デザイン上の注意点
  9. 09応用例
  10. 10代替例
  11. 11まとめ
  12. 12参考・出典

バイオリン・プロット(Violin Plot)は、データの分布と統計的要約を同時に視覚化できるグラフです。箱ひげ図(Box Plot)の構造を基礎にしつつ、データの分布形状をカーネル密度推定(Kernel Density Estimation, KDE)によって滑らかに表現します。

データの中央値や四分位範囲といった要約統計量に加え、分布の形状を滑らかに示すことで、より直感的に「データの山(モード)」や「広がり」「偏り」を読み取ることができます。

各カテゴリーやグループごとに分布の形が左右対称の「バイオリン」のように描かれるため、この名が付けられました。

別名

なし

歴史的経緯

Violin Plotは、1990年代初頭にヒューバー(Huber, 1993)やHintzeとNelson(1998)らによって提案された比較的新しい可視化手法です。箱ひげ図が主に四分位範囲(IQR)に注目するのに対し、より詳細な 分布の形(多峰性・歪みなど) を可視化する目的で生まれました。

その後、PythonのMatplotlibやSeaborn、Rのggplot2など、主要なデータ可視化ライブラリで標準的にサポートされるようになり、統計・機械学習分野で広く利用されています。

データ構造

Violin Plotは主に以下のデータ構造を扱います:

要素内容
変数(X軸)カテゴリ変数(グループ、条件など)
値(Y軸)連続変数(測定値、スコアなど)
密度情報各グループの連続値分布をKDEで推定

目的

バイオリン・プロットの目的は カテゴリごとのデータ分布を直感的に比較する ことです。特に以下のような場合に有効です:

  • サンプル数が多く、ヒストグラムでは比較が難しい場合
  • 箱ひげ図では見えない分布形状(多峰性や歪度)を確認したい場合
  • グループ間の中央値・広がり・分布形を総合的に比較したい場合

バイオリン・プロットは、単なる箱ひげ図よりも 分布の形状やモードの数を視覚的に把握できる 点が優れています。
特に以下のような場面で有用です。

  • グループごとのデータ分布を比較するとき(例:性別別テストスコア)
  • データが正規分布でない場合や複数モードを持つ場合
  • サンプル数の多いデータにおける偏りの可視化

ユースケース

  • 実験条件ごとの測定値分布(例:薬剤A vs 薬剤Bの反応時間)
  • 学生のテストスコアの学科別比較
  • モデル予測誤差の分布比較(機械学習評価)
  • SNSデータや経済データの分布特性分析

特徴

特徴説明
箱ひげ図+密度分布中央値・IQRとともに分布形を表示
多峰性の把握分布が一様でない場合も視覚的に認識可能
空間効率が高い対称形により複数グループを比較しやすい
個別点の重ね合わせSwarmplotやStripplotとの併用で情報量を増加

チャートの見方

バイオリン・プロットは、中心に箱ひげ図の要素を含み、両側に分布を反映した「バイオリン(弦楽器)」のような形状が描かれます。以下の要素で構成されます。

要素意味
外形(バイオリン部分)データの分布密度を示す(左右対称のカーネル密度曲線)
太線(中央の黒線など)中央値(Median)を示す
箱(四分位範囲)第1四分位(Q1)から第3四分位(Q3)の範囲を示す
上下のひげ(Whisker)外れ値を除いたデータ範囲を示す
点(外れ値)分布から大きく外れた値を示す

デザイン上の注意点

  • スムージング(bandwidth)の設定に注意:過度に平滑化すると特徴が失われ、狭すぎるとノイズが強調されます。
  • サンプルサイズが極端に小さい場合は、密度推定が不安定になるため、箱ひげ図やドットプロットの方が適します。
  • 非対称プロットを用いる場合は、左右の意味(例:左右に異なる群)を明確にする必要があります。
  • スケール統一:複数の分布を比較する際は、密度スケールを統一することが望ましいです。

応用例

  • Seabornのviolinplot()を用いた学習データ比較
  • ggplot2のgeom_violin()でグループ別分布の可視化
  • Plotlyによるインタラクティブなバイオリン・プロット(ツールチップで詳細値を確認)
  • 医療統計・心理学・教育研究などの報告書での分布比較可視化

代替例

目的代替となるチャート
分布の形を確認密度プロット(Density Plot)
分布+個々のデータ点を表示ビースウォーム・プロット(Beeswarm Plot)
四分位範囲と外れ値のみで十分箱ひげ図(Box Plot)
サンプル数が少ない場合ドット・プロット(Dot Plot)

まとめ

バイオリン・プロットは、単なる中央値や範囲だけでなく 分布の形そのものを「見せる」可視化手法 です。特に、複数のグループや条件でデータの分布を比較する際に、従来の箱ひげ図よりも豊かな情報を伝えることができます。視覚的なわかりやすさと統計的な深みを兼ね備えたこのチャートは、探索的データ分析や教育の現場でも広く活用されています。

参考・出典

このチャートを作る

データ可視化の道具箱では、ブラウザ上でこのチャートを作成できます。

矢崎裕一 データ可視化の実務家
プロフィール

この記事は CC BY-NC-SA 4.0 で公開しています。