度数分布の階級の求め方

ヒストグラムを描くときの階級の数と幅を、スタージェスの公式 k = log₂n + 1 で決めます。決まった階級にデータを振り分けた度数もあわせて出します。

ヒストグラムを描くとき、棒を何本にするかで見え方はまるで変わります。少なすぎると形がつぶれ、多すぎるとでこぼこばかりで傾向が見えません。その本数を機械的に決める目安がスタージェスの公式です。

k=log2n+1k = \lceil \log_{2} n + 1 \rceil
w=xmaxxminkw = \dfrac{x_{\max} - x_{\min}}{k}

log2n\log_{2} n が入っているのは、データが 2 倍になるごとに階級を 1 つ増やす、という考え方によります。データが 16 個なら 5 本、32 個なら 6 本、64 個なら 7 本というように、増え方はゆるやかです。データを 4 倍にしても棒は 2 本しか増えません。

既定の入力は 16 個の値です。log216\log_{2} 16 が 4 なので、階級の数は 4+14 + 1 で 5 になります。

最小値は 12、最大値は 50 で、差は 38 です。階級の幅は 38÷538 \div 5 で 7.6 になります。階級は 12 以上 19.6 未満、19.6 以上 27.2 未満、と続いて、最後が 42.4 以上 50 以下です。

振り分けると度数は 4, 5, 4, 2, 1 になります。足すと 16 で、データの個数と合っています。小さいほうに山があり、大きいほうへ裾を引いた形が見えます。

各階級は下限以上・上限未満で区切ります。そうしないと境目の値がどちらに入るか決まりません。ただし最大値だけは行き場がなくなるので、最後の階級に入れます。

度数分布表から平均や分散を出すときは、各階級の真ん中の値を階級値として使います。この例なら最初の階級は 12 以上 19.6 未満なので、階級値は 15.8 です。もとの値が手元になく、表だけが残っている場合の手立てで、階級の中では値が均等に散らばっていると見なす近似になります。

注意

幅の 7.6 は、そのまま使うには半端な数です。実務では 8 や 10 のようなきりのよい数に丸め、階級の下限も 10, 20, 30 のようにそろえます。この公式が出すのは、あくまで出発点の目安です。

スタージェスの公式はデータが正規分布に近いことを前提にしていて、数百個を超えると階級が少なすぎるとされています。データが多いときや偏りが強いときは、スコットの公式やフリードマン・ダイアコニスの公式のほうが向いています。後者は四分位範囲を使うので、外れ値に引っぱられにくいという利点があります。

すべての値が同じときは最大値と最小値の差が 0 になり、階級の幅が決まりません。