別名・略称:(なし)
「interval scale」は統計データ分析の文脈で扱う重要概念のひとつ。 本ページでは「interval scale」を取り巻く中核キーワードを以下にチップで一覧化する。 各キーワードは関連する概念・手法・道具立てを含み、 文献検索や学習計画の起点になる。
これらのキーワードは「interval scale の理解 → 適用 → 検証」のプロセスを構成する。 各章で詳しく解説する。
🍰 まずはやさしく
数値の差に意味がある物差しです。
データの違いを正しく測るために使います。
気温の温度などがこの例です。
間隔尺度の基本について学びます。
間隔尺度(Interval Scale):差に意味があるが原点が任意の尺度(気温℃など)
🍰 まずはやさしく
使う物差しで計算方法が変わる話です。
正しい統計の手法を選ぶために使います。
気温と電気代の関係を考えるときです。
尺度による計算の違いについて読みます。
🍰 まずはやさしく
データの種類を分けるグループの一つです。
どの計算ができるかを知るために使います。
テストの点数や西暦などが例です。
他の尺度との違いを一覧で確認します。
| 尺度 | 例 | 演算 | 統計量 |
|---|---|---|---|
| 名義 | 血液型、 性別 | =, ≠ | 最頻値、 度数 |
| 順序 | 5段階評価、 ランキング | =, ≠, <, > | 中央値、 順位相関 |
| 間隔 | 摂氏温度、 西暦、 IQ | +, - | 平均、 標準偏差、 Pearson相関 |
| 比例 | 身長、 体重、 所得、 ケルビン温度 | 全演算 | 幾何平均、 変動係数 |
🍰 まずはやさしく
数値のルールを数式で表したものです。
データの変換ができるか調べるために使います。
温度の単位を書き換えるときのような計算です。
許される変換のルールについて読みます。
間隔尺度の特徴を式で表現すると:
S. S. Stevens は心理物理学者で、 1946 年の "On the Theory of Scales of Measurement" (Science) で 4 尺度の分類を提唱した。 当時の心理学では「感覚の強さに数値を割り当てた指標 (Likert 等) を平均してよいか」という論争があり、 これに数学的な整理を持ち込んだのが意義。
| 尺度 | 許される変換 | 不変な代表量 |
|---|---|---|
| 名義 | 一対一対応の任意のラベル付け | 最頻値, χ² 検定 |
| 順序 | 単調増加変換 | 中央値, 順位相関 |
| 間隔 | x' = ax + b (a>0) | 平均, 標準偏差, Pearson 相関 |
| 比例 | x' = ax (a>0) | 幾何平均, 変動係数 |
「不変な代表量」とは、 許される変換を行っても値が 本質的に同じ意味を保つ統計量のこと。 たとえば間隔尺度では、 摂氏→華氏のような線形変換で平均は対応する値に変わるが、 順序関係や相対的な大きさは保たれる。
後年 Velleman & Wilkinson (1993) はこの 4 尺度を「機械的に統計手法を縛るのは不適切」と批判した。 現代では「分類は便利な目安、 ただし最終的にはデータの文脈で判断」というスタンスが主流。
SSDSE-B-2026 には「年度」が 2012〜2023 まで含まれている。 これは典型的な間隔尺度。 西暦の「0 年」はキリスト誕生の概念上の起点で物理的な意味はないので、 比例にはならない。
🎯 このコードでやること:SSDSE-B-2026 で同じ都道府県の異なる年度を取り、 「年度の差は OK / 比は NG」を Python で実演する。
📥 入力データ:SSDSE-B-2026 (北海道の 2012, 2023 年データ)
1 2 3 4 5 6 7 8 9 10 11 | import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) hok = df[df['都道府県'] == '北海道'][['年度', '総人口']] print(hok.to_string(index=False)) # 差は意味あり print('2023 - 2012 =', 2023 - 2012, '年') # 比は意味なし (キリスト元年は規約) print('2023 / 2012 =', round(2023/2012, 4), '← この値に意味はない') |
📤 実行すると次の出力が得られる:
💬 結果の読み方:「2023 - 2012 = 11 年」は意味あり (北海道の人口は 11 年で約 37 万人減)。 一方「2023 / 2012 = 1.0055」は無意味 (元号で換算したら全く違う比になる)。 西暦は典型的な間隔尺度。
「16:30」と「09:00」の差 = 7 時間 30 分 は意味あり。 でも「16:30 / 09:00 = 1.83」は意味なし (24 時間制の規約だから)。 機械学習で時刻を扱うときは sin/cos 変換や循環エンコーディングを使うのが定石。
| 項目 | 内容 |
|---|---|
| 定義 | 差に意味があるが、 原点 (0) が任意に決められた尺度 |
| 許される変換 | $x'=ax+b$ (a>0) のアフィン変換 |
| 代表例 | 摂氏温度, 華氏温度, 西暦, IQ, 時刻 (24h制), 緯度経度 |
| OK の操作 | 差・平均・標準偏差・Pearson 相関・線形回帰 |
| NG の操作 | 比・幾何平均・変動係数・「○倍」表現 |
| SSDSE-B-2026 の例 | 年度 (2012-2023), 年平均気温 (℃), 最高気温, 最低気温 |
| 典型ミス | 「沖縄は北海道の 2 倍暑い」 (摂氏で比を取る) |
| 対処法 | 「差」で語る、 必要なら K に変換して比を取る、 z スコア化する |
新しいデータに出会ったとき、 間隔尺度か否かを 3 つの質問で判定できる:
Q1: その値の「順序」 (大きい/小さい) に意味があるか?
No → 名義尺度 (例: 都道府県コード R01000, 性別)
Yes ↓
Q2: 「差」 (引き算) に量的な意味があるか?
No → 順序尺度 (例: ランキング, 5 段階評価で厳密扱い)
Yes ↓
Q3: 「0」 が「無い・何もない」を意味するか?
No → ★間隔尺度★ (例: 摂氏温度, 西暦, IQ, 緯度経度)
Yes ↓
比例尺度 (例: 人口, 所得, K, 質量)
SSDSE-B-2026 で実例を当てはめると:
SSDSE-B-2026 の代表 28 カラムを Stevens の 4 尺度で分類した実例。 多くの変数が比例尺度に該当する一方、 気温・年度は間隔尺度として注意が必要。
| カラム名 | SSDSE コード | 尺度 | 単位 |
|---|---|---|---|
| 都道府県 | Prefecture | 名義 | ― |
| 地域コード | Code | 名義 | ― |
| 年度 | SSDSE-B-2026 | 間隔 | 年 |
| 総人口 | A1101 | 比例 | 人 |
| 日本人人口 | A1102 | 比例 | 人 |
| 15 歳未満人口 | A1301 | 比例 | 人 |
| 15-64 歳人口 | A1302 | 比例 | 人 |
| 65 歳以上人口 | A1303 | 比例 | 人 |
| 出生数 | A4101 | 比例 | 人 |
| 合計特殊出生率 | A4103 | 比例 | ― |
| 死亡数 | A4200 | 比例 | 人 |
| 転入者数 | A5101 | 比例 | 人 |
| 婚姻件数 | A9101 | 比例 | 件 |
| 年平均気温 | B4101 | 間隔 | ℃ |
| 最高気温 | B4102 | 間隔 | ℃ |
| 最低気温 | B4103 | 間隔 | ℃ |
| 降水日数 | B4106 | 比例 | 日 |
| 降水量 | B4109 | 比例 | mm |
| 標準価格 (住宅地) | C5401 | 比例 | 円/m² |
| 月間有効求人数 | F3103 | 比例 | 件 |
| 消費支出 | L3221 | 比例 | 円 |
分布のまとめ:SSDSE-B-2026 の 112 カラムのうち、 名義尺度は 2 個 (都道府県名, 地域コード)、 間隔尺度は 4 個 (年度, 年平均気温, 最高気温, 最低気温)、 残り 106 個は比例尺度。 間隔尺度は珍しいが、 気温は学校で身近な題材なので慎重に扱う価値がある。
🎯 このコードでやること:年平均気温 (℃, 間隔尺度) で光熱・水道費 (円, 比例尺度) を予測する単回帰を作り、 回帰係数と切片の意味を解釈する。 さらに摂氏→華氏に変えた場合の係数を比較する。
📥 入力データ:①の d23 から年平均気温と光熱・水道費の 2 列 (n=47)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import pandas as pd # d23 はこのあとのブロックで作っているので、ここでも用意しておく df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) d23 = df[df['年度'] == 2023].reset_index(drop=True) from sklearn.linear_model import LinearRegression import numpy as np X_c = d23[['年平均気温']].values X_f = X_c * 9/5 + 32 y = d23['光熱・水道費(二人以上の世帯)'].values m_c = LinearRegression().fit(X_c, y) m_f = LinearRegression().fit(X_f, y) print(f'摂氏: 係数 = {m_c.coef_[0]:.1f}, 切片 = {m_c.intercept_:.0f}') print(f'華氏: 係数 = {m_f.coef_[0]:.1f}, 切片 = {m_f.intercept_:.0f}') print(f'R^2 = {m_c.score(X_c,y):.3f}') |
📤 実行すると次の出力が得られる:
💬 結果の読み方:
解釈:「気温が 1℃ 高い県は、 光熱・水道費が約 1186 円安い」。 47 県の気温で約 61% の光熱費差を説明できる。 これは正しい間隔尺度の使い方。
間隔尺度の理解のために、 SSDSE-B-2026 の年平均気温を 3 つの尺度 (摂氏・華氏・K) で並べた表。 気温が低い順 (北海道) から高い順 (沖縄県) にソート。
| 順位 | 都道府県 | 摂氏 (℃) | 華氏 (°F) | 絶対温度 (K) | z スコア |
|---|---|---|---|---|---|
| 1 | 北海道 | 11.0 | 51.80 | 284.15 | -2.834 |
| 2 | 岩手県 | 12.5 | 54.50 | 285.65 | -2.101 |
| 3 | 青森県 | 12.6 | 54.68 | 285.75 | -2.052 |
| 4 | 長野県 | 13.6 | 56.48 | 286.75 | -1.564 |
| 5-6 | 秋田県 / 山形県 | 13.7 | 56.66 | 286.85 | -1.515 |
| 7 | 宮城県 | 15.0 | 59.00 | 288.15 | -0.880 |
| 8 | 福島県 | 15.2 | 59.36 | 288.35 | -0.782 |
| 9 | 新潟県 | 15.4 | 59.72 | 288.55 | -0.685 |
| 10 | 栃木県 | 16.0 | 60.80 | 289.15 | -0.392 |
| 11-12 | 茨城県 / 富山県 | 16.1 | 60.98 | 289.25 | -0.343 |
| 13 | 福井県 | 16.2 | 61.16 | 289.35 | -0.294 |
| 14 | 滋賀県 | 16.3 | 61.34 | 289.45 | -0.245 |
| 15 | 山梨県 | 16.4 | 61.52 | 289.55 | -0.196 |
| 16-20 | 島根/石川/鳥取/奈良/山口 | 16.5-16.6 | 61.70-61.88 | 289.65-289.75 | -0.148〜-0.099 |
| 21-22 | 岡山県 / 群馬県 | 16.8-16.9 | 62.24-62.42 | 289.95-290.05 | -0.001〜+0.048 |
| 23 | 埼玉県 | 17.2 | 62.96 | 290.35 | +0.194 |
| 24-28 | 京都/三重/岐阜/愛知/広島 | 17.4-17.5 | 63.32-63.50 | 290.55-290.65 | +0.292〜+0.341 |
| 29-32 | 大分/香川/東京/徳島 | 17.6 | 63.68 | 290.75 | +0.390 |
| 33-34 | 和歌山/愛媛 | 17.8 | 64.04 | 290.95 | +0.488 |
| 35 | 高知県 | 17.9 | 64.22 | 291.05 | +0.537 |
| 36-38 | 兵庫/大阪/神奈川 | 18.0 | 64.40 | 291.15 | +0.585 |
| 39-41 | 千葉/佐賀/熊本 | 18.1 | 64.58 | 291.25 | +0.634 |
| 42 | 静岡県 | 18.2 | 64.76 | 291.35 | +0.683 |
| 43 | 長崎県 | 18.3 | 64.94 | 291.45 | +0.731 |
| 44 | 宮崎県 | 18.4 | 65.12 | 291.55 | +0.780 |
| 45 | 福岡県 | 18.5 | 65.30 | 291.65 | +0.829 |
| 46 | 鹿児島県 | 19.5 | 67.10 | 292.65 | +1.317 |
| 47 | 沖縄県 | 23.8 | 74.84 | 296.95 | +3.418 |
観察:沖縄県は z = +3.418 (3σ 超え) と完全な外れ値。 北海道〜鹿児島県の z は -2.83〜+1.32 と概ね正規分布的だが、 沖縄県だけは別の母集団 (亜熱帯気候) と考えるのが自然。 これは「気温は間隔尺度なので z スコアによる外れ値検出が有効」の好例。
🎯 このコードでやること:SSDSE-B-2026 の 2012-2023 年 北海道データから、 年度 (間隔尺度) で総人口 (比例尺度) の時系列回帰を行い、 「年あたり減少率」を推定する。
📥 入力データ:北海道の年度別総人口 (12 年分)
1 2 3 4 5 6 7 8 9 10 11 | import pandas as pd from scipy.stats import linregress df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) hok = df[df['都道府県'] == '北海道'] # 年度 (間隔尺度) で人口を回帰 res = linregress(hok['年度'], hok['総人口']) print(f'傾き = {res.slope:.0f} 人/年') print(f'R^2 = {res.rvalue**2:.4f}') print(f'p 値 = {res.pvalue:.4g}') |
📤 実行すると次の出力が得られる:
💬 結果の読み方:北海道は 12 年で総人口が約 37 万人減少 (年平均 33,145 人減)。 R² = 0.991 と極めて高い線形性。 「年度の差 = 経過年数」が意味を持つ間隔尺度ならではの計算。 年度を比例尺度と勘違いして 2023/2012=1.005 を係数化したらナンセンス。
緯度経度も間隔尺度の一種。 「東京 35.69°N、 札幌 43.06°N」の差 7.37° は距離と対応 (約 819 km) するが、 緯度の比 43/35 = 1.23 は無意味 (起点が赤道という規約だから)。
緯度経度をモデルに渡すときの注意:
IQ は平均 100、 標準偏差 15 になるように設計されたスコア。 100 という原点は人為的に決められたもの (集団の平均) なので、 比例尺度ではない。
このように、 心理測定の多くの指標は 間隔尺度。 教育・心理学の研究で「平均と SD」を使い、 「比例」を避けるのが慣習。
主要な機械学習アルゴリズムごとに、 間隔尺度を入力するときの注意点を表にまとめた。 SSDSE-B-2026 を例とした実務的指針。
| モデル | 間隔尺度を入れて OK か | 標準化の必要性 |
|---|---|---|
| 線形回帰 / Lasso / Ridge | ○ | 正則化を使うなら必須 (係数の公平性のため) |
| k-NN (距離ベース) | ○ | 必須 (単位スケールの違いが距離を支配する) |
| k-means クラスタリング | ○ | 必須 (上と同じ理由) |
| SVM | ○ | 必須 (RBF カーネルが距離依存) |
| ニューラルネット | ○ | 強く推奨 (学習の収束速度に影響) |
| 決定木 / Random Forest / XGBoost | ○ | 不要 (分岐は閾値比較のみ、 単調変換に不変) |
| PCA | ○ | 必須 (分散が大きい変数が PC1 を支配) |
| ナイーブベイズ (Gaussian) | ○ | 通常不要 (正規分布の中で吸収される) |
経験則:「距離・正則化・分散を使うモデルでは標準化が必須」。 これは間隔尺度の単位依存問題を防ぐ意味でも合理的。
このワークフローを踏めば、 「気温の比を取ってしまう」ような落とし穴は自然に回避できる。
Q1. 摂氏温度の平均は意味があるのに、 なぜ比は意味がないのですか?
A. 平均は「差の和を n で割る」ので、 単位の選択 (摂氏か華氏か) に対して整合的に変化します。 一方、 比 ÷ は「分子の原点/分母の原点」に強く依存し、 起点が任意な間隔尺度では値が安定しません。 SSDSE-B-2026 の沖縄 23.8℃ ÷ 北海道 11.0℃ = 2.16 と、 華氏変換後の 74.84 ÷ 51.80 = 1.44 で完全に違う値になることが証拠です。
Q2. 摂氏温度で機械学習モデルを学習しても問題ないですか?
A. 問題ありません。 ただし距離ベースのモデル (k-NN, k-means, SVM) では StandardScaler で標準化が必須です。 標準化した z スコアは摂氏でも華氏でも完全一致するので、 「単位による結果のブレ」は排除されます。
Q3. アンケートの 5 段階評価 (1=とても不満, 5=とても満足) は間隔尺度ですか?
A. 厳密には順序尺度ですが、 実務では「等間隔と仮定して」間隔尺度的に扱うことが多いです。 サンプル数が十分なら平均・標準偏差・Pearson 相関の結果はおおむね信頼できます。 ただし「3.7」と「3.8」の差を細かく議論するのは禁物で、 ノンパラ手法 (中央値, Mann-Whitney 検定) も併用するのが安全です。
Q4. 西暦と元号 (令和等) はどう違いますか?
A. 西暦も元号も間隔尺度ですが、 元号は不連続な切れ目があるので「平成 30 年と令和 1 年の差」は単純な引き算では出ません (実際は 1 年差)。 機械学習で年を扱うときは西暦 (連続的) に統一するのが鉄則。 SSDSE-B-2026 も全て西暦表記。
Q5. 「変動係数 (CV)」 はなぜ間隔尺度で使えないのですか?
A. CV = σ / μ は「平均に対する標準偏差の比」ですが、 分母 μ が任意原点に依存します。 SSDSE-B-2026 の気温で計算すると、 摂氏では CV=0.122、 華氏では CV=0.059、 K では CV=0.007 と全く違う値になります。 比例尺度 (人口など) でのみ意味ある指標です。
Q6. 「沖縄は北海道より暑い」と言うとき、 何倍が無理なら何と言えばよいですか?
A. 「12.8℃ 高い」のように差で表現するのが正しい言い方です。 「2.16 倍暑い」は摂氏単位での比なので、 単位を変えると値が変わる → 物理的に意味なし。 報道では「平均気温は東京の 1.4 倍」のような表現を避け、 「平均気温は東京より 6.2℃ 高い」と言いましょう。
1714 年、 ガブリエル・ファーレンハイト (Gabriel Fahrenheit) は水銀温度計を発明し、 自身の名を冠した華氏目盛 (°F) を導入した。 当時の知識では「絶対零度」の存在は分かっておらず、 「水の凝固点 (32°F)」と「人の体温 (96°F)」を基準にした任意目盛だった。
1742 年、 スウェーデンの天文学者アンデルス・セルシウス (Anders Celsius) は水の凝固点 0、 沸点 100 を採用した百分目盛 (摂氏) を提案。 これにより「水という普遍物質」を基準にした温度尺度が普及した。
1848 年、 ウィリアム・トムソン (ケルビン卿) が分子運動論から「絶対零度 = -273.15℃」を導き出した。 これが 絶対温度 (K) の誕生で、 はじめて「温度の比に意味」が持たされた (比例尺度の獲得)。
つまり摂氏・華氏は 歴史的経緯から原点が任意に決まっており、 これが「間隔尺度であって比例尺度ではない」理由。 もし日本の SSDSE-B-2026 が K で記録されていたら、 「沖縄 / 北海道 = 1.045 倍」という比も意味を持つことになる (もっとも実用的に役立つ情報ではないが)。
1946 年、 S. S. Stevens がこの「単位の任意性」を一般化し、 心理学・社会科学の測定指標も同じ枠組みで分類できることを示した。 これが Stevens の 4 尺度。 物理学から心理学への概念移植が、 統計学の発展に大きく貢献した瞬間だった。
教訓:「単位選択の自由度」が変換群を決め、 「変換群」が許容統計量を決める。 これが Stevens 理論の本質。
🎯 このコードでやること:SSDSE-B-2026 の B4101 (年平均気温)、 B4102 (最高気温)、 B4103 (最低気温) は全て間隔尺度 (摂氏)。 これら 3 変数間の相関と最低気温が負の値を取る (北海道 -7.4℃) ことの意味を確認する。
📥 入力データ:2023 年 47 都道府県の気温 3 列
1 2 3 4 5 6 7 8 9 10 11 | import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) d23 = df[df['年度']==2023] temps = d23[['年平均気温', '最高気温(日最高気温の月平均の最高値)', '最低気温(日最低気温の月平均の最低値)']] print(temps.corr().round(3)) # 相関行列 print(temps.describe().round(2)) |
📤 実行すると次の出力が得られる:
💬 結果の読み方:
本ページで学んだ実例の整理:SSDSE-B-2026 (2023 年 47 都道府県) を題材に、 (a) 年平均気温の平均 16.802℃ と標準偏差 2.048℃、 (b) 沖縄/北海道の比は摂氏 2.164、 華氏 1.444、 K 1.045 と単位依存、 (c) z スコアと Pearson 相関は単位に依存しない、 (d) 12 年間の北海道人口減少 (年平均 -33,145 人, R²=0.991) は「年度の差」を使う典型例、 (e) 47 県の年平均気温と最低気温の相関 r=0.945 は強い正の相関 — これらすべてが間隔尺度を正しく扱う計算例。
SSDSE-B-2026 は 47 都道府県 × 12 年 = 564 行・112 変数のデータセット。 含まれる変数を Stevens の 4 尺度に当てはめると以下のようになる。 これを正しく分類することが「どの統計量を使ってよいか」の出発点。
| 変数 | 尺度 | 理由 |
|---|---|---|
| 都道府県, 地域コード (R01000 等) | 名義尺度 | 大小関係なし。 ラベル区別のみ |
| 年度 (2012〜2023) | 間隔尺度 | 差(年数)は意味あり, 比(2023÷2012=1.0055)は無意味 |
| 年平均気温 (℃) | 間隔尺度 | 摂氏 0℃ は水の凝固点で物理的零点ではない |
| 最高気温, 最低気温 (℃) | 間隔尺度 | 摂氏。 北海道は -7.4℃ (負の値可) も間隔尺度の特徴 |
| 総人口, 消費支出 (円) | 比例尺度 | 0 が「いない/使わない」を意味する |
| 合計特殊出生率, 高齢化率 | 比例尺度 | 0 が定義可能, 「2 倍」も意味あり |
2023 年 47 都道府県のうち、 一番低いのが 北海道 11.0℃、 一番高いのが 沖縄県 23.8℃。
2.164 と 1.045 がここまで違う以上、 摂氏での「2 倍暑い」は 物理的に無意味。 一方、 差 (12.8) は摂氏と K で完全一致する。 これが「間隔尺度では差は意味あり、 比は無意味」の数値的証明。
2023 年 47 都道府県の年平均気温の平均と標準偏差を計算:
平均 16.802 ℃ は「47 都道府県の気候の中心」として意味がある。 これを華氏に変換しても、 平均が華氏スケールでの中心に対応する (62.24°F)。 比例尺度ではない (絶対零点を持たない) ことを認めた上で、 平均・標準偏差は問題なく使える。
気温を z スコア $z = (x - \bar{x}) / s$ に変換すると、 摂氏でも華氏でも結果が完全一致する:
z スコアは原点・単位の選択に依存しないので、 間隔尺度を 機械学習に渡す前の前処理として広く使われる。 標準化は間隔尺度の「比が不定」問題を回避する代表的なテクニック。
合成温度データで間隔尺度の特徴 (差は意味あるが比は無意味) を確認する。
| 日 | 摂氏 (°C) | 華氏 (°F) |
|---|---|---|
| 1 | 10 | 50 |
| 2 | 20 | 68 |
| 3 | 30 | 86 |
1 2 3 4 5 6 7 8 9 | import numpy as np c = np.array([10, 20, 30]) f = c * 9/5 + 32 print(f"摂氏: {c}") print(f"華氏: {f}") print(f"摂氏 ratio: {c[2]/c[0]}") print(f"華氏 ratio: {f[2]/f[0]:.3f}") print(f"摂氏 差: {c[2]-c[0]}") print(f"華氏 差: {f[2]-f[0]}") |
💬 手計算 (Step 2) と Python 出力が完全一致。 比は無意味だが差は変換可能。
🎯 このコードでやること:SSDSE-B-2026 の 2023 年 47 都道府県データから年平均気温 (間隔尺度) を取り出し、 平均・標準偏差・最大最小を確認する。
📥 入力データ (SSDSE-B-2026.csv の関連カラム抜粋, cp932 エンコーディング):
1 2 3 4 5 6 7 8 9 10 11 | import pandas as pd # SSDSE-B-2026 を読み込み、 2023 年 47 都道府県だけに絞る df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) d23 = df[df['年度'] == 2023] # 年平均気温 (間隔尺度・摂氏) temp = d23['年平均気温'] print('平均(℃) =', round(temp.mean(), 3)) print('標準偏差(℃) =', round(temp.std(), 3)) print('最低 =', temp.min(), '最高 =', temp.max()) |
📤 実行すると次の出力が得られる:
💬 結果の読み方:47 都道府県の年平均気温の平均値は約 16.8℃。 標準偏差 2.05 は「平均から ±2℃ 程度がばらつきの目安」を示す。 これらは間隔尺度で意味のある統計量。
🎯 このコードでやること:摂氏 (℃) と華氏 (°F) と絶対温度 (K) で、 沖縄県と北海道の気温の「比」を計算し、 単位によって値が大きく変わることを確認する。
📥 入力データ:①で取得した d23 (2023 年 47 都道府県)
1 2 3 4 5 6 7 8 9 10 11 12 13 | c_oki = d23[d23['都道府県']=='沖縄県']['年平均気温'].iloc[0] c_hok = d23[d23['都道府県']=='北海道']['年平均気温'].iloc[0] f_oki = c_oki * 9/5 + 32 # 華氏 f_hok = c_hok * 9/5 + 32 k_oki = c_oki + 273.15 # 絶対温度 k_hok = c_hok + 273.15 print('比 (摂氏): 沖縄/北海道 =', round(c_oki/c_hok, 3)) print('比 (華氏): 沖縄/北海道 =', round(f_oki/f_hok, 3)) print('比 (絶対温度): 沖縄/北海道 =', round(k_oki/k_hok, 4)) print('差 (摂氏):', c_oki-c_hok, '差 (K):', k_oki-k_hok) |
📤 実行すると次の出力が得られる:
💬 結果の読み方:摂氏では 2.164、 華氏では 1.444、 絶対温度では 1.045。 「比」の結果が単位選択で完全に変わる以上、 摂氏温度の比は無意味。 一方、 差 (12.8) は摂氏でも K でも完全一致 → 差は意味あり。 これが間隔尺度の本質。
🎯 このコードでやること:sklearn の StandardScaler で年平均気温を z スコア化し、 摂氏でも華氏でも同じ z スコアが得られることを確認する。 機械学習の前処理として典型的。
📥 入力データ:①の d23
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from sklearn.preprocessing import StandardScaler import numpy as np c = d23['年平均気温'].values.reshape(-1,1) f = c * 9/5 + 32 # 華氏 zc = StandardScaler().fit_transform(c) zf = StandardScaler().fit_transform(f) print('北海道 z (摂氏) =', round(zc[0,0], 3)) print('北海道 z (華氏) =', round(zf[0,0], 3)) # 差は理論上ちょうど 0。 実際に出るのは倍精度計算の丸め誤差(1e-15 前後)で、 # 実行環境によって桁の並びが変わるため、 許容誤差との比較で判定する。 max_diff = np.max(np.abs(zc - zf)) print(f'最大差 = {max_diff:.1e} (倍精度の丸め誤差の範囲)') print('実質ゼロと言えるか:', bool(max_diff < 1e-12)) |
📤 実行すると次の出力が得られる:
💬 結果の読み方:z スコアは摂氏でも華氏でも完全に一致 (差は浮動小数点誤差レベル)。 つまり 標準化は間隔尺度の「単位依存」を取り除く。 機械学習で気温などの間隔尺度を扱うときは、 まず標準化するのが定石。
🎯 このコードでやること:年平均気温と消費支出 (光熱・水道費) の Pearson 相関を、 摂氏と華氏それぞれで計算し、 完全一致することを確認する。 これが「間隔尺度でも相関係数を使ってよい」根拠。
📥 入力データ:①の d23 から年平均気温と光熱・水道費の 2 列
1 2 3 4 5 6 7 8 9 10 11 | from scipy.stats import pearsonr temp_c = d23['年平均気温'] temp_f = temp_c * 9/5 + 32 util = d23['光熱・水道費(二人以上の世帯)'] r_c, p_c = pearsonr(temp_c, util) r_f, p_f = pearsonr(temp_f, util) print(f'Pearson 相関 (摂氏): r = {r_c:.4f}, p = {p_c:.4f}') print(f'Pearson 相関 (華氏): r = {r_f:.4f}, p = {p_f:.4f}') |
📤 実行すると次の出力が得られる (実際の SSDSE-B-2026 で計算):
💬 結果の読み方:摂氏でも華氏でも r = -0.779 で完全一致。 Pearson 相関は線形変換 $x'=ax+b$ で不変。 これが「間隔尺度で相関を計算してよい」理論的根拠。 結果は「気温が高い県ほど光熱費が低い」 (暖房代が減るため)、 これは物理的に妥当な結論 (p < 10⁻¹⁰ で統計的有意)。
間隔尺度に対して許される変換は $x' = ax + b$ (a>0) のアフィン変換のみ。 これにより尺度の本質的構造が保たれる。 以下、 各統計操作が間隔尺度で意味を持つかをまとめる。
| 操作 | 間隔尺度で OK か | 理由 |
|---|---|---|
| 最頻値・度数 | ○ | 名義レベルの操作なので問題なし |
| 中央値・順位 | ○ | 順序が定まれば計算可 |
| 平均 (算術平均) | ○ | 差が定義できれば成立 |
| 標準偏差・分散 | ○ | 差の二乗を集計するだけ |
| Pearson 相関 | ○ | アフィン変換に対して不変 |
| 線形回帰 | ○ | 係数の意味は単位依存だが正しく解釈可 |
| 変動係数 (CV = σ/μ) | ✕ | 分母 μ が任意原点に依存 (摂氏と華氏で異なる) |
| 幾何平均 | ✕ | 対数を取るので負の値や原点依存に弱い |
| 「○倍」と表現 | ✕ | 比は原点を持つ尺度でのみ意味 |
経験則:「平均は OK、 比は NG」と覚えておけば実務でほとんど困らない。
2023 年 47 都道府県のうち最低 (北海道) と最高 (沖縄県) を 3 つの単位で並べた表。 統計操作の不変性/可変性が一目で分かる。
| 指標 | 摂氏 (℃) | 華氏 (°F) | 絶対温度 (K) | 尺度 |
|---|---|---|---|---|
| 北海道 (最低) | 11.0 | 51.80 | 284.15 | ― |
| 沖縄県 (最高) | 23.8 | 74.84 | 296.95 | ― |
| 差 (沖縄 − 北海道) | 12.8 | 23.04 | 12.80 | 間隔尺度で OK (単位の差だけで本質は同じ) |
| 比 (沖縄 ÷ 北海道) | 2.164 | 1.445 | 1.045 | 不一致 → 摂氏・華氏では NG |
| 平均 (47 県) | 16.802 | 62.244 | 289.952 | どの単位でも平均→平均で対応 (アフィンに不変) |
| 標準偏差 | 2.048 | 3.687 | 2.048 | 単位の比 (9/5) でスケール |
| 変動係数 σ/μ | 0.122 | 0.059 | 0.0071 | 大幅変化 → 間隔尺度では使えない |
この表が示すように、 差・平均・標準偏差は単位を変えても整合性が保たれる (係数倍で対応) が、 比と変動係数は単位ごとに値がバラバラ → 間隔尺度では使ってはいけないことが直感的にわかる。
間隔尺度は Stevens の 4 尺度の 3 番目で、 上は比例尺度に発展、 下は順序尺度から段階を踏んで現れる。
情報量 ↑ │ ├── 比例尺度 (Ratio) 例: 人口, 所得, 身長, K → 比 OK │ ↑ 線形変換 + 絶対零点 ├── 間隔尺度 (Interval) ← 例: 摂氏温度, 西暦, IQ → 差 OK, 比 NG │ ↑ 順序 + 等間隔性 ├── 順序尺度 (Ordinal) 例: ランキング, 5 段階 → 順序 OK, 差 NG │ ↑ 区別 + 順序 └── 名義尺度 (Nominal) 例: 性別, 血液型 → 区別のみ
上位の尺度ほど許される演算が増える。 「下位の操作は上位でも全て使える」という入れ子構造になっている (例:比例尺度では中央値も平均も使える)。
間隔尺度は Stevens (1946) の 4 尺度 (名義・順序・間隔・比) のうち 3 番目で、 「差は意味あるが比は意味ない (絶対零度がない)」尺度。 摂氏温度 ・ 西暦年 ・ IQ などが該当。 適用可能な統計量と分析が尺度水準で決まる。
典型的な誤りは「IQ 100 は IQ 50 の 2 倍賢い」と言うこと。 間隔尺度は差は意味ある (IQ 110 - 100 = 10 と IQ 100 - 90 = 10 は同じ差) が、 比は意味ない (絶対零点がないため)。 比を語るには比尺度 (例: 重さ・長さ) が必要。
「間隔尺度」を扱う際の手法選択は、 状況に応じて以下のフローで判断すると迷いが減る。
このフローに沿って判断することで、 「間隔尺度」を中核とした適切な手法選択ができる。
間隔尺度は 原点 (0) が便宜的、 比例尺度は 原点が絶対的。 この一点の違いが、 「2 倍」「半分」「比率」「変化率」といった日常的な計算の許容性を分ける。 ここでは 4 尺度それぞれで「どの演算が許されるか」を一覧表にまとめ、 間隔尺度で乗除算・変動係数が使えない理由を整理する。
| 演算 | 名義 | 順序 | 間隔 | 比例 | 代表値 |
|---|---|---|---|---|---|
| 等価 / 不等価 (=, ≠) | ○ | ○ | ○ | ○ | 最頻値 |
| 大小比較 (<, >) | × | ○ | ○ | ○ | 中央値 |
| 加減算 (+, −) | × | × | ○ | ○ | 算術平均 |
| 乗除算 (×, ÷) | × | × | × | ○ | 幾何平均・変化率 |
| 変動係数 (CV = SD/平均) | × | × | × | ○ | — |
特に強調すべきは 「間隔尺度では乗除算と変動係数が許されない」 という点。 これがしばしば実務で誤って使われる。
摂氏温度は 間隔尺度 の代表例。 下の温度計を ドラッグ(またはスライダー操作)して 2 つの温度 A・B を動かすと、 摂氏(℃)・華氏(℉)・絶対温度(K)へ同時変換され、 差・比・平均・変動係数が実時間で計算される。 「差は意味を持つ / 比は意味を持たない」を数値で体感しよう。
| 量 | 摂氏 ℃ | 華氏 ℉ | 絶対温度 K |
|---|---|---|---|
| A | 20.0 | 68.0 | 293.15 |
| B | 10.0 | 50.0 | 283.15 |
| 差 A−B ✅ | 10.0 | 18.0 | 10.0 |
| 平均 (A+B)/2 ✅ | 15.0 | 59.0 | 288.15 |
| 比 A÷B ❌ | 2.00 | 1.36 | 1.04 |
| 変動係数 CV ❌ | 0.333 | 0.153 | 0.017 |
✅ = 尺度変換で整合的に写る(間隔尺度で使ってよい) ❌ = 単位で答えが変わる(間隔尺度では無意味)
比例尺度(比例尺度;例:絶対温度 K・人口・面積)は 絶対的な原点 0 を持つので比が意味を持つ(「2 倍」が言える)。 間隔尺度と比例尺度は「同じ数値」でも許される演算が違う——上の温度計で K 列だけは 0 が絶対零度なので比 A÷B にも意味がある。 Stevens の 4 尺度水準は 名義 < 順序 < 間隔 < 比例 の順に許される演算が増える。 間隔尺度で安全に扱うには 標準化(z 化) が有効(平均と 標準偏差しか使わないため尺度依存が消える)。
間隔尺度を一言でいえば「目盛りの間隔は等しいが、 原点(ゼロの位置)は人間が任意に決めた」尺度である。 摂氏温度・西暦・偏差値がその代表。 上のインタラクティブ温度計で見たとおり、 「10℃ の差」はスケールを ℉ や K に変えても等しい差に写るが、 「0 の位置」だけはスケールごとにバラバラだった。 この間隔の不変性と原点の任意性の同居こそ、 間隔尺度の核心である。
Stevens の 4 水準は情報量の少ない順に 名義 < 順序 < 間隔 < 比例 と積み重なる。 間隔尺度は下から 3 番目で、 「順序(大小)」に加えて「差の等しさ」まで保証するが、 「比(何倍)」だけはまだ保証しない。 一段ずつ何が増えるかを整理すると理解が固まる:
| 水準 | 新たに使える情報 | 身近な例 | まだ言えないこと |
|---|---|---|---|
| ① 名義 | 「同じ/違う」の区別だけ | 都道府県名, 血液型 | どちらが大きい? |
| ② 順序 | + 大小の順番 | 震度, 5 段階評価 | 差はどれだけ? |
| ③ 間隔 | + 差の等しさ | 摂氏温度, 西暦, 偏差値 | 何倍?(比は言えない) |
| ④ 比例 | + 絶対原点(比・○倍) | 人口, 所得, ケルビン | (すべて言える) |
「30℃ は 10℃ の 3 倍暑い」が誤りな理由を、 階層の言葉で言い直すと明快になる。 「3 倍」という比の主張は水準④(比例尺度)でしか許されないのに、 摂氏は水準③(間隔尺度)だから。 同じ物理状態を華氏で見れば 86℉ ÷ 50℉ ≒ 1.72 倍、 絶対温度で見れば 303.15K ÷ 283.15K ≒ 1.07 倍と、 「倍率」が単位を変えるたびに変わってしまう。 単位を替えると答えが変わる操作は、 その尺度では意味を持たない——これが尺度水準の実用的な判定基準である。
偏差値は 平均 50・標準偏差 10 になるよう z スコアを一次変換した値(偏差値 = 50 + 10z)で、 典型的な間隔尺度である。 実データで確かめよう。 SSDSE-B-2026 の 2023 年・年平均気温(n=47, 平均 16.80℃, 母標準偏差 2.03℃)を偏差値化すると:
| 都道府県 | 年平均気温 (℃) | 偏差値 |
|---|---|---|
| 北海道 | 11.0 | 21.4 |
| 岩手県 | 12.5 | 28.8 |
| 愛知県 / 広島県 | 17.5 | 53.4 |
| 東京都 | 17.6 | 53.9 |
| 大阪府 | 18.0 | 55.9 |
| 鹿児島県 | 19.5 | 63.3 |
| 沖縄県 | 23.8 | 84.5 |
摂氏→華氏は一次変換 $F = \tfrac{9}{5}C + 32$($a=9/5, b=32$)。 間隔尺度の統計量が変換でどう振る舞うかを、 2023 年 47 県の年平均気温の実測で確認すると:
| 統計量 | 摂氏 (℃) | 華氏 (℉) | 変換則 | 判定 |
|---|---|---|---|---|
| 平均 | 16.802 | 62.244 | $\bar{F}=\tfrac95\bar{C}+32$(原点も動く) | 値は変わる(が対応が付く) |
| 分散 | 4.106 | 13.303 | $\times(9/5)^2=3.24$(切片 b は消える) | 値は変わる |
| 標準偏差 | 2.026 | 3.647 | $\times 9/5$ | 値は変わる |
| 相関係数 | 華氏でも小数点以下まで完全一致 | $a>0$ で不変 | 変わらない ✅ | |
| z スコア / 偏差値 | 各県まったく同じ値 | 平均・SD を割るので b も a も消える | 変わらない ✅ | |
要点は「平均・分散・標準偏差は単位で値が変わるが、 相関係数・z スコア・偏差値・決定係数はアフィン変換に不変」ということ。 だから間隔尺度データで「ばらつきの大きさ」や「関係の強さ」を単位に依らず語りたいなら、 生の分散ではなく 相関や標準化した量を使うのが安全。 分散 4.106 と 13.303 は「単位を替えただけで 3.24 倍」になっており、 分散の絶対値を単位横断で比較してはいけないことがよく分かる。
間隔尺度で意味構造を壊さない変換は正の一次(アフィン)変換 $x' = a x + b\ (a>0)$ に限られる。 摂氏↔華氏($a=9/5,\ b=32$)が典型。 $a>0$ が必要なのは、 $a<0$ だと大小関係が逆転して「順序」が壊れるため。 $b$ は原点をずらす自由度で、 原点が任意な間隔尺度ではいくらでも動かしてよい。 この「$a$(尺度の伸縮)と $b$(原点移動)の 2 自由度」が、 比例尺度($b=0$ に固定、 $x'=ax$ のみ)との違いを生む。
| 性質 | $x'=ax+b$ での振る舞い | 該当する量 |
|---|---|---|
| 完全に不変 | 値そのものが変わらない | 相関係数, 決定係数 R², z スコア, 偏差値, 歪度・尖度 |
| 対応が付く(共変) | 同じ一次変換で写る | 平均, 中央値, 最頻値, 分位点 |
| 尺度倍で変わる | $\times a$(または $a^2$) | 標準偏差($\times a$), 分散($\times a^2$) |
| 意味が壊れる | 単位でバラバラ | 比(○倍), 幾何平均, 調和平均, 変動係数 |
「不変な量だけを結論に使う」のが安全運用の原則。 z スコア・偏差値・相関が実務で重宝されるのは、 まさに単位(原点と尺度)の恣意性を洗い流してくれるから。
間隔と 比例尺度 を分けるのは絶対原点の有無ただ一点。 摂氏(間隔)に 273.15 を足せばケルビン(比例)になり、 「絶対零度=分子運動ゼロ」という物理的な無が原点に据わる。 だから K では「A は B の 1.07 倍」に意味が生まれる。 逆に、 比例尺度に対数変換($\log$)を施すと間隔尺度に降格する:$\log$ 後の差は元の「比」を表すが、 $\log$ 値そのものの比には意味がない。 尺度水準は固定属性ではなく、 変換によって行き来することを押さえておきたい。
「全く不満 1 …… 大変満足 5」のリッカート尺度は、 隣り合う選択肢の心理的間隔が本当に等しい保証がないため厳密には順序尺度。 それでも実務では平均や t 検定を当てるために「等間隔と仮定」して間隔尺度扱いすることが多い。 争点と実務指針を整理すると:
関連ページ: 尺度水準・ 名義尺度・ 順序尺度・ 比例尺度・ 標準化(z スコア)・ 平均・ 標準偏差・ 分散・ 相関係数 (いずれも本用語集内の実在ページ)。