Whiz Tools

箱ひげ図計算機

箱ひげ図計算機

ボックスプロット計算機

はじめに

ボックスプロット(箱ひげ図とも呼ばれる)は、最小値、第1四分位数(Q1)、中央値、第3四分位数(Q3)、最大値に基づいてデータの分布を表示する標準化された方法です。この計算機を使用すると、与えられた数値データのセットからボックスプロットを生成でき、データの視覚化と分析の強力なツールを提供します。

この計算機の使い方

  1. 入力フィールドにカンマまたはスペースで区切られた数値のリストを入力します。
  2. 計算機は自動的にボックスプロットの統計を計算し、結果を表示します。
  3. 結果の下にボックスプロットの視覚的表現が表示されます。
  4. 「結果をコピー」ボタンを使用して計算された結果をコピーできます。

数式

ボックスプロット計算に使用される主要な数式は次のとおりです:

  1. 中央値(Q2):n要素の順序付けられたデータセットの場合、

    x_{\frac{n+1}{2}} & \text{nが奇数の場合} \\ \frac{1}{2}(x_{\frac{n}{2}} + x_{\frac{n}{2}+1}) & \text{nが偶数の場合} \end{cases} $$
  2. 第1四分位数(Q1)および第3四分位数(Q3): Q1=データの下半分の中央値Q1 = \text{データの下半分の中央値} Q3=データの上半分の中央値Q3 = \text{データの上半分の中央値}

  3. 四分位範囲(IQR): IQR=Q3Q1IQR = Q3 - Q1

  4. ヒゲ: 下ヒゲ=max(min(x),Q11.5IQR)\text{下ヒゲ} = \max({\min(x), Q1 - 1.5 * IQR}) 上ヒゲ=min(max(x),Q3+1.5IQR)\text{上ヒゲ} = \min({\max(x), Q3 + 1.5 * IQR})

  5. 外れ値:下ヒゲよりも低いデータポイントまたは上ヒゲよりも高いデータポイント。

計算

計算機は、ボックスプロットを生成するために次の手順を実行します:

  1. 入力データを昇順にソートします。
  2. 中央値(Q2)を計算します:
    • データポイントの数が奇数の場合、中央値は中央の値です。
    • データポイントの数が偶数の場合、中央値は2つの中央値の平均です。
  3. 第1四分位数(Q1)を計算します:
    • これはデータの下半分の中央値です。
    • データポイントの数が奇数の場合、中央値はどちらの半分にも含まれません。
  4. 第3四分位数(Q3)を計算します:
    • これはデータの上半分の中央値です。
    • データポイントの数が奇数の場合、中央値はどちらの半分にも含まれません。
  5. 四分位範囲(IQR)を計算します = Q3 - Q1。
  6. ヒゲを決定します:
    • 下ヒゲ:Q1 - 1.5 * IQR以上の最小のデータポイント
    • 上ヒゲ:Q3 + 1.5 * IQR以下の最大のデータポイント
  7. 外れ値を特定します:下ヒゲよりも低いまたは上ヒゲよりも高いデータポイント。

データセットに偶数の要素がある場合、四分位数を計算する方法には異なる方法があることに注意することが重要です。上記の方法は「排他的」な方法として知られていますが、「包括的」な方法や「中央値の中央値」方法など、他の方法も使用できます。方法の選択は、特に小さなデータセットの場合、Q1およびQ3の位置にわずかに影響を与える可能性があります。

解釈

Q3 中央値 Q1 最小 最大 ボックスプロットの構成要素
  • プロット内のボックスは四分位範囲(IQR)を表し、ボックスの下部はQ1、上部はQ3です。
  • ボックス内の線は中央値(Q2)を示します。
  • ヒゲはボックスから最小値と最大値まで伸び、外れ値を除外します。
  • 外れ値はヒゲを超えた個別のポイントとしてプロットされます。

ボックスプロットはデータに関するいくつかの洞察を提供します:

  • 中央傾向:中央値はデータセットの中心値を示します。
  • 変動性:IQRおよび最小値から最大値までの全体の広がりはデータの分散を示します。
  • 歪度:中央値がボックス内で中心にない場合、データに歪みがあることを示します。
  • 外れ値:ヒゲを超えたポイントは、潜在的な外れ値や極端な値を強調します。

使用例

ボックスプロットはさまざまな分野で役立ちます:

  1. 統計:データの分布と歪度を視覚化するため。たとえば、異なる学校やクラス間のテストスコアを比較する。

  2. データ分析:外れ値を特定し、分布を比較するため。ビジネスでは、異なる地域や期間の売上データを分析するために使用されることがあります。

  3. 科学研究:結果を提示し、グループを比較するため。たとえば、医療研究における異なる治療法の効果を比較する。

  4. 品質管理:プロセス変数を監視し、異常を特定するため。製造業では、製品の寸法を追跡し、それらが許容範囲内にあることを確認するために使用されることがあります。

  5. ファイナンス:株価の動きやその他の財務指標を分析するため。たとえば、異なる投資信託のパフォーマンスを比較するために使用されることがあります。

  6. 環境科学:異なる場所や期間における汚染レベルや温度変動などの環境データを分析し、比較するため。

  7. スポーツ分析:チームやシーズン間で選手のパフォーマンス統計を比較するため。

代替手段

ボックスプロットはデータ視覚化の強力なツールですが、分析の特定のニーズに応じていくつかの代替手段があります:

  1. ヒストグラム:データセットの頻度分布を示すのに役立ちます。分布の形状についてより詳細を提供しますが、複数のデータセットを比較するには効果が薄い場合があります。

  2. バイオリンプロット:ボックスプロットの機能とカーネル密度プロットを組み合わせ、異なる値でのデータの確率密度を示します。

  3. 散布図:2つの変数間の関係を示すのに理想的で、ボックスプロットではできません。

  4. 棒グラフ:異なるカテゴリ間で単一の値を比較するのに適しています。

  5. 折れ線グラフ:時間の経過に伴うトレンドを示すのに効果的で、ボックスプロットではうまくキャプチャできません。

  6. ヒートマップ:複雑なデータセットを視覚化するのに役立ちます。

これらの代替手段の選択は、データの性質と伝えたい特定の洞察に依存します。

歴史

ボックスプロットは1970年にジョン・タキーによって発明され、1977年に彼の著書「Exploratory Data Analysis」に初めて登場しました。タキーの元のデザインである「スキーマティックプロット」は、中央値、四分位数、極値のみを表示しました。

ボックスプロットの歴史における重要な発展には次のものがあります:

  1. 1978年:マギル、タキー、ラーセンが中央値の信頼区間を追加したノッチ付きボックスプロットを導入。

  2. 1980年代:ボックスプロットにおける「外れ値」の概念がより標準化され、通常は四分位数から1.5倍のIQRを超えるポイントとして定義されました。

  3. 1990年代から2000年代:コンピュータグラフィックスの登場により、可変幅ボックスプロットやバイオリンプロットなどのバリエーションが開発されました。

  4. 現在:インタラクティブで動的なボックスプロットがデータ視覚化ソフトウェアで一般的になり、ユーザーが基礎となるデータポイントを探索できるようになっています。

ボックスプロットは、そのシンプルさと複雑なデータセットを要約する効果的な方法のため、時代を超えて評価されています。さまざまな分野でデータ分析の定番として使われ続けています。

コードスニペット

さまざまなプログラミング言語でボックスプロットを作成する方法の例を以下に示します:

=QUARTILE(A1:A100,1)  ' Q1
=MEDIAN(A1:A100)      ' 中央値
=QUARTILE(A1:A100,3)  ' Q3
=MIN(A1:A100)         ' 最小
=MAX(A1:A100)         ' 最大
## 'data'が数値のベクターであると仮定
boxplot(data)
% 'data'が数値のベクターであると仮定
boxplot(data)
// D3.jsを使用
var svg = d3.select("body").append("svg")
    .attr("width", 400)
    .attr("height", 300);

var data = [/* データ配列 */];

var boxplot = svg.append("g")
    .datum(data)
    .call(d3.boxplot());
import matplotlib.pyplot as plt
import numpy as np

data = [/* データ配列 */]
plt.boxplot(data)
plt.show()
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.statistics.DefaultBoxAndWhiskerCategoryDataset;

DefaultBoxAndWhiskerCategoryDataset dataset = new DefaultBoxAndWhiskerCategoryDataset();
dataset.add(Arrays.asList(/* データ */), "シリーズ1", "カテゴリ1");

JFreeChart chart = ChartFactory.createBoxAndWhiskerChart(
    "ボックスプロット", "カテゴリ", "値", dataset, true);

参考文献

  1. Tukey, J. W. (1977). Exploratory Data Analysis. Addison-Wesley.
  2. McGill, R., Tukey, J. W., & Larsen, W. A. (1978). Variations of Box Plots. The American Statistician, 32(1), 12-16.
  3. Williamson, D. F., Parker, R. A., & Kendrick, J. S. (1989). The box plot: a simple visual method to interpret data. Annals of internal medicine, 110(11), 916-921.
  4. Wickham, H., & Stryjewski, L. (2011). 40 years of boxplots. Technical report, had.co.nz.
  5. Frigge, M., Hoaglin, D. C., & Iglewicz, B. (1989). Some Implementations of the Boxplot. The American Statistician, 43(1), 50-54.
フィードバック