1 目的

ヒストグラムはデータの分布を把握するためによく利用されるグラフです。この記事では、ヒストグラムとは何か、どうやって作るのか、そしてヒストグラムを作成する目的について解説します。

2 ヒストグラムとは

まずはヒストグラムを実際に見てみましょう。Figure 1 のように、ヒストグラムは横軸に「データの値」を持ちます。縦軸には「データの数」だったり「頻度」を表します。ヒストグラムを作成することで、データの分布の様子を視覚的に把握することができます。

一見すると棒グラフを並べただけのように見えますが、ヒストグラムと棒グラフは本質的に全く別のグラフです。ヒストグラムの横軸は数値データ (numerical data) と呼ばれる数値を持つデータです。これを「ビン」と呼ばれる区間で区切ります。横軸には「ビン」が並んでいて、各ビン (区間) に入るデータの数を縦軸に表示したものがヒストグラムです。

一方の棒グラフは数値データではなく、カテゴリカルデータ (categorical data) を横軸に配置します (カテゴリカルデータは「好き・嫌い」といったグループであらわあれるデータのことです)。

ヒストグラムと棒グラフは本質的にあらわしているデータの種類が異なることを覚えておきましょう。

Figure 1: ヒストグラムの例
横軸: データの値. 縦軸: 各ビンに含まれるデータの個数 (頻度)

3 ヒストグラムの作成手順

では、ヒストグラムを作成手順を確認してみましょう。ヒストグラムの作成手順は以下の通りです。

  1. 数値データであることの確認
  2. ビンの幅の決定
  3. データの数のカウント
  4. データの表示

ヒストグラムは数値データを表すためのグラフですので、手持ちのデータが数値データであることが前提です。次にデータを区切って表示するための区間である「ビン」の幅を決めます。ビンの幅はヒストグラムの形に大きく影響するので、ビンの幅の決定はヒストグラムの作成において重要なステップです。あとは各ビンに含まれるデータの数をカウントし、縦軸に表示すれば完成です。

なお、実際はヒストグラムを手作業で作成することは少なく、Python言語など適切なプログラミング言語やツールを使って作成することができます。しかしながらツールを使う場合でも上記の「ビンの数」などのパラメータをツールに渡す必要があります。上記のステップを理解しておくと、ツールに渡す各パラメータの意味が分かり、適切なヒストグラムを作成するために役立ちます

4 ヒストグラムの目的

ヒストグラムからはたくさんのことがわかります。ヒストグラムはデータの分布を視覚化しますが、結果として例えば以下のようなことがわかります。

  1. データの分布の形: 対称か、非対称か、歪んでいるかどうか、ピークが複数存在するかなど。
  2. データの分布の中心: 平均や中央値などの統計量をいきなり求める前に、視覚的に分布を把握しておくと、適切な統計量を選択できます。
  3. データのばらつき: ヒストグラムからデータがどのくらいの範囲に散らばっているかがわかります。
  4. 外れ値: 外れ値の有無をある程度把握できます。合わせて箱ひげ図 (box plot) を作成すると、より外れ値を視覚化しやすくなります。
  5. 統計手法を適用するにあたって適切な分布かどうか: 統計手法には分布が対称であることを前提としている場合があります。データの分布を把握しておくことで統計手法をそのまま適用できるかどうかを判断する材料になります。

一言で言って、他の様々な解析を行う前にヒストグラムを作成しておく、と考えておけば良いでしょう。

5 Keywords

  • ヒストグラム (histogram)
  • 数値データ (numerical data)
  • ビン (bin)
  • データの分布 (data distribution)

6 Summary Questions

以下の文章が正しいかどうか、答えましょう。また間違っている場合はその理由も答えましょう。

  1. ヒストグラムはあらゆるデータに対して用いることができ、データの分布の様子を調べることができる。

7 まとめ

ヒストグラムは数値データの分布の様子を表すために用いられます。ビンの幅によって大きく形が変化するので、ビンの幅の決定には注意が必要です。ヒストグラムからは「データの分布の形」や「分布の中心」、そして「ばらつき」など様々なことを一度に把握することができます。様々な解析を行う前にヒストグラムを作成し、適切に解析を行っていきましょう。