バイオリン図

バイオリン図（バイオリンず、）は、数値データを描画する手法の一つであり、箱ひげ図の両脇に90度回転させたカーネル密度グラフを付加したものに近い。

概要 
バイオリン図は 箱ひげ図 に似ているが、異なる値のデータに確率密度を表示する点で異なっている。確率密度は、最も単純な場合にヒストグラムとなる。一般にバイオリン図には、箱ひげ図同様、データの中央値を示すマークと四分位範囲を示す箱も描かれる。この箱ひげ図に重ねて描画されるのはカーネル密度推定である。箱ひげ図のようにバイオリン図は複数のカテゴリ間での変数分布の比較に用いられる。例えば日中と夜間の温度分布の比較や、複数の製造業者での車両価格の分布などである。

箱ひげ図との比較 
バイオリン図には箱ひげ図よりも多くの情報が含まれる。箱ひげ図には平均/中央値と四分位範囲という要約統計量のみが含まれるのに対し、バイオリンプロットにはすべての分布データが含まれる。これはデータ分布がmultimodal（複数のピークがある）場合に特に有用である。このような場合、バイオリン図では複数のピークの位置と大きさが明確に表現されるが、これは箱ひげ図では表現されない。バイオリン図の内部には平均（または中央値）と四分位範囲が描かれる。特にサンプル数があまり多くない場合には、すべてのサンプルデータが点や線として描かれる場合もある。

箱ひげ図よりも多くの情報が含まれるものの、バイオリン図はよりマイナーである点が欠点である。知名度が低いため、バイオリン図を知らない人にとっては意味が理解しづらい。このような場合、より分かりやすい代替図としてはヒストグラムを複数描画するか、カーネル密度を描画することが考えられる。

ソフトウェア 
バイオリン図は多くのソフトウェアパッケージで拡張機能として利用することができる。例えばR言語ではライブラリの vioplot, wvioplot, caroline, UsingR, lattice, ggplot2、Stataではアドオンコマンドの vioplot、 Pythonではmatplotlib,Plotly,Seaborn、Originでの実装などがある。

参考文献

外部リンク 

 Stata の Vioplot アドイン
 R でのバイオリン図の例
 seaborn 統計描画ライブラリによる Python の violinplots の例

グラフ