データは「数値かカテゴリか」の二分では足りません。実務では、その値に対してどんな計算(順序づけ・差・比・平均)が許されるかが、尺度水準で決まります。
この記事を読むと、名義・順序・間隔・比例の4つの尺度を具体例で見分けられ、各尺度に許される集計(最頻値・中央値・平均・変動係数など)と、SQL/BigQuery/Excelでの確認方法を選べるようになります。
地域コードを平均する、満足度を倍で比べる、といった典型的な誤りを避ける判断軸まで押さえます。
GROUP BY / ORDER BY / AVG の可否を判断できる尺度水準(measurement scale)とは、データの値に対してどんな操作が意味を持つかでデータを4段階に分ける枠組みです。下にいくほど許される演算が増え、上位尺度は下位尺度の操作をすべて含みます。
判断はこの順で問いを重ねるだけです。「区別できるか → 順序づけられるか → 差は等間隔か → 比(◯倍)に意味があるか」。上位の問いほど条件が強く、Yesが続く限り下へ進み、Noになった一つ手前(最後にYesだった段階)がその尺度水準です。
地域は「区別できる(Yes)→順序づけられる(No)」なので、最後のYesである名義。満足度は「区別(Yes)→順序(Yes)→等間隔の差(No)」で順序。摂氏温度は「区別(Yes)→順序(Yes)→差は等しい(Yes)→比(No、20℃は10℃の2倍暑いとは言えない)」で間隔。
売上は4問すべてYes(0円が「無」を意味し2万円は1万円の2倍)で比例、というように切り分けます。
名義尺度は、値が「ラベル」でしかなく、順序も大小もないカテゴリです。性別、都道府県、血液型、商品ジャンル、地域コードなどが該当します。許される操作は「同じか違うか」の判定だけで、並べ替えても優劣は生まれません。
使える代表値は最頻値(モード)のみです。平均や中央値は計算できません。集計としては、カテゴリ別の件数と構成比が基本になります。たとえ「1=男性, 2=女性」のように数値コードで格納していても、それは表示上の都合であって名義尺度のままです。
順序尺度は、カテゴリの間に順序があるものの、隣り合う段階の間隔が等しいとは限らない尺度です。満足度(不満/やや不満/普通/やや満足/満足)、サイズ(S/M/L)、成績評価(C/B/A)、アンケートの5段階評価などが代表例です。
許される操作は区別と順序づけまで。中央値と最頻値は使えますが、平均は厳密には不適切です。なぜなら「普通→満足」の改善幅と「不満→普通」の改善幅が同じ大きさだと保証できないからです。順位の上下は言えても、その差を数値として足し合わせる根拠がありません。
実務では5段階評価を1〜5の数値とみなして平均を取る運用が広く行われますが、これは「間隔を等しいと仮定する」便宜的な扱いである点を意識し、件数分布(どの段階に偏っているか)も併せて見るのが安全です。
間隔尺度は、順序に加えて差(間隔)が等しいと言える尺度です。ただし「ゼロ」が「何もない」を意味せず、原点が人為的に決められているため、比(倍)には意味がありません。摂氏・華氏の温度、西暦の年号、知能指数(IQ)、時刻などが該当します。
「30℃と20℃の差」と「20℃と10℃の差」はどちらも同じ10℃分の違い、と言えるのが間隔尺度です。一方で「20℃は10℃の2倍暑い」は誤りです。0℃は温度の不在ではなく水の凝固点という便宜的な基準にすぎないためです。
間隔尺度では平均・標準偏差・差の比較まで使えますが、変動係数や比の計算は意味を持ちません。なお「時刻」を間隔尺度として扱えるのは、同一日内の経過時間のように原点を固定して直線的に測れる場合です。日付をまたぐ場合や、23時と1時のように円環状の周期性が絡む場合は、単純な間隔尺度として扱いにくくなる点に注意してください。
比例尺度は、間隔尺度の性質に加えて絶対的なゼロ点を持つ尺度です。ゼロが「まったくない」を意味するため、比(◯倍)に意味があります。売上金額、身長、体重、人数、所要時間、距離、年齢などが代表例です。
「2万円は1万円の2倍」「身長180cmは90cmの2倍」が正しく成り立ちます。比例尺度では四則すべてに意味があり、平均・標準偏差はもちろん、変動係数(標準偏差÷平均)や幾何平均、比率まで使えます。実務で扱う売上・PV・件数・金額の多くはこの比例尺度であり、最も自由に統計処理ができる尺度です。
| 尺度 | 区分 | 許される操作 | 代表値 | 具体例 | 向く集計 |
|---|---|---|---|---|---|
| 名義尺度 | 質的 | =/≠(区別) | 最頻値 | 性別、地域、血液型、商品カテゴリ | 件数・構成比・クロス集計 |
| 順序尺度 | 質的 | + 大小(順序) | 中央値、最頻値 | 満足度、サイズ、成績評価、学年 | 件数・中央値・パーセンタイル |
| 間隔尺度 | 量的 | + 差(等間隔) | 平均、中央値、最頻値 | 摂氏温度、西暦年、IQ、時刻 | 平均・標準偏差・差の比較 |
| 比例尺度 | 量的 | + 比(絶対ゼロ) | 平均、中央値、最頻値、幾何平均 | 売上、身長、人数、所要時間 | 平均・標準偏差・変動係数・比率 |
尺度水準は、前段の「量的変数と質的変数」の枠組みとそのまま対応します。質的変数=名義・順序、量的変数=間隔・比例です。「計算に意味があるか」で量的・質的を分けたあと、さらに「どこまでの計算に意味があるか」を4段階で精緻化したものが尺度水準だと捉えると整理しやすくなります。
尺度水準は、そのまま「どの集計操作を使ってよいか」に直結します。ポイントは、GROUP BY はどの尺度でも使えるが、AVG は間隔・比例だけ、ORDER BY を意味のある順序として使えるのは順序尺度以上、という対応です。
名義・順序尺度(カテゴリ)は、GROUP BY でグループに分けて数えるのが基本です。平均ではなく件数・構成比で要約します。以下は考え方を示すSQL例です。GROUP BY や COUNT の発想は各製品で共通しますが、中央値・パーセンタイル関数は製品差が大きいため、構文は実行環境で確認してください。
-- 名義尺度(地域)をカテゴリ別に数える:AVGは使わない
SELECT
region, -- 名義尺度
COUNT(*) AS n, -- 件数
ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (), 1) AS pct -- 構成比(%)
FROM customers
GROUP BY region
ORDER BY n DESC; -- ここでのORDER BYは「件数の多い順」であって尺度の順序ではない順序尺度は、順序を保ったまま集計するのがコツです。満足度のようにコード(1〜5)と表示順が一致していれば ORDER BY が意味を持ちます。中央値を求めるときは、実在する段階値を返す PERCENTILE_DISC を優先します。
PERCENTILE_CONT は補間して 3.5 のような実在しない段階を返しうるため、順序尺度では便宜的な扱いとし、使う場合はその旨を明記してください。あわせて段階別の件数分布と累積件数を確認するのが安全です。
-- 順序尺度(満足度1〜5):中央値は実在する段階を返すPERCENTILE_DISCを優先
SELECT
PERCENTILE_DISC(satisfaction, 0.5) OVER () AS median_disc -- 実在する段階を返す(例: 3)
FROM survey
LIMIT 1;
-- 段階ごとの件数(分布)と累積件数を必ず併せて確認する
SELECT
satisfaction,
COUNT(*) AS n,
SUM(COUNT(*)) OVER (ORDER BY satisfaction) AS cum_n -- 累積件数
FROM survey
GROUP BY satisfaction
ORDER BY satisfaction; -- 順序尺度なので「値そのものの順」に意味がある間隔・比例尺度(数値)は、平均・標準偏差などの集計関数で要約できます。
-- 比例尺度(売上)を要約する:四則すべてに意味がある
SELECT
COUNT(*) AS n,
AVG(sales) AS mean,
STDDEV_SAMP(sales) AS sd, -- 標準偏差
STDDEV_SAMP(sales) / NULLIF(AVG(sales), 0) AS cv -- 変動係数(比例尺度でのみ意味あり)
FROM orders;SQL方言の注意:中央値・パーセンタイルの構文は製品差が大きい部分です。まず PERCENTILE_DISC(実在値を返す)と PERCENTILE_CONT(補間値を返す)は用途が異なり、順序尺度では前者を選びます。
呼び出し形式も実装で分かれ、ウィンドウ関数として PERCENTILE_DISC(x, 0.5) OVER () の形を取る実装(BigQuery)と、PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY x) の形を取る実装(PostgreSQL / SQL Server / Oracle)があります。
MySQL(8.0系)には組み込みのパーセンタイル関数がなく、ROW_NUMBER() 等での代替が必要です。標本標準偏差は PostgreSQL / BigQuery / MySQL が STDDEV_SAMP、SQL Server が STDEV です。掲載のコードは考え方を示すものであり、実環境での検証が必要です。
BigQuery では列に INT64 / FLOAT64 / NUMERIC / STRING などの型が付きますが、型は尺度水準を決めません。地域コードや満足度が INT64 で格納されていても、地域は名義、満足度は順序です。
AVG(region_code) は構文上は通りますが結果は無意味です。
型に引きずられず、「その値に区別・順序・差・比のどこまでが成り立つか」で判断してください。順序尺度の中央値は APPROX_QUANTILES(satisfaction, 2)[OFFSET(1)] で概算でき、カテゴリの種類数は COUNT(DISTINCT col) または APPROX_COUNT_DISTINCT(col) で確認できます。
Excelでは、名義・順序尺度はピボットテーブルでカテゴリ別の件数を集計するのが最短です。特定カテゴリの件数だけなら COUNTIF が使えます。並べ替え(ソート)は順序尺度以上で意味を持ちますが、名義尺度を五十音順に並べても分析的な意味はありません。
AVERAGE は間隔・比例尺度の数値列にのみ使い、順序尺度(1〜5の評価)に対しては補助的にとどめ、MEDIAN や段階別の件数分布を優先します。
| 尺度 | GROUP BY / ピボット | 順序での並べ替え | AVG / 平均 | 比・変動係数 |
|---|---|---|---|---|
| 名義 | ○(件数・構成比) | ✕(意味なし) | ✕ | ✕ |
| 順序 | ○ | ○ | △(便宜的・要注意) | ✕ |
| 間隔 | ○ | ○ | ○ | ✕(比は無意味) |
| 比例 | ○ | ○ | ○ | ○ |
会員ID、郵便番号、店舗コード、地域コードは数値型でも名義尺度です。AVG(zip_code) は地理的に何も意味しません。型が数値でも、区別しかできない値は名義として GROUP BY 側で扱います。
満足度(1〜5)の平均は現場で多用されますが、段階の間隔が等しいという仮定の上の便宜値です。平均だけで「満足度が3.4から3.6に改善」と断じる前に、各段階の件数分布の変化(5の割合が増えたのか、1が減ったのか)を確認してください。
摂氏温度・西暦・IQは間隔尺度なので「2倍」「半分」は使えません。「今年の気温は去年の1.1倍」「IQ140は70の2倍賢い」はいずれも誤りです。比を使いたい場合は、絶対ゼロを持つ尺度(比例尺度)か、ケルビン温度のような絶対温度に変換できるかを確認します。
迷ったら、冒頭の4つの問い「区別 → 順序 → 等間隔の差 → 比」を順に当て、Yesが続く限り下へ進んで、Noになった一つ手前(最後にYesだった段階)をその列の尺度水準とします。尺度が決まれば、使ってよい代表値と集計が自動的に決まります。
尺度水準は、データに対してどこまでの計算が許されるかを4段階で示す枠組みです。名義は区別だけ(最頻値・件数)、順序は順序まで(+中央値)、間隔は等間隔の差まで(+平均・標準偏差、ただし比は不可)、比例は比まで(+変動係数・比率)。質的変数が名義・順序、量的変数が間隔・比例に対応します。
実務での要点は、型ではなく「区別・順序・差・比のどこまで成り立つか」で尺度を見極め、その尺度に許された集計だけを使うこと。地域コードを平均しない、満足度の平均は分布と併読する、温度を倍で語らない——この3つを外さなければ、集計の意味を取り違えることはほぼなくなります。