スタージェスの公式とは?階級数の決め方やエクセル計算まで徹底解説
データ分析や現場の業務改善において、数値の散らばりを視覚化するヒストグラムは基本中の基本ツールです。売上データや品質検査値、アクセスログなどを手にした際、真っ先に「グラフの棒(ビン)は何本に分ければよいのか」という疑問に直面します。棒の数が少なすぎるとデータの山が潰れて平坦になり、多すぎると隙間だらけのギザギザなグラフになってしまい、本質的な分布パターンを見落としかねません。
そんな「ヒストグラムの階級数の決め方」で最も広く使われている定番の基準が、統計学におけるスタージェスの公式(Sturges' formula)です。データ数に応じた適切な分割数をシンプルな計算式で導き出せるため、多くのBIツールや表計算ソフトの初期設定にも採用されています。計算の手順やエクセルでの具体的な設定方法、知っておくべき限界と代替手段までを整理して解説します。
📌 【この記事の重要ポイントまとめ】
- 要点1:スタージェスの公式は、データ数(サンプルサイズ $n$)からヒストグラムの最適な階級数 $k$ を「$k = 1 + \log_2 n$」で素早く求める定番手法。
- 要点2:データ数が30〜200件程度で正規分布に近いデータで最も威力を発揮し、エクセルでも基本関数(`LOG`や`ROUNDUP`)で即座に自動計算が可能。
- 要点3:データ数が数千件を超えるビッグデータや外れ値・歪みがある分布では棒の数が不足するため、スコットの公式やフリードマン・ダイアコニスの公式との使い分けが必須。
【基礎知識】ヒストグラムの階級数(ビン数)はどう決める?スタージェスの公式の役割
ヒストグラムを作成する際、横軸の区切り幅を「階級幅」、区切られた区間の数を「階級数(ビン数)」と呼びます。この階級数をいくつに設定するかによって、データの見え方は劇的に変化します。階級数が少なすぎると正規分布なのか二峰性(山が2つある状態)なのかが判別できず、逆に多すぎると測定ノイズばかりが目立って全体像が掴めません。
分析者の主観や勘に頼って区切り方を決めると、自分に都合の良い解釈をしてしまうリスクがあります。そこで客観的な基準として考案されたのが、1926年にアメリカの統計学者ハーバート・スタージェスが提唱したスタージェスの公式です。
この公式の最大のメリットは、「データの総数(サンプルサイズ)」さえ分かれば誰でも一意に階級数を決定できる点にあります。統計学に詳しくない初心者であっても、客観的で説得力のあるヒストグラムを素早く作成できるため、ビジネスの現場から研究分野まで1世紀にわたり標準的な指標として使われ続けています。
【計算方法】スタージェスの公式の求め方とlog計算の仕組みをわかりやすく解説
スタージェスの公式の求め方は、対数(log)を用いたシンプルな数式で表されます。データ数を $n$、求める階級数を $k$ と置いた場合、基本の式は以下の通りです。
【スタージェスの基本公式】
$k \fallingdotseq 1 + \log_2 n$
手元の電卓や一般的なプログラミング言語で常用対数(底が10の $\log_{10}$)を使う場合は、底の変換公式を用いて次のように書き換えて計算します。
【常用対数を用いた計算式】
$k \fallingdotseq 1 + \frac{\log_{10} n}{\log_{10} 2} \fallingdotseq 1 + 3.322 \times \log_{10} n$
算出された $k$ は通常小数になるため、四捨五入または切り上げを行って整数にします。代表的なサンプルサイズにおける計算の目安は次の表の通りです。
| データ数($n$) | 計算値($1 + 3.322 \log_{10} n$) | 推奨される階級数($k$) |
|---|---|---|
| 30 | 約 5.91 | 6 |
| 50 | 約 6.64 | 7 |
| 100 | 約 7.64 | 8 |
| 200 | 約 8.64 | 9 |
| 500 | 約 9.97 | 10 |
| 1,000 | 約 10.97 | 11 |
階級数が決まれば、次は「階級幅(ビンの横幅)」を導き出します。データの最大値から最小値を引いた「範囲(レンジ)」を階級数で割ることで、各区間の幅が算出できます。
階級幅 =(最大値 - 最小値)÷ 階級数
例えば「最大値が100、最小値が20、データ数が100件」の場合、階級数は8となります。範囲は $100 - 20 = 80$ なので、階級幅は $80 \div 8 = 10$ となり、20〜30、30〜40……といった10刻みの見やすい区切りが完成します。
【実践ガイド】エクセル(Excel)でスタージェスの公式を使って階級幅を算出する手順
業務でエクセルを活用する場合、関数を組み合わせることでスタージェスの公式と階級幅を完全に自動算出できます。手動で計算する手間を省くためのテンプレート手順を紹介します。
データがセル `A2:A101`(100件)に入力されている場合、以下の数式を空いているセルに設定します。
- データ数($n$)の取得:
`=COUNT(A2:A101)` - スタージェスの公式による階級数($k$)の計算:
`=ROUNDUP(1 + LOG(COUNT(A2:A101), 2), 0)`
※`LOG(値, 2)`で底が2の対数を直接計算し、`ROUNDUP`で整数に切り上げます。 - 最大値と最小値の取得:
最大値:`=MAX(A2:A101)`
最小値:`=MIN(A2:A101)` - 階級幅の計算:
`=(MAX(A2:A101) - MIN(A2:A101)) / ROUNDUP(1 + LOG(COUNT(A2:A101), 2), 0)`
エクセルの「挿入」タブにある標準の「ヒストグラム」機能を使う場合、グラフの軸をダブルクリックして「軸の書式設定」を開き、「ビンの数」に算出した階級数を入力するか、「ビンの幅」に計算した階級幅を指定するだけで、最適なバランスの整ったグラフへ一瞬で調整できます。
【落とし穴】知っておくべきスタージェスの公式のデメリットとサンプルサイズの限界
万能に見えるスタージェスの公式ですが、統計学の実務においては明確なデメリットと適用限界が存在します。盲信して使うとデータの真の姿を見誤る恐れがあります。
最大の弱点は、「データが左右対称の正規分布に従っている」という前提で設計されている点です。スタージェスの公式は二項係数(パスカルの三角形)の近似をベースに組み立てられているため、以下のようなケースでは階級数が不適切になります。
- データ数が数千〜数万件を超える大規模データ:
データ数が増えても対数計算の性質上、階級数が緩やかにしか増えません。例えばデータ数が1万件あっても階級数はわずか「14〜15」にしかなりません。結果としてグラフが過度に平滑化され、微細な山や谷、異常値の兆候が埋もれてしまいます。 - 分布が左右非対称で歪んでいるデータ(所得分布やウェブ滞在時間など):
裾野が長く伸びた分布(ロングテール)では、主要なデータが少数のビンに密集し、形状の詳細が潰れてしまいます。 - データ数が少なすぎる場合($n < 30$):
階級数が5本未満になってしまい、分布の傾向を把握するための情報量が不足します。
スタージェスの公式は「データ数が30〜200件程度で、おおむね単峰性の正規分布が想定される小〜中規模データ」の初期探索に最も適した手法です。
【代替手法】スコットの公式やフリードマン・ダイアコニスの公式との使い分け基準
スタージェスの公式が適さないデータに対しては、現代のデータサイエンスやPython(matplotlib/seaborn)、Rなどで標準採用されている他の階級幅決定ルールを使い分けます。代表的な2つの代替手法を押さえておきましょう。
1. スコットの公式(Scott's normal reference rule)
データの散らばり具合(標準偏差 $\sigma$)を考慮して階級幅 $h$ を決める手法です。データ数が増えるほど階級幅を自動的に細かく調整してくれます。
階級幅 $h = \frac{3.49 \times \sigma}{\sqrt[3]{n}}$
正規分布に近い連続データで、サンプルサイズが数百〜数千件以上のボリュームがある場合に優れた推定力を発揮します。
2. フリードマン・ダイアコニスの公式(Freedman–Diaconis rule)
外れ値や歪みの影響を受けやすい標準偏差の代わりに、中央値ベースの指標である四分位範囲(IQR = 第3四分位数 - 第1四分位数)を用いて階級幅 $h$ を計算します。
階級幅 $h = \frac{2 \times \text{IQR}}{\sqrt[3]{n}}$
極端な異常値が含まれる売上データや、左右非対称なアクセス解析データなどを可視化する際、最も頑健(ロバスト)で歪みに強い手法として現代のデータ分析現場で推奨されています。
| 公式名 | 適したデータ規模 | 主な特徴・向いている場面 |
|---|---|---|
| スタージェス | 小〜中規模(30〜200件) | 計算が最も簡単。一般的な報告書や初期分析向け |
| スコット | 中〜大規模(200件以上) | 標準偏差を利用。正規分布に近い大規模データ向け |
| フリードマン・ダイアコニス | 中〜超大規模(外れ値あり) | IQRを利用。外れ値や歪んだ分布に最も強い |
【現場の知恵】データ分析を成功に導くヒストグラム最適化のステップ
実務でデータを可視化する際は、公式に数字を当てはめて終わるのではなく、以下のステップでアプローチすることが分析の質を高める秘訣です。
まずは「スタージェスの公式」でベースラインとなるグラフを素早く描画します。全体のレンジ感やピークの位置をおおまかに掴むには、この初期設定が最も手軽です。
次に、データ数が数百件を超える場合や分布に偏りが見られる場合は、階級数を手動で「基本値の1.5倍〜2倍」に増やしてみるか、フリードマン・ダイアコニスの公式を試します。隠れていた「2つ目のピーク(異なるユーザー層の存在など)」や「測定値の丸め誤差」が浮き彫りになるケースが多々あります。
最後に、ビジネス上の区切りの良さ(キリの良さ)を微調整します。例えば計算上の階級幅が「7.3」になった場合、そのままグラフにすると横軸が読み取りにくくなります。あえて階級幅を「5」や「10」といった人間が直感的に理解しやすい刻みに補正することが、意思決定者へ伝わるレポート作成のポイントです。
【スタージェスの公式】に関するよくある質問(FAQ)
Q1:データ数が30件未満と非常に少ない場合でも、スタージェスの公式を使ってよいですか?
A1:データ数が極端に少ない場合、スタージェスの公式を適用すると階級数が3〜4本程度になり、分布の形を正確に捉えられません。30件未満の少数データでは、ヒストグラムよりも個々の測定値を直接並べる「ドットプロット」や「箱ひげ図」、あるいは個別値プロットを用いた可視化のほうが適しています。
Q2:エクセルで対数計算をする際、`LOG`関数と`LOG10`関数のどちらを使うべきですか?
A2:どちらを使用しても問題ありません。エクセルの`=LOG(データ数, 2)`を使えば底が2の対数を一発で計算できます。もし`LOG10`を使う場合は、`=1 + 3.322 * LOG10(データ数)`や`=1 + LOG10(データ数)/LOG10(2)`と入力すれば同じ結果が得られます。
Q3:ヒストグラムの階級幅は、区間ごとに変えても問題ありませんか?
A3:原則として階級幅はすべての区間で一定(等幅)にする必要があります。幅が異なるビンを混在させると、棒の「高さ」とデータの「度数(頻度)」の比例関係が崩れ、視覚的な誤解を招く原因になります。どうしても不等幅にする場合は、高さではなく「棒の面積」が度数を表すように密度調整を行う専門的な処理が必要です。
まとめ:データの背後にある真実を正しく可視化するために
スタージェスの公式は、ヒストグラムを作成する際に誰もが迷う「階級数の決定」に明快な基準を与えてくれる頼もしい統計ツールです。データ数に応じた客観的な数値を算出できるため、社内レポートやデータ検証の第一歩として欠かせない存在となっています。
しかし、万能の公式は存在しません。データの規模が数万件に及ぶ場合や歪みが大きいデータでは、スコットの公式やフリードマン・ダイアコニスの公式といった別のアプローチを組み合わせることが不可欠です。公式をひとつの目安として活用しながら、柔軟に階級幅を調整してデータの真実を正確に読み解くスキルを身につけましょう。 (出典: スター ジェス の 公式(Yahoo!ニュース))