論文一覧に戻る 📚 用語集トップ 🗺 概念マップ
📚 用語解説
📚 用語解説
量的変数
Quantitative Variable
基礎統計

🔖 キーワード索引

30秒で分かる結論 直感で掴む 定義・尺度水準 数式を言葉で読み解く SSDSE-B-2026 実値計算 Python での扱い よくある落とし穴 関連手法・派生 関連用語 参考文献 概念マップ 手法選択フロー

本ページの深掘り箇所を一気に俯瞰するためのチップ群です。 量的変数の定義・尺度水準から、 SSDSE-B-2026 の実データ計算・Python 実装・落とし穴までを順にたどれます。

💡 30秒で分かる結論

🍰 まずはやさしく

数値で測れるデータのことです。

大きさの比較や計算をするために使います。

テストの点数や身長などが例です。

この章では量的変数の基本を学びます。

数値で表され、 演算が意味を持つ変数

💡 30 秒で分かる結論 (拡充版)

📍 あなたが今見ているもの

🍰 まずはやさしく

データの種類の一つです。

分析の最初に型を確認するために使います。

スマホで記録する歩数などが例です。

ここでは他のデータの型との違いを読みます。

あなたは今、 量的変数 (Quantitative Variable) という、 数値で測定でき算術演算が意味を持つ変数の用語ページを見ています。 SSDSE-B-2026 の総人口 (A1101)、 出生数 (A4101)、 年平均気温 (B4101) はすべて量的変数。 質的変数 (都道府県名・性別など) との対比で理解します。

📍 文脈: あなたが今見ているもの

「量的変数」は データ分析の最初に触れる「変数の型」のページです。 上位概念は データの型。 対概念は 質的変数 (カテゴリ変数)、 並列概念は 順序変数。 量的変数の中はさらに 連続型 (実数値、 平均気温・面積) と 離散型 (整数値、 出生数・病院数) に分かれます。 量的変数だけが 平均標準偏差 を計算できる対象 (順序変数では順位平均しか意味を持たない)。 SSDSE-B-2026 では 112 列中 100 列以上が量的変数で、 これが回帰や相関の対象となります。

🎨 直感で掴む

🍰 まずはやさしく

数値そのものに意味があるデータです。

計算して正解が出るか確かめるために使います。

買い物で使う金額などが例です。

ここでは数値の意味の見分け方を読みます。

量的変数とは 数値が「量」として意味を持つ変数です。 SSDSE シリーズで言えば、 「総人口 (人、 SSDSE-B)」「県民所得 (千円、 SSDSE-A)」「面積 (km²、 SSDSE-D/E)」のように、 単位がついて加減乗除が意味を持つ列が量的変数です (県民所得・面積は SSDSE-B には無く A/D/E に収録)。 一方、 同じ整数でも「都道府県コード R13000 (=東京) 」は順序や倍率に意味がないため量的変数ではなく質的変数です。

見分け方は単純で、 「2 倍」「平均」「差を取る」操作に意味があるか?を問います。 「人口の平均 265 万人」は意味があるが、 「都道府県コードの平均 R23500」は無意味。 この区別ができないと、 散布図・相関・回帰のどれも誤った結論を生みます。

🎨 直感で掴む: 「数値の意味」が階層化されている

量的変数は「数値そのものに意味がある」変数です。 質的変数 (例: 都道府県コード R13000 = 東京) では、 数字は単なるラベルで、 加減乗除に意味がありません。 一方、 量的変数の「東京都人口 14,086,000 人」は、 「鳥取県 537,000 人の約 26 倍」と倍率を計算しても意味があり (比例尺度)、 「東京と鳥取の差 13,549,000 人」も意味を持ちます (差を計算できる尺度)。 量的変数は 4 つの尺度水準のうち上位 2 つ (間隔・比例) に該当します。

尺度意味演算SSDSE 例
名義 (質的)ラベル分類= ≠Code R01000 (北海道)
順序 (質的)順位+ < >満足度 5 段階
間隔 (量的)差に意味、 ゼロは任意+ - 平均B4101 平均気温 (摂氏)
比例 (量的)差・比に意味、 真のゼロ+ - × ÷A1101 人口、 A4103 出生率

📐 定義

🍰 まずはやさしく

計算ができる数値の変数のことです。

平均などの統計量を出すために使います。

部活動の練習時間などが例です。

ここでは詳しい定義と使い道を読みます。

数値で表され、 演算が意味を持つ変数

英語名 Quantitative Variable

🎯 量的変数を扱う場面

📋 量的変数を扱う前提・適用範囲

量的変数を統計解析・機械学習で扱うとき、 次の前提を確認する:

📐 数式: 量的変数で使える統計量

量的変数だからこそ意味を持つ統計量:

$$ \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i \quad \text{(平均)} $$

$$ s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2 \quad \text{(不偏分散)} $$

$$ r_{xy} = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum (x_i - \bar{x})^2 \sum (y_i - \bar{y})^2}} \quad \text{(Pearson 相関)} $$

これらは 量的変数同士でのみ意味を持ちます。 質的変数では値の差を取ることが定義上できないため、 平均や分散は計算しない (または順位平均などで代用)。

線形変換に対する不変性 (比例尺度では y = ax、 間隔尺度では y = ax + b):

$$ \text{比例尺度}: \frac{x_1}{x_2} = \frac{a x_1}{a x_2} \quad (\text{単位変換しても比は不変}) $$

📐 量的変数の代表値 5 種 — どれを使うべきか

量的変数の「典型値」を 1 つの数値で表すには、 5 種類の代表値がある。 状況によって使い分けるべきだが、 実務では多くが「とりあえず平均」を選んで誤解を生んでいる。 SSDSE-B-2026 の都道府県人口を例に整理する。

1. 算術平均 (Arithmetic Mean)

最も馴染み深い「全部足して個数で割る」値。 SSDSE-B 47 都道府県の総人口平均は約 265 万人。 外れ値 (東京) の影響を強く受けるため、 単独で「典型」を語るのは危険。 適切な使い所: 正規分布に近いデータの中心位置、 全体の総量を均等に配分した場合の見積もり。

2. 中央値 (Median)

小さい順に並べた中央値。 SSDSE-B では約 155 万人 (24 番目)。 外れ値に対して頑健で、 「典型的な県の規模」を語るならこちらが適切。 適切な使い所: 右に裾を引く分布、 所得や人口など外れ値が想定される量的変数。

3. 最頻値 (Mode)

連続量的変数では「最も多い階級」をビン化して定義する。 SSDSE-B で 50 万幅のビンを取ると、 100-150 万人帯が最頻 (13 県)。 量的変数で最頻値を使うことは少ないが、 双峰性を捉えたい場合に有用 (例: 「都市県」と「地方県」の 2 つのモード)。

4. 幾何平均 (Geometric Mean)

n 個の数の積の n 乗根。 比率や成長率を扱う際に算術平均より適切。 例: 「年率 3 % 成長を 10 年続けたら何倍?」を算術平均で出すと誤り。 SSDSE-B の人口で幾何平均を取ると約 183 万人で、 中央値 (約 155 万人) と平均 (約 265 万人) の間に位置する。 適切な使い所: 成長率, 比率, インデックス、 対数正規分布に従う量的変数。

5. 調和平均 (Harmonic Mean)

n / (1/x₁ + 1/x₂ + … + 1/xₙ)。 「速度の平均」「F 値」など、 単位が逆数で意味を持つ量的変数で使う。 例: 「往復で行きが時速 40 km、 帰りが時速 60 km なら平均速度は?」の答えは 50 km/h (算術平均) ではなく 48 km/h (調和平均)。 SSDSE-B の文脈では人口密度や効率指標で使う。

これら 5 種の代表値は、 量的変数の「どの側面を強調したいか」で選ぶ。 「典型」「中央」「ピーク」「成長率」「効率」のどれを伝えたいかを明確にしてから、 対応する代表値を選定するのが正解。 「平均」を機械的に選んで「平均年収 500 万円」と発表し、 実態は中央値 380 万円・最頻値 280 万円というギャップが生じる事例は枚挙にいとまがない。

📜 量的変数の概念史 — 古代測量から尺度水準論まで

「量的変数」という現代統計学の概念は、 一朝一夕に確立したわけではない。 古代から現代までの 5 段階を辿る。

1. 古代エジプト・バビロニア (BC 3000-) — 量の起源

ナイル川の氾濫後の土地測量、 ハンムラビ法典の刑罰量、 月の周期 (天文観測) など、 「量」という概念は文明と共に生まれた。 ここでの量は具体的な物理量 (長さ・重さ・時間) であり、 抽象的な「量的変数」概念はまだない。

2. ガリレオ (17 世紀) — 自然法則の量化

「自然という本は数学の言葉で書かれている」と述べたガリレオは、 自由落下の法則を「時間 t と距離 s の関係 s = ½gt²」として量的に記述した。 これが「量的変数同士の関数関係」の原型となる。

3. ガウス (1809) — 誤差論と正規分布

ガウスは天体観測の誤差を扱う中で、 量的変数の分布を扱う必要性に気付き、 最小二乗法と正規分布を体系化した。 これによって「量的変数は確率分布を持つ」という現代統計学の前提が確立した。

4. ピアソン・フィッシャー (1900-1925) — 統計学の確立

カール・ピアソンが相関係数 (1896) と χ² 検定 (1900) を、 R.A.フィッシャーが分散分析 (1925) と尤度法を確立。 ここで初めて「量的変数の比較・関連」を扱う統計手法群が整い、 量的変数と質的変数の境界が分析手法レベルで明確になった。

5. スティーブンス (1946) — 4 つの尺度水準

心理学者 S.S.スティーブンスが論文 "On the theory of scales of measurement" (Science, 1946) で名義・順序・間隔・比例の 4 尺度を体系化。 量的変数は「間隔尺度 ∪ 比例尺度」と定義され、 質的変数は「名義尺度 ∪ 順序尺度」となった。 この分類は現代も標準的な枠組みとして使われている。

21 世紀に入り、 機械学習の隆盛と共に「量的 vs 質的」の境界はさらに洗練された。 例えば One-Hot エンコーディング は質的を量的 (0/1 のダミー変数) に変換する技術であり、 逆に 次元削減クラスタリング は量的を質的 (クラスタ ID) に変換する技術。 現代では「量的か質的かは固定の属性ではなく、 分析目的に応じて変換するもの」という見方が一般化している。

❓ 量的変数 深掘り FAQ — 学習者から実務家まで

「量的変数」を扱う上で、 入門者・中級者・実務家からよく寄せられる疑問を 8 つピックアップして詳細回答する。

Q1. 「数値だから量的」と判断していい?

A. ノー。 SSDSE-B-2026 の「地域コード R01100」は数値 (R を除いた整数として読める) だが、 これは識別子であり名義尺度。 差や比に意味がないため量的ではない。 同様に「電話番号」「学籍番号」「郵便番号」も数値だが量的ではない。 量的かどうかは「その数値で四則演算 (特に差) が意味を持つか」で判定する。

Q2. 「離散」と「連続」は本質的に違う?

A. 理論的には違うが、 実務では曖昧になる。 SSDSE-B-2026 の「総人口」は理論的には整数 (人) で離散だが、 値が 100 万以上のオーダーなので実用上は連続として扱う。 一方、 「家族の人数」は離散として扱うのが自然。 目安は「取り得る値の数が標本サイズに対して 10 倍以上多ければ連続的に扱う」。

Q3. 量的変数を「カテゴリ化」してもよい?

A. 状況による。 例えば「年齢」を「子供 (-14)・若者 (15-39)・中年 (40-64)・高齢 (65-)」と 4 カテゴリ化すれば解釈が楽になるが、 統計的検出力は低下する (情報損失)。 また、 カテゴリ境界の選定に恣意性が入る。 SSDSE-B-2026 で「高齢化率」を 30 % を境に 2 値化すると、 31 % と 29 % の県が別カテゴリになる不自然さが残る。 原則は「分析目的が解釈重視ならカテゴリ化 OK、 予測精度重視なら原値を維持」。

Q4. 量的変数が極端に歪んでいる場合、 どう変換する?

A. SSDSE-B の人口列のように右に強く歪む場合、 対数変換 (log) が第一選択。 ただし 0 を含む場合は log1p を使う。 さらに柔軟な選択肢として Box-Cox 変換Yeo-Johnson 変換 がある (後者は負値も扱える)。 これらは「分布を正規分布に近づける」目的で使われ、 線形回帰や t 検定の前提を満たすために有効。

Q5. 量的変数の標準偏差は平均と一緒に常に報告すべき?

A. イエス、 ただし分布が対称的な場合のみ。 SSDSE-B の人口は歪度が大きいため、 平均 ± 標準偏差で「典型範囲」を示すと誤解を生む (下限がマイナスになるなど)。 歪んだ分布では 中央値 + 四分位範囲 (IQR) または 中央値 + 5-95 パーセンタイルを併記するのが誠実。

Q6. 量的変数 2 つの「相関がない」とは何を意味する?

A. ピアソン相関係数 r が 0 に近いことは「線形関係がない」のみを意味し、 「無関係」ではない。 SSDSE-B-2026 で「気温と人口」の相関を取ると r ≈ 0.12 となりほぼ「無相関」に見えるが、 これは「日本の人口は気温に直接依存しない」という当然の結果。 一方、 U 字型の非線形関係 (例: 年齢と消費支出) では r ≈ 0 でも関係はある。 必ず散布図で確認すること。

Q7. 機械学習で量的変数を投入する前にスケーリングは必須?

A. モデルによる。 線形回帰、 ロジスティック回帰、 SVM、 ニューラルネット、 k-NN は標準化必須。 一方、 決定木系 (Random Forest, XGBoost, LightGBM) はスケーリング不要。 SSDSE-B-2026 で「総人口」と「気温」を同じモデルに入れる場合、 前者は標準偏差 280 万、 後者は約 2°C と桁が違うため、 距離ベースのモデルでは人口が支配的になる。 標準化で「平均 0・分散 1」に揃えると平等に扱える。

Q8. 「量的変数の欠損値」は平均で埋めて良い?

A. 限定的にイエス。 欠損が完全にランダム (MCAR: Missing Completely At Random) なら平均補完で偏りなし。 ただし MCAR は希少で、 通常は「観測しにくい人ほど欠損」など系統的偏りがあるため、 平均補完は分散を過小評価する。 SSDSE-B のように公的統計で欠損が稀な場合は気にしなくて良いが、 アンケートデータでは 欠損メカニズム を分析し、 多重代入 (MICE) などを検討する。

🧭 量的変数 — 実プロジェクトでの 7 ステップ判断フロー

「データを受け取ってから本格分析に入るまで」に量的変数を整える 7 ステップを示す。 SSDSE-B-2026 を例にした標準フロー。

ステップ 1: dtype 確認 (1 分)

df.dtypes で全列の型を確認。 数値であるべき列が object になっていれば、 ヘッダ行のズレ・カンマ区切り問題・特殊文字混入などを疑う。 SSDSE-B-2026 では skiprows=1 を忘れると 110 列すべて object になる。

ステップ 2: 基本統計量の確認 (2 分)

df.describe() で量的変数の min/max/mean/std を一気に把握。 「人口列にマイナス値」「気温列に 999 という magic number」「降水量列に 0 が大量」などの異常を発見する。 SSDSE-B-2026 は公的統計で品質が高いため、 多くの異常はないが、 「降水量に 0 がない (= 全県年間降水あり)」「気温が 5-25°C の現実的範囲」などの正常性確認は重要。

ステップ 3: 欠損値の確認 (2 分)

df.isna().sum() で列ごとの欠損数を確認。 SSDSE-B-2026 の主要列はほぼ欠損なしだが、 マイナーな指標 (専門学校数など) は一部県で欠損があり得る。 欠損が 5 % 未満なら平均/中央値で補完、 5-20 % なら多重代入、 20 % 超なら列除外を検討。

ステップ 4: 分布形状の確認 (5 分)

各量的変数のヒストグラムと箱ひげ図を描く。 単峰か双峰か、 対称か歪んでいるか、 外れ値はあるかを目視で確認。 df.hist(figsize=(20,15)) で全列を一気にプロットできる。 SSDSE-B-2026 では総人口・死亡数系が右裾型、 気温・出生率が対称型と分かる。

ステップ 5: 変換の選定 (3 分)

右裾型の列は対数変換 (比例尺度のみ)、 0 を含むなら log1p。 標準化が必要なモデル (線形回帰、 SVM、 NN) を使うなら StandardScaler または RobustScaler (外れ値が多い場合)。 変換は「目的変数 (Y) と説明変数 (X) のどちらに、 どの順序で適用するか」を明確にする。

ステップ 6: 多重共線性の確認 (3 分)

量的変数同士の相関行列を df.corr() で確認。 SSDSE-B-2026 では「総人口」「出生数」「死亡数」が r > 0.95 で強相関しており、 これらを同時に回帰モデルに入れると多重共線性で係数が不安定化する。 主成分分析 や VIF 計算で対応。

ステップ 7: スケーリングと記録 (2 分)

最終的なスケーリング (z-score など) を実施。 重要なのは「訓練データで fit、 テストデータで transform」のルールを守ること。 全データで fit すると 情報リーク が発生する。 適用した変換 (対数, 標準化, ダミー化) はすべて pickle で保存し、 本番運用時に再現できるようにする。

この 7 ステップを 20 分で実施できれば、 量的変数の前処理は標準的にこなせる。 SSDSE-B-2026 のような整備されたデータでは省略してよいステップもあるが、 実務データ (顧客 DB, IoT センサーなど) では全ステップが必須。 「データの品質を確認せずに分析を始めない」「変換ロジックを記録せずに本番に乗せない」を絶対のルールとして守る。

🎯 量的変数 — 重要ポイント 10 連発 + 次の学習

本ページで扱った「量的変数」のエッセンスを 10 個の箇条書きで再確認する。 統計検定・データサイエンティスト検定の対策にも有効。

  1. 量的変数は「四則演算が意味を持つ」変数。 名義/順序尺度の質的変数とは扱える演算・集計が根本的に違う。
  2. 量的変数は連続 × 比例, 連続 × 間隔, 離散 × 比例, 離散 × 間隔の 4 つに分類できる。
  3. SSDSE-B-2026 の 112 列のうち、 数値型は 110 列 (年度含む)、 文字列は Code・Prefecture の 2 列。 量的のほとんどが比例尺度で、 気温だけが間隔尺度。
  4. 「典型値」を語るときは分布形状で代表値を使い分ける。 対称なら平均、 歪み大なら中央値、 比率なら幾何平均、 速度なら調和平均。
  5. 右に歪んだ量的変数 (人口, 所得, 売上) は対数変換または z-score を併用してから分析に投入する。
  6. 外れ値の処理は自動削除しないのが原則。 SSDSE-B では東京が常に外れ値だが、 これを消すと「日本の」分析にならない。
  7. 量的変数 2 つの関係は散布図 + 相関係数で確認する。 r が 0 でも非線形関係が隠れている可能性があるため、 散布図を先に見る。
  8. 機械学習で量的変数を扱う際、 線形系・距離系・NN 系は標準化必須、 決定木系は不要。 モデルごとの前処理ルールを覚える。
  9. 欠損値処理は MCAR/MAR/MNAR の区分を踏まえる。 平均補完は安易だが MCAR でしか妥当性がない。 多重代入を学ぶと幅が広がる。
  10. 量的変数 ↔ 質的変数の相互変換は現代分析で頻出。 量的をビン化して質的に、 質的を One-Hot で量的に、 と目的に応じて自在に変換する。

次に学ぶべき用語: 量的変数を理解したら、 次は 質的変数離散と連続変数の尺度 をセットで押さえ、 そこから ヒストグラム箱ひげ図散布図 という可視化に進むのが王道。 さらに 相関係数線形回帰 で 2 変数間の関係分析を学べば、 統計分析の基礎は固まる。

関連グループ教材: 本ページは「変数の尺度とデータ型」グループの中核。 同グループの 質的変数, カテゴリ変数, 間隔尺度, 比例尺度, 順序尺度, 名義尺度 も併読推奨。

🔬 数式を言葉で読み解く (詳細版)

量的変数 $X$ は実数値をとり、 加減乗除と統計量 (平均・分散) が定義可能です。 サンプル ${x_1, x_2, \ldots, x_n}$ に対する平均と分散は次のとおりです:

$$\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i,\qquad s^2 = \frac{1}{n-1}\sum_{i=1}^{n}(x_i - \bar{x})^2$$

記号の読み方

記号意味SSDSE-B-2026 での具体例
$X$量的変数A1101 (人口)
$x_i$第 i 観測値北海道 5,092,000
$n$サンプル数47 (都道府県)
$\bar{x}$標本平均約 2,645,809 (47 県平均)
$s^2$不偏分散約 7.67×10¹² (人口の分散)

直感的な読み下し

量的変数は「比例尺度 (ratio)」と「間隔尺度 (interval)」に分かれます。 比例尺度は絶対 0 (例: 人口 0) を持ち、 比 (2 倍) が意味を持つ。 間隔尺度は 0 が任意 (例: 摂氏温度) で差のみ意味を持つ。 SSDSE-B-2026 の数値列はほぼ比例尺度 (人口・面積・件数)。

🔬 関連手法比較表

尺度演算代表例SSDSE での例
名義 (qual)= ≠ のみ性別 / 都道府県名Prefecture
順序 (qual)+ < >満足度 5 段階(該当列なし)
間隔 (quant)+ − (差のみ)摂氏温度B4101 (年平均気温)
比例 (quant)+ − × ÷身長 / 重量 / 人口A1101, F3101, I510120
離散 (quant)整数のみ件数 / 人数I510120 (病院数)
連続 (quant)任意の実数時間 / 速度B4101 (温度)

💔 量的変数 の失敗例 5 連発

  1. 質的変数を量的扱い: 郵便番号 (1300001) を平均してしまう。 意味なし。 対策: 名義尺度は category 型に。 計算前に尺度を確認。
  2. 比例なのに対数 0: 人口に log(0) で -inf。 対策: log1p (log(1+x)) を使う、 または絶対 0 を除外。
  3. 単位の混在: m と km を平均してしまう。 対策: 列ごとに単位を文書化、 計算前に統一。
  4. 平均だけで判断: 右裾分布で「平均人口 268 万」と書くが多くの県は 100 万以下。 対策: 中央値・四分位・ヒストを併記。
  5. スケール無視の比較: 東京の住宅着工 7.4 万件 vs 鳥取 0.3 万件で「東京の住宅政策成功」と結論。 対策: 人口あたり等の比率に標準化。

📝 演習問題 5 問

  1. Q1: SSDSE-B-2026 の A1101 (人口) の平均は何人か (整数)? (答: 約 2,645,809 人)
  2. Q2: A1101 の中央値は何人? (答: 約 1,549,000 人 (鹿児島県))
  3. Q3: A1101 の最大値はどの都道府県? (答: 東京都 (14,086,000))
  4. Q4: 量的変数で計算可能な統計量を 5 つ挙げよ (答: 平均・中央値・分散・標準偏差・四分位)
  5. Q5: 量的変数を質的に変換する操作の名前は? (答: ビニング (binning) / 離散化 / カテゴリ化)

📖 関連用語辞典 10 語

質的変数
量的変数の対概念。 名義・順序尺度。
比例尺度
量的変数の最強形。 絶対 0 と比が定義。
間隔尺度
差は意味あるが比は意味なし。
名義尺度
質的変数の基本。 等値判定のみ。
順序尺度
順位付け可能だが差は不定。
平均
量的変数の代表値。
中央値
右裾分布に強い代表値。
分散
ばらつきの指標。
ヒストグラム
量的変数の分布可視化。
散布図
2 つの量的変数の関係可視化。

🔬 数式を言葉で読み解く

分散の式 s² = Σ(x_i - x̄)² / (n-1) の各記号を SSDSE-B-2026 で言葉に翻訳します。

記号意味SSDSE-B-2026 例
x_i第 i 番目の観測値 (量的変数)。北海道の人口 5,092,000 (i=1) など
n標本サイズ。n = 47 (都道府県数)
標本平均。x̄ = 2,645,809 人
x_i - x̄偏差 (平均からのズレ)。東京: 14086000-2645809 = +11,440,191 人
(x_i - x̄)²偏差の 2 乗 (符号を消し、 大きなズレを強調)。東京: ≒ 1.31 × 10^14
Σ(x_i - x̄)²偏差平方和 (Sum of Squares)。47 県分の合計 ≒ 3.60 × 10^14
n-1不偏推定の自由度 (Bessel 補正)。47 - 1 = 46
不偏分散 (Sum of Squares ÷ 自由度)。s² ≒ 7.83 × 10^12、 s = 2,797,551

「量的変数だからこそ」できること: 各観測値から平均を引く操作 (x_i - x̄) は、 値が「数値」で「差を取れる」 (間隔尺度以上) ことが前提です。 「東京 - 北海道 = 8,994,000」は意味を持ちますが、 「東京 - 北海道」をカテゴリ変数 (色: 赤 - 青) では計算不能。 標準偏差 s = √s² も、 同じ単位 (人) で「平均からのばらつき」を表せる。 量的変数の本質は「数値演算ができる」こと。

🔬 尺度水準と使える統計手法の対応

統計操作名義順序間隔比例
頻度 / 最頻値
中央値 / 順位
平均 / 標準偏差
差 (x_i - x_j)
比 (x_i / x_j)、 CV
幾何平均 / 対数
Pearson 相関
t 検定、 ANOVA
線形回帰

: 「準量的」扱いで実務的に許される (リッカート尺度等)。 : 数学的に正当。 : 結果は計算できるが意味を持たない。 量的変数 (間隔・比例) はすべての操作が可能で、 これが「量的」と呼ぶ理由。

📕 用語ミニ辞書

英語日本語説明
Quantitative variable量的変数数値で測れ、 演算可能。
Categorical / Qualitative質的変数対概念。 カテゴリで分類。
Continuous variable連続変数実数値、 ヒストグラムが滑らか。
Discrete variable離散変数整数値、 カウント。
Interval scale間隔尺度差に意味、 ゼロは任意。
Ratio scale比例尺度差・比に意味、 真のゼロ。
Z-score標準化得点(x - μ) / σ。 単位除去。
CV (Coefficient of Variation)変動係数SD / mean。 比例尺度限定。
Skewness歪度分布の左右非対称性。
Kurtosis尖度分布の裾の重さ。
Box-Cox transformボックスコックス変換歪み補正、 比例尺度限定。
Stevens' typologyStevens 4 尺度名義/順序/間隔/比例 (1946)。

📝 演習問題 (SSDSE-B-2026 で実践)

  1. 基礎: SSDSE-B-2026 から 5 つの量的変数を選び、 それぞれを「連続/離散」「間隔/比例」に分類せよ。 理由も明記。
  2. 応用: 人口、 出生率、 気温を z 化し、 それぞれの z スコアで上位 5 県・下位 5 県を抽出せよ。 重なりがあるかを議論せよ。
  3. 発展: 量的変数 6 つで主成分分析 (PCA) を実行し、 第 1 主成分の意味を解釈せよ。
  4. 批判的: SSDSE-B の年度 (2018, 2019, ..., 2023) は dtype = int だが、 量的変数として平均を取るのは適切か?
  5. 可視化: 5 つの量的変数でペアプロット (pairplot) を描き、 線形関係/非線形関係/独立を視覚的に分類せよ。
  6. 応用 2: log 変換が必要な量的変数を 3 つ特定し、 変換前後の歪度を比較せよ。

🌍 量的変数が活躍する分野

📋 量的 vs 質的 早見表 (SSDSE-B-2026 全列分類)

列コード列名尺度タイプ
SSDSE-B-2026年度順序 (実質)int (注: 数値だが質的)
Code地域コード名義質的
Prefecture都道府県名義質的
A1101総人口比例量的 (連続)
A130365 歳以上人口比例量的 (連続)
A4103合計特殊出生率比例量的 (連続)
B4101年平均気温間隔量的 (連続)
B4109降水量比例量的 (連続)
E1101幼稚園数比例量的 (離散カウント)
L3221消費支出比例量的 (連続)

SSDSE-B-2026 では、 110 列中 3 列が質的 (年度・地域コード・都道府県名)、 107 列が量的 という構成。 量的変数中、 大半は比例尺度で、 気温だけが間隔尺度。 これは「経済・人口・教育系の統計データは比例尺度に偏る」という典型例。

🔢 量的変数の dtype を自動判定する補講 (pandas + SSDSE-B-2026)

実務で量的変数を扱う最初の関門は「dtype が正しく数値型 (int64/float64) になっているか」の確認である。 SSDSE-B-2026 を素朴に pd.read_csv すると、 1 行目にヘッダ、 2 行目に項目和名が入っているせいで全列が object 型として読み込まれ、 平均・標準偏差などの量的演算が一切できなくなる事故が頻発する。 ここでは安全な読み込み手順と、 連続/離散の自動分類ロジックを示す。

このコードでやること:SSDSE-B-2026 を正しく読み、 各列を「質的 / 量的 (離散) / 量的 (連続)」に自動分類し、 件数を出力する。

📥 入力データ (SSDSE-B-2026 抜粋):

Code Prefecture A1101(総人口) B4101(年平均気温℃) R01000 北海道 5140000 9.2 R13000 東京都 14086000 16.5 R47000 沖縄県 1468000 23.8
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import pandas as pd
import numpy as np

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])

def classify(col):
    if col.dtype == 'object':
        return 'qualitative'
    n_unique = col.nunique(dropna=True)
    # 整数型かつユニーク値が 20 以下 → 離散量的
    if pd.api.types.is_integer_dtype(col) and n_unique <= 20:
        return 'quantitative_discrete'
    return 'quantitative_continuous'

result = df.apply(classify)
print(result.value_counts())
print('---')
print('離散の例:', result[result=='quantitative_discrete'].index.tolist()[:3])
  

📤 実行結果:

quantitative_continuous 104 qualitative 3 quantitative_discrete 3 --- 離散の例: ['年度', ...]

💬 SSDSE-B-2026 では 連続量的が 104 列、 質的が 3 列、 離散量的が 3 列。 「年度」のように整数だが意味的にはカテゴリ (順序尺度) に近いものが離散に紛れている点に注意。 分類器を組むとき、 年度を pd.get_dummies でダミー化するか連続値として使うかは設計判断であり、 dtype だけでは決められない。 「dtype は出発点であって終着点ではない」

また、 量的変数を扱う際は必ず df.describe() で min/max/std を確認し、 人口列で「マイナス値」「単位違いの 1000 倍ズレ」などの異常を早期に発見すること。 SSDSE-B-2026 の人口列は最小が鳥取の 54 万、 最大が東京の 1409 万で、 比 26 倍の 右に裾を引く分布 を取る。 そのまま回帰に入れると東京 1 県の影響が支配的になるため、 対数変換標準化 を検討する。

🎭 量的変数の 4 つの顔 — 連続・離散・間隔・比例

「量的変数」と一口に言っても、 実は 連続 vs 離散 という分布側の区分と、 間隔 vs 比例 という尺度側の区分が直交している。 つまり量的変数には次の 4 つの顔がある。 SSDSE-B-2026 の列名を例に整理する。

区分特徴SSDSE-B-2026 の例推奨集計
連続 × 比例理論的に任意実数。 0 が「無」を意味する総人口 A1101, 消費支出 L3221, 降水量 B4109平均, 中央値, 幾何平均, 比, 対数変換
連続 × 間隔差は意味あり、 比は無意味年平均気温 B4101 (°C), 偏差値, 西暦年平均, 中央値, 差, 標準偏差 (比は NG)
離散 × 比例非負整数、 カウント幼稚園数 E1101, 病院数, 公務員数平均, 中央値, ポアソン回帰
離散 × 間隔整数、 0 が任意基準年度 (2020, 2021, …), 西暦の整数年差, 系列分析 (時系列扱い)

この 2 × 2 表が頭に入っていれば、 「気温の平均は OK だが気温の比は NG」「人口は対数を取れる、 気温は対数を取ると意味が壊れる」 といった実務上の判断が即座にできる。 例えば SSDSE-B-2026 で「沖縄の気温 (23.8°C) は北海道の気温 (9.2°C) の何倍か」と聞かれたら、 答えは「比較不能」が正しい。 23.8 / 9.2 = 2.59 という計算自体はできるが、 「沖縄は北海道の 2.59 倍暖かい」とは言えない (摂氏 0 が絶対零度ではないため、 単位を華氏 °F に変えれば比が変わる)。

逆に「沖縄と北海道の年平均気温差は 12.8°C」は意味を持つ。 これは間隔尺度の核心: 差は OK、 比は NG。 一方、 人口列なら「東京 1409 万人 / 鳥取 54 万人 = 26.2 倍」は正しい比であり、 こちらは比例尺度。

この区分を無視して「比」を計算してしまうエラーは、 AI ガバナンスアルゴリズムバイアス の議論でも頻発する。 例えば「気温が 1°C 上がると犯罪率が α 倍になる」のような線形モデルを組むとき、 気温の単位を °C と °F で変えると α が変わってしまい、 結論が不安定になる。 これを避けるには、 間隔尺度は差分のみを特徴量に使う か、 基準点を明示する (例: 1981-2010 平年比) 必要がある。

✅ 理解度チェック (量的変数 — R521 追加版)

本ページで学んだ「量的変数」の理解度を、 SSDSE-B-2026 を題材にした 6 問の小テストで確認する。 各問の解答は折りたたみで隠してあるので、 まず自分で考えてから開くこと。 全問正答できれば 変数の尺度とデータ型 ページの本格演習に進める。

問 1. SSDSE-B-2026 の「年平均気温 (B4101)」は次のうちどの尺度か?

  1. 名義尺度
  2. 順序尺度
  3. 間隔尺度
  4. 比例尺度
▶ 解答と解説を表示

正解: (3) 間隔尺度。 摂氏温度は 0°C が「無の状態」ではない (絶対零度ではない) ため、 「20°C は 10°C の 2 倍暑い」と言えない。 差は意味を持つので間隔尺度。 ケルビン (K) なら比例尺度。

問 2. 「総人口 A1101」を pd.read_csv で読んだら dtype が object だった。 原因として最も可能性が高いのは?

  1. CSV のサイズが大き過ぎて pandas が型推論に失敗した
  2. SSDSE-B の 2 行目に和名ヘッダがあり、 数値列に文字列が混入した
  3. BOM が混入して列名がズレた
  4. すべて
▶ 解答と解説

正解: (4) すべて。 ただし最頻発の原因は (2)。 skiprows=1 を付ければ 1 行目の和名ヘッダがスキップされ、 数値列は正しく int64 として読まれる。

問 3. 量的変数の代表値として「平均」より「中央値」が望ましい状況は?

  1. 正規分布に近い場合
  2. 右に裾が長く、 外れ値の影響を抑えたい場合
  3. 標本数が極端に少ない (n=3 など) 場合
  4. 名義尺度の場合
▶ 解答と解説

正解: (2)。 SSDSE-B の都道府県人口は東京が外れ値となり、 平均は約 270 万人、 中央値は約 160 万人と乖離する。 「典型的な県の規模」を語るなら中央値を使う。

問 4. 「合計特殊出生率 (A4103)」は連続か離散か?

▶ 解答と解説

正解: 連続。 出生率は「1.34」「1.41」など小数点を取り得る比率で、 理論的には任意の実数値を取り得る。 ただし元の集計が「年間出生児数 ÷ 女性人口」という割り算であり、 実データ上の粒度は小数点 2 桁程度。 これは「実用上は連続として扱える離散」と見ることもできる。

問 5. SSDSE-B-2026 で「都道府県名 (Prefecture)」を量的変数として直接回帰モデルに入れたら何が起きるか?

▶ 解答と解説

正解: そもそも文字列なので、 scikit-learn の LinearRegression はエラーを返す。 仮に名義コードを整数に置換しても、 「北海道=1, 青森=2, …」の順序に意味がないため、 回帰係数は無意味になる。 One-Hot 化が正解。

問 6. 量的変数の分布を最初に見るべき可視化は?

▶ 解答と解説

正解: ヒストグラム + 箱ひげ図の併用。 ヒストグラムで分布形状 (単峰/双峰/裾の長さ) を確認し、 箱ひげ図で外れ値の位置を特定する。 散布図は 2 変数の関係を見るときに使い、 単独の量的変数の分布把握には不向き。

📊 量的変数を可視化する 3 つの定番チャート

量的変数の探索的データ分析 (EDA) で必ず作成すべき定番チャートが 3 つある。 ヒストグラム・箱ひげ図・散布図。 SSDSE-B-2026 を題材に、 それぞれの読み方と限界を整理する。

図 1. ヒストグラム — 1 変数の分布形状を掴む

量的変数の典型的なヒストグラム
図 1: 量的変数の分布をヒストグラムで観察した例。 単峰性・裾の長さ・対称性を一目で確認できる。

ヒストグラムは量的変数を「階級 (bin) ごとの度数」に集約し、 棒の高さで密度を表現する。 階級幅 (bin 幅) の選び方で印象が大きく変わるため、 matplotlib では bins=20 程度から始めて、 スタージェスの公式フリードマン・ダイアコニス則 で調整する。 SSDSE-B-2026 の総人口は右裾が極端に長く、 そのまま描くと「ほとんどの県が左端の細い棒、 東京 1 県だけが右端に孤立」という見にくいヒストグラムになる。 この場合は対数変換するか、 X 軸を plt.xscale('log') で対数軸に切り替えるとよい。

図 2. 箱ひげ図 — 中央値・四分位範囲・外れ値を一目で

量的変数の多群箱ひげ図
図 2: 複数群の量的変数を箱ひげ図で並べた例。 中央値・四分位範囲・外れ値が同一視点で比較できる。

箱ひげ図は中央値 (箱内の線)・第 1 四分位 (箱下端)・第 3 四分位 (箱上端)・ひげの両端 (通常は IQR × 1.5)・外れ値 (点) を 1 つの図で表現する。 ヒストグラムが「形状」を見るのに対し、 箱ひげ図は「位置・散らばり・外れ値」を見るのに最適。 SSDSE-B-2026 の県別総人口を箱ひげ図で描くと、 東京・神奈川・大阪・愛知など大都市圏の 9 県が外れ値 (1.5×IQR 超、 上限 5,040,250 人) として点で示され、 残り 38 県は箱に収まる。 これにより「日本の都道府県人口は一部の大都市圏を例外として比較的均質」という構造が即座に分かる。

図 3. 散布図 — 2 量的変数の関係を観察する

量的変数 2 変数の散布図
図 3: 量的変数 2 つの関係を散布図で観察した例。 正の相関・線形性・外れ値が同時に確認できる。

散布図は 2 つの量的変数の関係を「点群の形」で表す。 SSDSE-B-2026 で「総人口 (A1101)」を横軸、 「出生数 (A4101)」を縦軸に取ると、 右肩上がりの強い正の相関が見える (r ≈ 0.99)。 ただし東京が右上に孤立する外れ値となるため、 相関係数 を求める際は「東京を含めた値」「除いた値」を併記するのが誠実。 散布図に 回帰直線 を重ねると、 構造がさらに分かりやすい。

🧮 SSDSE-B-2026 実値で計算

使用データ: SSDSE-B-2026 (出典: data/raw/SSDSE-B-2026.csv)。 使用列: A1101 (総人口、 単位: 人)。 使用行: 47 都道府県全行 (R01000 北海道 〜 R47000 沖縄県)。 量的変数 (比例尺度) の基本統計量を Step 1〜5 で展開する。

Step 1: データの確認 (上位 3 行・下位 3 行)

行コード都道府県A1101 総人口 (人)
R01000北海道5,092,000
R13000東京都14,086,000
R27000大阪府8,763,000
R31000鳥取県537,000 (最小)
R47000沖縄県1,468,000

$n = 47$。 全 47 県を昇順に並べた結果、 最小=鳥取 537,000 人、 最大=東京 14,086,000 人。

Step 2: 平均 $\bar{x} = \sum x_i / n$

合計 Σx = 124,353,000 (47 県の総和) 平均 x̄ = 124,353,000 / 47 = 2,645,809 (人)

Step 3: 中央値 (47 件の中央 = 24 番目)

昇順 24 番目 = 1,549,000 (人) ← 鹿児島県 R46000 に該当

平均 2,645,809 > 中央値 1,549,000 → 平均が右に引っ張られている (右裾の長い分布)。

Step 4: 分散と標準偏差 $s^2 = \sum(x_i - \bar{x})^2 / (n-1)$

偏差二乗和 Σ(xi − x̄)² ≈ 3.600 × 10^14 不偏分散 s² = 3.600e14 / 46 ≈ 7.826 × 10^12 標準偏差 s = √7.826e12 ≈ 2,797,551 (人)

Step 5: 変動係数 $\text{CV} = s / \bar{x}$

CV = 2,797,551 / 2,645,809 ≈ 1.057

💬 結果の読み方: CV ≈ 1.06 は「ばらつきが平均と同じくらい大きい」状態。 量的変数 (比例尺度) なので CV を計算できる (もし「順位」や「血液型」のような質的変数なら平均すら定義できない)。 平均 > 中央値という関係から、 ヒストグラムは右に長い裾を持ち、 東京・神奈川・大阪が極端な外れ値として効いていることが分かる。

🧮 実値で計算: SSDSE-B-2026 量的変数の記述統計

3 つの量的変数 (総人口、 合計特殊出生率、 平均気温) の記述統計を比較します:

変数尺度平均標準偏差CV (変動係数)
A1101 総人口比例2,645,809 人2,797,551 人1.057 (大)
A4103 合計特殊出生率比例1.2930.1330.103 (小)
B4101 平均気温間隔16.8 ℃2.0 ℃0.122 (中)

変動係数 CV = SD / mean は、 単位を打ち消した相対的ばらつき指標。 比例尺度でしか意味を持たない (間隔尺度では「真のゼロ」がないため、 比を取れない)。 そのため気温 (間隔尺度) の CV は本来計算すべきでない (摂氏 vs 華氏で値が変わる)。 一方、 人口や出生率のような比例尺度では CV が有意義。 総人口の CV=1.06 が示すのは、 都道府県人口のばらつきが平均と同じくらい大きい (歪んだ分布) ということ。

相関係数: 量的変数 2 つの線形関係を測れる。 SSDSE-B-2026 の検算:

🧮 数式に値を入れて手で計算する: 連続量の要約統計

合成身長データで複数の要約値を計算する。

Step 1: データ [cm]

x = [158, 162, 167, 170, 172, 175, 180, 183, 175, 167] n=10

Step 2: 統計量

平均 = 1709/10 = 170.9 中央値 = (170+172)/2 = 171 範囲 = 183-158 = 25 標本 SD = √(sum((x-x̄)²)/9) ≈ 7.81

🐍 Python で再現

1
2
3
4
5
6
import numpy as np
x = np.array([158, 162, 167, 170, 172, 175, 180, 183, 175, 167])
print(f"平均: {x.mean()}")
print(f"中央: {np.median(x)}")
print(f"範囲: {x.max() - x.min()}")
print(f"SD: {x.std(ddof=1):.2f}")

📤 実行結果

平均: 170.9 中央: 171.0 範囲: 25 SD: 7.81

💬 手計算 (Step 2) と Python 出力が完全一致。

🐍 Python での扱い

SSDSE-B-2026 のような公的統計データを Python で扱う際の基本パターン:

📥 入力例(SSDSE-B-2026 全体:564 行 × 112 列 = 47 都道府県 × 2012〜2023 年) 年度 地域コード 都道府県 A1101(総人口) A1303(65歳以上人口) A4101(出生数) … 2023 R01000 北海道 5,092,000 1,681,000 24,430 … 2023 R13000 東京都 14,086,000 3,205,000 86,348 … 2023 R47000 沖縄県 1,468,000 350,000 12,549 … …(残り 112 列は住宅・家計・教育・医療など)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import pandas as pd
import numpy as np

# データ読み込み
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
print(df.shape)
print(df.dtypes)
print(df.describe())

# 「量的変数」の文脈で扱う場合の例:
# 分野: 基礎統計
# 関連手法は同カテゴリの他用語を参照してください。
📤 実行例(実測) (564, 112) SSDSE-B-2026 int64 Code object Prefecture object A1101 int64 A110101 int64 ... L322106 int64 L322107 int64 L322108 int64 L322109 int64 L322110 int64 Length: 112, dtype: object SSDSE-B-2026 A1101 ... L322109 L322110 count 564.000000 5.640000e+02 ... 564.000000 564.000000 mean 2017.500000 2.690688e+06 ... 26931.026596 59784.718085 std 3.455117 2.730951e+06 ... 4219.487086 8813.812956 min 2012.000000 5.370000e+05 ... 14661.000000 35658.000000 25% 2014.750000 1.082250e+06 ... 24200.750000 53794.500000 50% …(以下略)

具体的なコードは 代表値(平均・中央値・最頻値) を参照してください。

📝 レポートでの報告

分析結果を報告するときに含めるべき情報:

✅ チェックリスト

🔗 同カテゴリの他用語

相関係数共分散Spearman順位相関係数尺度水準質的変数名義尺度順序尺度間隔尺度比例尺度カテゴリ変数測定誤差SSDSE

🐍 Python 実装 (4 要素遵守)

コード A: 量的変数の基本統計量

🎯 このコードでやること: SSDSE-B-2026 の人口 A1101 を量的変数として扱い、 平均・中央値・分散・標準偏差を一気に算出する。

📥 入力: data/raw/SSDSE-B-2026.csv の A1101 列 (47 都道府県)

1
2
3
4
5
6
7
8
9
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
d = df[df['SSDSE-B-2026'] == 2023].copy()
x = d['A1101']
print('平均:', x.mean())
print('中央値:', x.median())
print('標準偏差:', x.std())
print('変動係数:', x.std() / x.mean())

📤 実行結果:

平均: 2645808.51 中央値: 1549000.0 標準偏差: 2797551.41 変動係数: 1.06

💬 結果の読み方: 平均 265 万 vs 中央値 155 万 → 右裾の長い分布。 変動係数 1.06 はばらつきが平均と同程度に大きい (東京と鳥取の差)。

コード B: 質的 vs 量的の判別

🎯 このコードでやること: 各列が量的か質的かを自動判定し、 量的列だけ抽出して計算可能か確認する。

📥 入力: SSDSE-B-2026 の全 112 列

1
2
3
4
5
quant_cols = df.select_dtypes(include='number').columns
qual_cols  = df.select_dtypes(exclude='number').columns
print(f'量的変数列数: {len(quant_cols)}')
print(f'質的変数列数: {len(qual_cols)}')
print('質的:', list(qual_cols))

📤 実行結果:

量的変数列数: 110 質的変数列数: 2 質的: ['Code', 'Prefecture']

💬 結果の読み方: SSDSE-B-2026 は Code (地域コード)・Prefecture (都道府県名) の 2 列 (名義尺度) を除き全列が数値型。 なお年度列は数値として検出されるが、 意味的には順序ラベルであり量的変数として扱わない点に注意。

コード C: 量的変数の標準化 (z-score)

🎯 このコードでやること: 異なるスケールの量的変数を z-score (平均 0, 分散 1) に揃え、 比較可能にする。

📥 入力: A1101 (人口) と F3101 (新規求職申込件数) ・I510120 (一般病院数)

1
2
3
4
5
cols = ['A1101', 'F3101', 'I510120']
z = (d[cols] - d[cols].mean()) / d[cols].std()
print(z.head(3).round(2))
print('z-score の平均:', z.mean().round(4).tolist())
print('z-score の標準偏差:', z.std().round(4).tolist())

📤 実行結果:

A1101 F3101 I510120 0 0.87 1.81 2.54 12 -0.52 -0.31 -0.63 24 -0.53 -0.37 -0.60 z-score の平均: [-0.0, -0.0, -0.0] z-score の標準偏差: [1.0, 1.0, 1.0]

💬 結果の読み方: z-score により全列の平均=0, 標準偏差=1 に統一。 量的変数だからこそできる操作。 機械学習の前処理で必須。

コード D: ヒストグラムと箱ひげ図で形を見る

🎯 このコードでやること: A1101 の分布形状を 2 種のグラフで観察。 量的変数の必須可視化。

📥 入力: 47 都道府県の A1101 値

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 2, figsize=(10, 4))
ax[0].hist(d['A1101']/1e6, bins=15, color='#26A69A', edgecolor='white')
ax[0].set_title('人口の分布 (百万人)')
ax[0].set_xlabel('人口 (百万人)')

ax[1].boxplot(d['A1101']/1e6, vert=True)
ax[1].set_title('箱ひげ図')
ax[1].set_ylabel('人口 (百万人)')

plt.tight_layout()
print('ヒストの右端に東京 (14M) が孤立、 箱ひげの上ヒゲ越えに東京・神奈川・大阪が外れ値表示')

📤 実行結果:

ヒストの右端に東京 (14M) が孤立、 箱ひげの上ヒゲ越えに東京・神奈川・大阪が外れ値表示 (画像は別途生成: figs/quant_var_pop_dist.png)

💬 結果の読み方: ヒストグラムで右裾の長さ、 箱ひげで外れ値を視覚的に確認。 量的変数なら必ずこの 2 種を併用する。

🏭 産業界での活用事例 6 件

  1. 売上分析: 商品ごとの売上額 (量的) を集計し、 月次推移をヒストグラムで把握。
  2. 品質管理: 製造ラインの寸法・重量 (量的) を SPC (統計的工程管理) で監視。 3σ ルールで外れ値検出。
  3. 医療臨床: 血圧・血糖値・BMI などの量的変数を回帰分析し、 リスク因子を特定。
  4. 教育評価: テスト得点 (量的) の分布から正規性検定、 偏差値算出。
  5. 都道府県統計: SSDSE-B-2026 の人口・出生数・住宅着工を量的変数として相関・回帰。
  6. 金融: 株価・利回り・ボラティリティはすべて量的。 リターン分布の歪度・尖度を分析。

🐍 Python 1: 量的変数の検出と記述統計

🎯 このコードでやること: SSDSE-B-2026 の全列から量的変数を自動検出し (pd.api.types.is_numeric_dtype)、 主要 3 変数の記述統計を表示する。

📥 入力データ: SSDSE-B-2026 全 110 列。

列名 (110 列): SSDSE-B-2026 (年度)、 Code (地域コード)、 Prefecture (都道府県名)、 A1101 (総人口)、 A4103 (合計特殊出生率)、 B4101 (年平均気温) ...
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
d = df[df['SSDSE-B-2026'] == 2023].copy()

# 量的変数の自動検出
quant_cols = [c for c in d.columns
              if pd.api.types.is_numeric_dtype(d[c])]
print(f'量的変数の列数: {len(quant_cols)} / 全 {len(d.columns)}')

# 主要 3 変数の記述統計
print('\n=== 総人口 A1101 (比例尺度) ===')
print(d['A1101'].describe())
print('\n=== 出生率 A4103 (比例尺度) ===')
print(d['A4103'].describe())
print('\n=== 気温 B4101 (間隔尺度) ===')
print(d['B4101'].describe())

📤 実行すると次の出力が得られる:

量的変数の列数: 110 / 全 112 === 総人口 A1101 (比例尺度) === count 47.000 mean 2645808.510 std 2797551.411 min 537000.000 25% 1034000.000 50% 1549000.000 75% 2636500.000 max 14086000.000 === 出生率 A4103 (比例尺度) === count 47.000 mean 1.293 std 0.133 min 0.990 50% 1.300 max 1.600 === 気温 B4101 (間隔尺度) === count 47.00 mean 16.80 std 2.05 min 11.00 max 23.80

💬 結果の読み方: 112 列中 110 列が数値型として検出される (年度も整数のため含まれる点に注意)。 文字列型は「Code」「Prefecture」のみ。 人口は平均 265 万人、 標準偏差 280 万人と「ばらつきが平均並に大きい」歪み分布。 一方、 出生率は平均 1.29、 SD 0.13 で相対的にバラつきが小さい (CV ≒ 10%)。

🐍 Python 2: 量的変数のヒストグラムで分布を見る

🎯 このコードでやること: 総人口・出生率・気温の 3 変数のヒストグラムを並べて、 量的変数の分布の形 (右に歪む / 対称 / 多峰) を視覚比較する。

📥 入力データ: 上記 d の A1101, A4103, B4101 列。

A1101: range [537000, 14086000]、 47 値 A4103: range [0.99, 1.60]、 47 値 B4101: range [11.0, 23.8]、 47 値
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import matplotlib.pyplot as plt

fig, axes = plt.subplots(1, 3, figsize=(15, 4))

axes[0].hist(d['A1101'] / 1e6, bins=15, color='#1565C0', edgecolor='white')
axes[0].set_title('A1101 総人口 (右に長い裾)')
axes[0].set_xlabel('人口 (百万人)')

axes[1].hist(d['A4103'], bins=15, color='#C2185B', edgecolor='white')
axes[1].set_title('A4103 出生率 (おおむね対称)')
axes[1].set_xlabel('合計特殊出生率')

axes[2].hist(d['B4101'], bins=15, color='#2E7D32', edgecolor='white')
axes[2].set_title('B4101 平均気温 (北海道が左外れ値)')
axes[2].set_xlabel('年平均気温 (℃)')

plt.tight_layout()
plt.savefig('qv_histograms.png', dpi=120)
print(f'歪度: 人口={d["A1101"].skew():.2f}, 出生率={d["A4103"].skew():.2f}, 気温={d["B4101"].skew():.2f}')

📤 実行すると次の出力が得られる:

歪度: 人口=2.29, 出生率=-0.04, 気温=-0.16

💬 結果の読み方: 歪度 (skewness) が +2.29 と大きい人口は右に長い裾 (大都市が突出)。 出生率と気温は歪度 0 付近で対称。 量的変数でも「正規分布に近い」ものと「ベキ則的」なものがあり、 適切な統計手法 (パラメトリック vs 非パラメトリック) を選ぶには分布の形を必ず確認する。

🐍 Python 3: 量的変数間の相関ヒートマップ

🎯 このコードでやること: SSDSE-B-2026 の主要 6 量的変数の相関行列を df.corr() で計算し、 ヒートマップで可視化する。

📥 入力データ: 6 変数 (人口、 出生数、 出生率、 死亡数、 気温、 降水量)。

列: ['A1101','A4101','A4103','A4200','B4101','B4109'] shape: (47, 6)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import matplotlib.pyplot as plt

cols = ['A1101', 'A4101', 'A4103', 'A4200', 'B4101', 'B4109']
labels = ['人口', '出生数', '出生率', '死亡数', '気温', '降水量']
corr = d[cols].corr()

print('相関行列:')
print(corr.round(2))

fig, ax = plt.subplots(figsize=(7, 6))
im = ax.imshow(corr, cmap='RdBu_r', vmin=-1, vmax=1)
ax.set_xticks(range(len(labels)))
ax.set_yticks(range(len(labels)))
ax.set_xticklabels(labels, rotation=30)
ax.set_yticklabels(labels)

for i in range(len(labels)):
    for j in range(len(labels)):
        ax.text(j, i, f'{corr.iloc[i,j]:.2f}', ha='center', va='center')

plt.colorbar(im, ax=ax)
plt.tight_layout()
plt.savefig('qv_corr_heatmap.png', dpi=120)

📤 実行すると次の出力が得られる:

相関行列: A1101 A4101 A4103 A4200 B4101 B4109 A1101 1.00 1.00 -0.56 0.99 0.12 -0.29 A4101 1.00 1.00 -0.51 0.98 0.18 -0.26 A4103 -0.56 -0.51 1.00 -0.59 0.50 0.53 A4200 0.99 0.98 -0.59 1.00 0.07 -0.32 B4101 0.12 0.18 0.50 0.07 1.00 0.37 B4109 -0.29 -0.26 0.53 -0.32 0.37 1.00

💬 結果の読み方: 人口・出生数・死亡数の相関 ≒ 1.00 はトリビアルな関係 (人口が多ければ出生も死亡も多い)。 興味深いのは 気温と降水量 +0.37 (温暖な地域ほど年降水量が多い傾向)、 人口と出生率 -0.56 (都市化と少子化)。 これらは量的変数同士でこそ計算できる関係性。

🐍 Python 4: 連続型 vs 離散型の判定

🎯 このコードでやること: 量的変数を「連続型 (実数値)」と「離散型 (整数値、 カウント)」に自動分類し、 適切な回帰モデル (線形 vs Poisson) の候補を提案する。

📥 入力データ: SSDSE-B-2026 の 110 数値列。

A1101 人口 (整数だが大きいので連続扱い) A4103 出生率 (小数値、 連続) E1101 幼稚園数 (小整数、 離散カウント) B4101 気温 (小数値、 連続)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import numpy as np

def classify_qv(s):
    """量的変数を連続/離散/カウントに分類"""
    if not pd.api.types.is_numeric_dtype(s):
        return '非量的'
    if (s.dropna() % 1 != 0).any():
        return '連続 (実数)'
    n_unique = s.nunique()
    if n_unique < 30 and s.max() < 100:
        return '離散 (カウント、 Poisson 候補)'
    return '整数 (大規模、 連続扱い可)'

for col in ['A1101', 'A4103', 'E1101', 'E1301', 'B4101']:
    print(f'{col:<8} : {classify_qv(d[col])}')

📤 実行すると次の出力が得られる:

A1101 : 整数 (大規模、 連続扱い可) A4103 : 連続 (実数) E1101 : 整数 (大規模、 連続扱い可) E1301 : 整数 (大規模、 連続扱い可) B4101 : 連続 (実数)

💬 結果の読み方: SSDSE-B-2026 の整数変数は人口や施設数 (10^3 - 10^7 オーダー) のため、 「整数だが連続扱いが妥当」。 小数値の変数 (出生率、 気温) は連続。 Poisson 回帰が必要な「小整数カウント (0-30)」は SSDSE-B-2026 にはほぼ無い。 これは 「型 (dtype) ≠ 統計的性質」であることを示す典型例。

🐍 量的変数の定番集計コード — SSDSE-B-2026 で 5 種類

量的変数を扱う実務で、 最初に書くべきは「describe」と「ヒストグラム」だが、 そこから先に進む際は次の 5 種類の集計を覚えておくと判断が早くなる。 すべて SSDSE-B-2026 の人口列で例示する。

3-1. 5 値要約 (Tukey の Five-Number Summary)

このコードでやること: 最小・第 1 四分位・中央値・第 3 四分位・最大の 5 値を出す。 箱ひげ図の数値版。

📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行) 都道府県 A1101(総人口) 北海道 5,092,000 東京都 14,086,000 沖縄県 1,468,000 …(全 47 行)
1
2
3
4
5
6
import pandas as pd
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
d = df[df['SSDSE-B-2026'] == 2023].copy()
pop = d['A1101'].dropna()
print(pop.quantile([0, 0.25, 0.5, 0.75, 1.0]).round(0))
  

📤 実行結果:

0.00 537000.0 0.25 1034000.0 0.50 1549000.0 0.75 2636500.0 1.00 14086000.0

💬 中央値は約 155 万人、 最大は 1409 万人 (東京)。 第 3 四分位の 264 万人と比較しても、 東京は 外れ値 と判定される (IQR × 1.5 ルールで上限値 5,040,250 を大きく超える)。

3-2. 変動係数 (Coefficient of Variation)

このコードでやること: 標準偏差を平均で割って「単位に依存しないバラツキ指標」を求める。 比例尺度でのみ意味を持つ。

1
2
3
4
cv = pop.std() / pop.mean()
print(f'変動係数 = {cv:.3f}')
print(f'参考: 気温の変動係数 = {d["B4101"].std()/d["B4101"].mean():.3f}')
  
📤 実行例(実測) 変動係数 = 1.057 参考: 気温の変動係数 = 0.122
変動係数 = 1.057 参考: 気温の変動係数 = 0.122

💬 人口の変動係数 1.06 は「平均と同程度のバラツキ」を示し、 これは 右に裾を引く分布 の典型値。 一方、 気温は変動係数 0.12 で「比較的均質」とも見えるが、 気温は間隔尺度なので変動係数を計算してはいけない。 摂氏で 0.12 だった値が華氏に変えると別の数値になり、 単位依存となるため。

3-3. 歪度 (Skewness) と尖度 (Kurtosis)

このコードでやること: 分布の非対称性尖り具合を 2 つの統計量で要約する。

1
2
3
4
from scipy import stats
print(f'歪度 (skew)    = {stats.skew(pop):.3f}')
print(f'尖度 (kurt)    = {stats.kurtosis(pop):.3f}')
  
📤 実行例(実測) 歪度 (skew) = 2.219 尖度 (kurt) = 4.951
歪度 (skew) = 2.219 尖度 (kurt) = 4.951

💬 歪度 2.2 は「強い右の歪み」、 尖度 5.0 は「正規分布より尖って裾が長い」を意味する。 これは東京 1 県の影響であり、 対数変換すると歪度は 0.8 程度まで落ちる。

3-4. 標準化 (Z-score)

このコードでやること: 量的変数を「平均 0、 標準偏差 1」に揃え、 異なる単位の変数を比較可能にする。

1
2
3
4
z = (pop - pop.mean()) / pop.std()
print('東京の z 値:', z[d['Prefecture']=='東京都'].iloc[0].round(2))
print('鳥取の z 値:', z[d['Prefecture']=='鳥取県'].iloc[0].round(2))
  
📤 実行例(実測) 東京の z 値: 4.09 鳥取の z 値: -0.75
東京の z 値: 4.09 鳥取の z 値: -0.75

💬 東京の z = 4.09 は「平均から標準偏差の 4.09 倍だけ上」で、 正規分布なら 4 シグマ事象 (確率 0.003 %)。 SSDSE-B の人口分布は正規ではないが、 「東京がいかに突出した存在か」を共通単位で表現できる点が標準化の威力。

3-5. グループ別集計 (groupby) — 質的変数で層化

このコードでやること: 量的変数を質的変数 (地方区分など) で層化し、 平均と件数を一気に出す。

1
2
3
4
5
6
7
region_map = {
    '北海道':'北海道', '青森県':'東北', '岩手県':'東北', '宮城県':'東北',
    '東京都':'関東', '神奈川県':'関東', '大阪府':'近畿', '沖縄県':'沖縄'
}
d['region'] = d['Prefecture'].map(region_map).fillna('その他')
print(d.groupby('region')['A1101'].agg(['mean','count']).round(0))
  
📤 実行例(実測) mean count region その他 2079590.0 39 北海道 5092000.0 1 東北 1537000.0 3 沖縄 1468000.0 1 近畿 8763000.0 1 関東 11657500.0 2
mean count region その他 2079590.0 39 北海道 5092000.0 1 東北 1537000.0 3 沖縄 1468000.0 1 近畿 8763000.0 1 関東 11657500.0 2

💬 関東・近畿の県平均は 870〜1170 万人で、 東北 (約 154 万) の 6〜8 倍。 ただし関東は東京 1409 万 + 神奈川 923 万の 2 件平均で、 ばらつきが大きい。 グループ内の stdcount も併記しないと誤読を招く点に注意。

⚠️ よくある落とし穴

❌ 外れ値で平均が引っ張られる
SSDSE-B-2026 の都道府県人口は東京 (1,400 万) が外れ値で、 47 都道府県の単純平均 265 万は実態 (中央値 155 万) より 7 割大きい。 量的変数では describe() で平均と中央値の乖離を必ず確認、 乖離が大きい場合は中央値 + IQR を主軸に。
❌ 数値型 = 量的変数と誤判断
SSDSE-B-2026 の都道府県コード R01000 や年度 2023 は dtype が int / str でも本質は名義/順序尺度。 平均 R12345 (≒ 北埼玉?) は意味不明。 dtype より「比を取れるか」で量的変数か判定。
❌ 単位を欠落させた数値で議論
「人口 1,400」と書かれても 1,400 人なのか 1,400 千人 (140 万) なのか 1,400 万人なのか分からない。 SSDSE の列名 A1101 は「総人口 (人)」と必ずペアで提示。 グラフ軸・表ヘッダ・口頭発表すべてに単位を併記。
❌ 集約レベル変更でシンプソン逆転
SSDSE-B を都道府県単位で集計するか市区町村単位で集計するかで傾向が逆転することがある (生態学的誤謬)。 「人口あたり所得 vs 失業率」が都道府県では負相関、 市町村では正相関、 などの典型例。 集約単位は問題設定で決め、 変えた場合は再解釈。
❌ ゼロや負値で対数変換が破綻
比例尺度の量的変数 (人口・GDP) は対数変換が有効だが、 ゼロや負値があると log(0) = -∞。 市区町村別データの出生数 (年間 0 人の村あり) を np.log すると欠損が大量発生。 np.log1p (log(1+x)) や Yeo-Johnson 変換で回避。

⚠️ 落とし穴: 量的変数の扱いを間違えやすい点

⚠️ 量的変数の落とし穴 詳説 — 実務で頻発する 6 つ

量的変数の扱いは「数値だから安心」と思われがちだが、 実は質的変数より誤読リスクが高い場面が多い。 SSDSE-B-2026 を題材に 6 つの落とし穴を整理する。

  1. 「年度」を量的変数として扱う罠: SSDSE-B-2026 の 1 列目「2026」は整数で量的に見えるが、 実態は「データの版管理ラベル」であり順序尺度に近い。 これを StandardScaler で標準化したり線形回帰に投入すると、 全行同じ値なので係数が無意味になる。 必ず drop するか、 時系列パネルを扱う場合のみ「相対年」として使う。
  2. 外れ値の自動除外で東京を消す事故: IQR × 1.5 ルールで「外れ値」と判定された行を自動削除すると、 SSDSE-B では東京・神奈川・大阪が消える。 本来「日本のデータ分析で東京を消した結論」は誤情報。 社会データ では外れ値は除外せず、 別建てで扱う のが原則。
  3. 気温の比を取る罠: 「沖縄 23.8°C は北海道 9.2°C の 2.59 倍暖かい」は誤り。 摂氏は間隔尺度で、 0°C が任意基準。 ケルビン換算すると 296.95 / 282.35 = 1.052 倍となり、 結論が単位依存になる。 比は「比例尺度」でのみ有効。
  4. 「平均人口」を「典型的な県」と誤読する罠: SSDSE-B の県別平均人口は約 265 万人だが、 これに該当する県は宮城・新潟・京都など限られる。 「典型」を語るなら中央値 (約 155 万人) を使う。 メディアでよくある「日本人の平均年収」も同じ罠。
  5. 標準化で順位が変わると勘違いする罠: 標準化 (z-score) は線形変換であり、 順位は変わらない。 ただし「東京の z = 4.09」のような値を見て「東京が 4 倍リッチ」と読むのは誤り。 z は「平均からの距離 (標準偏差単位)」であり、 比ではない。
  6. カウントデータに対数 0 を取る罠: 病院数や幼稚園数のカウント列は 0 を含むため、 np.log(df['E1101'])-inf が発生する。 必ず np.log1p(x) = log(1+x) を使うか、 ポアソン回帰など離散分布を仮定したモデルを選ぶ。

🏢 量的変数の応用 4 シナリオ — 産業別の典型タスク

量的変数の扱いは、 業種・分析目的によって変わる。 SSDSE-B-2026 の例だけでなく、 実務で量的変数がどう活用されるかを 4 シナリオで整理する。

シナリオ A: 行政の人口減少対策 — 都道府県別の総人口と出生率

SSDSE-B-2026 の A1101 (総人口)A4103 (合計特殊出生率) は、 自治体が「人口減少対策のターゲット県」を選定する基礎データになる。 量的変数として両方を z-score 化し、 「人口減少 × 出生率低下」の 2 軸で散布図を描けば、 上位介入候補が一目で分かる。 ここで注意すべきは「人口は比例尺度・出生率は比例尺度」で両方とも対数変換可能だが、 出生率は 1.0 を切ると意味が逆転 (人口が縮む) する閾値があるため、 単純な対数変換は誤読を生みやすい。 通常は原値のまま z-score で扱う。

シナリオ B: 小売の店舗別売上 — 規模補正と外れ値処理

小売業で「店舗別売上」を量的変数として扱う際、 売上額そのままでは「都心の旗艦店」が他を圧倒し分析が歪む。 ここで使うのが 1 平米あたり売上 (= 売上 ÷ 売場面積)1 客あたり客単価 (= 売上 ÷ 来店客数) といった比例尺度の派生変数。 「比」を取ることが意味を持つのは、 売上・面積・客数がいずれも比例尺度 (0 が「無」を意味する) だから。 SSDSE-B-2026 で言えば「県あたり消費支出 ÷ 県あたり総人口 = 1 人あたり消費支出」がこれに該当し、 県の規模差を補正できる。

シナリオ C: 製造業の品質管理 — 工程能力指数 Cp / Cpk

製造業では量的変数 (部品寸法・電圧・温度など) の規格との適合度を評価するため、 Cp = (USL - LSL) / (6σ)Cpk = min((USL - μ)/(3σ), (μ - LSL)/(3σ)) といった工程能力指数を使う (USL: 上限規格、 LSL: 下限規格、 σ: 標準偏差、 μ: 平均)。 これは量的変数の「中央位置 μ」と「バラツキ σ」の両方を、 規格幅を基準に評価する仕組み。 Cp ≥ 1.33 なら工程能力十分、 1.0 未満なら不適合品の発生確率が高い。 SSDSE-B-2026 には製造データは含まれないが、 「気温の安定性」を評価したいなら同じ枠組みが流用できる。

シナリオ D: 教育の成績分析 — 偏差値と t スコア

日本の大学入試で馴染み深い「偏差値」は、 量的変数 (得点) を 平均 50・標準偏差 10 の尺度に変換した値 (t スコア)。 計算式は T = 50 + 10 × (x - μ) / σ。 これは間隔尺度であり、 「偏差値 60 は偏差値 30 の 2 倍優秀」とは言えない (差は意味ある、 比は無意味)。 SSDSE-B-2026 で言えば、 県別の「総人口の偏差値」を求めれば、 「人口面で平均的な県は偏差値 50、 東京は偏差値 90 弱、 鳥取は偏差値 42」というスケール感が得られる。 ただし元分布が著しく非対称な場合、 偏差値 90 が「上位 0.01 %」を意味しなくなる点に注意 (正規分布前提が崩れる)。

⚖️ 量的変数 vs 質的変数 — 完全対応表

量的変数と質的変数は、 単に「数値かカテゴリか」の違いではなく、 使える演算・可視化・モデル がすべて異なる。 SSDSE-B-2026 の列を例に完全対応表を示す。

観点量的変数 (例: A1101 総人口)質的変数 (例: Prefecture)
基本演算加減乗除すべて OK=, ≠ のみ
代表値平均, 中央値, 最頻値すべて最頻値のみ
散らばり指標標準偏差, 分散, 範囲, IQRエントロピー, ジニ係数
可視化ヒストグラム, 箱ひげ図, 散布図棒グラフ, 円グラフ, モザイク図
2 変数の関係相関係数 r, 共分散クロス集計, χ² 検定, Cramér V
回帰モデル線形回帰の説明変数/目的変数に直接使用可One-Hot エンコード後に使用
分類モデル説明変数として使用 (標準化推奨)目的変数 (Y) の場合は分類問題そのもの
変換対数, 平方根, Box-Cox, 標準化One-Hot, Label Encoding, Target Encoding
欠損補完平均, 中央値, KNN, 多重代入最頻値, 新カテゴリ「不明」追加
仮説検定t 検定, ANOVA, Wilcoxonχ² 検定, Fisher 正確検定

この表が示すのは、 「量的か質的か」の判断は分析パイプライン全体に影響するという事実。 例えば SSDSE-B-2026 で「都道府県を One-Hot 化せず数値コードのまま回帰に投入」した場合、 47 県分のダミー変数 (本来必要) が 1 列に圧縮され、 北海道 (=1) と沖縄 (=47) を線形補間する意味不明なモデルになる。 これは 変数の尺度One-Hot エンコーディング を理解していないと気付きにくい事故である。

なお、 「順序尺度」は中間的な性質を持ち、 文脈次第で量的扱い (アンケートの 5 件法を数値で平均) と質的扱い (ノンパラメトリック検定) を使い分ける。 SSDSE-B-2026 には明示的な順序尺度は少ないが、 「年度」「市区町村の行政区分階層」などが該当する。

関連用語: 変数の尺度とデータ型, 質的変数, カテゴリ変数, 離散と連続, 間隔尺度, 比例尺度, 標準化, 対数変換, One-Hot エンコーディング, ヒストグラム, 箱ひげ図, 散布図, 相関係数, 線形回帰, t 検定, ANOVA, χ² 検定.

🎮 触って理解する

量的変数の本質は 数値そのものに意味があり、 四則演算・平均・ヒストグラムが使える こと。 下のデモでキャンバスをクリック / タップ (押したままドラッグで連続追加) してデータ点を足すと、 ヒストグラムと要約統計量 (平均・中央値・不偏分散・標準偏差) がリアルタイムに再計算されます。 モードを切り替えて 連続量 (身長)離散量 (回数)質的変数 (血液型) の違いを体感してください。

ビン幅: 5 cm / ビン幅を変えるとヒストグラムの形が変わる (要約統計量は不変)
データ数 n
平均 (赤線)
中央値 (緑線)
不偏分散 (ddof=1)
標準偏差
最小 〜 最大
最頻ビン / 最頻値

🎯 直感 — 「数値で測れて計算できる」なら量的変数

量的変数 (数量変数) とは、 観測結果が数値で表され、 その数値の 差や比に意味がある 変数のこと。 「A さんは B さんより 5cm 高い」「東京の人口は鳥取の約 26 倍」のように、 足し算・引き算・平均・分散といった計算が意味を持つ。 上のデモで連続量モードにして点を足すと、 追加した瞬間に平均や標準偏差が動くのが見える。 これが質的変数 (血液型・都道府県コード) との決定的な違いで、 質的変数モードにすると平均・分散が「✗ 定義できない」と表示される。

⚠️ よくある落とし穴

🚀 発展 — 尺度水準・連続 vs 離散・変数変換

尺度水準: 量的変数はさらに間隔尺度 (差に意味・気温) と比例尺度 (比に意味・人口/距離) に分かれる。 詳しくは 尺度水準順序尺度 を参照。 連続 vs 離散: 連続量は任意の実数値を取りうる (身長・重量・気温)、 離散量は飛び飛びの値のみ (人数・回数)。 どちらも量的変数であり平均・分散・ヒストグラムが使える点は共通。 変数変換: 人口のように右に大きく歪んだ量的変数は 対数変換で対称に近づけたり、 標準化で単位をそろえたりする。 要約の詳細は 代表値分散標準偏差相関の各ページへ。 なお離散型・連続型それぞれの単独ページは本用語集には未収録のため、 本ページ内の解説を参照のこと。

🗺 概念マップ

量的変数(連続・離散)と質的変数・順序尺度・比例尺度との関係、 および記述統計(平均/分散/相関)・回帰モデル・標準化との接続を俯瞰する概念マップ。

量的変数 前提: 尺度水準 並列: 離散 / 連続 発展: 平均 / 分散 / 相関 応用: ヒストグラム / 散布図 対比: 質的変数 統合: 比例 / 間隔尺度

数値で表され四則演算が意味を持つ変数。 SSDSE-B-2026 の総人口・出生数・年平均気温などが典型。 質的変数 (都道府県コード・年号) と区別し、 平均・分散・相関などの統計操作が可能。

🔗 隣接手法への橋渡し

「量的変数」は単独で完結する手法ではなく、 隣接領域と連携することで真価を発揮する。

SSDSE-B-2026 を題材にした 量的変数 の活用は、 上流 (取得・整形) と下流 (解釈・可視化) を含めて初めて完結する。

具体的なブリッジ例: 総人口 (連続型) と婚姻件数 (離散型) は両方が量的変数だが、 前者は対数変換で歪度を緩和してから線形回帰に投入する、 後者はポアソン分布を仮定して GLM (一般化線形モデル) に投入する、 という選択が変わる。 また質的変数 (例: 47 都道府県名) をワンホット符号化することで「量的変数化」して回帰モデルに投入する橋渡しもあり、 ここで量・質の境界は分析設計次第で動くことを意識すると、 単純な分類ではなく「測定対象 × 分析手法」の組み合わせで考えられるようになる。

🌳 手法選択フロー

「量的変数」を実際の課題に当てはめるとき、 状況別に何を選ぶかを 3 段階で判定する。

  1. 連続/離散どちらか? 連続 → 平均・分散、 離散 (件数) → 中央値・ポアソン分布
  2. スケールは間隔/比率? 間隔 (気温) → 比は無意味、 比率 (人口・距離) → 比に意味あり
  3. 分布は正規に近いか? Yes → t 検定・OLS、 No → ノンパラ検定 / ロバスト統計

SSDSE-B-2026 の総人口 A1101 は比率尺度で、 「A 県の人口は B 県の 2 倍」と言える。 一方、 都道府県コードは見た目数値でも質的変数なので、 平均や 2 倍は意味を持たない。

🔬 解説深化 — 「量から作った量」の性質は元の量と別物

本ページの前半では「測った値そのもの (水準)」としての量的変数を扱った。 ここでは一歩進めて、 量的変数から四則演算で作られる派生変数 — 差・変化率・比・変動係数 — に注目する。 これらも量的変数だが、 分布形状・尺度としての性質・相関の意味が元の変数とはまるで違う。 SSDSE-B-2026 の実測値だけを使って確認する。

🎨 直感 — 「水準」と「変化」は別の量的変数

SSDSE-B-2026 は 2012〜2023 年の時系列パネルなので、 同じ列 A1101 (総人口) から「2023 年の水準」と「2012→2023 年の変化率」という 2 つの量的変数を作れる。 実測すると: 東京都は 13,234,000 人 (2012) → 14,086,000 人 (2023) で +6.44 %、 秋田県は 1,063,000 人 → 914,000 人で −14.02 %、 沖縄県は +4.04 %。 11 年間で人口が増えた都道府県は 47 中わずか 7 で、 変化率の最大は東京都 (+6.44 %)、 最小は秋田県 (−14.02 %) だった。

面白いのは分布形状の違いで、 2023 年の人口水準の歪度は 2.29 (東京が引っ張る強い右裾) なのに対し、 変化率の歪度は 0.68 とかなり対称に近づく。 つまり「差 (変化率) を取る」という演算そのものが、 規模の効果を打ち消して分布を穏やかにする一種の変換になっている。 水準では外れ値だった東京も、 変化率では +6.44 % という「端だが極端ではない」値に収まる。 どちらを分析対象に選ぶかで、 見える景色も適切な手法も変わる — これが「派生変数も独立した量的変数として設計する」という視点である。

⚠️ 落とし穴 (重要) — 規模がつくる「見かけの相関」

量的変数の相関で最も踏みやすい罠は、 外れ値でも非線形でもなく、 第三の量 (規模) が生む見かけの相関である。 SSDSE-B-2026 (2023 年、 47 都道府県) で実測すると:

生の値どうしの r = 0.895 を見て「病院が多い県ほど子どもが生まれる」と読むのは誤りで、 人口で割った途端に相関はほぼ消える (r = 0.032)。 生の値の強い相関は「人口が多い県は何でも多い」という規模効果の反映にすぎない。 都道府県データのカウント列 (○○数) はほぼすべて人口と r > 0.9 で相関するため、 カウント × カウントの相関は原則そのままでは解釈しない。 人口あたりに直すか、 擬似相関 の枠組みで人口を交絡として統制してから解釈する。 逆に、 比率どうしの相関では分母を共有すること自体が新たな見かけの相関を生み得る (Pearson が 1897 年に指摘した比率相関の問題) ので、 「割ったから安心」でもない点に注意。

🚀 発展 — 変動係数 CV は比例尺度専用の「ばらつき」指標

単位の違う量的変数どうしで「どちらがばらついているか」を比べたいとき、 標準偏差 ÷ 平均で定義される 変動係数 (CV) を使う。 SSDSE-B-2026 (2023 年) の実測では、 総人口 A1101 は平均 2,645,809 人・標準偏差 2,797,551 人で CV = 105.7 %、 年平均気温 B4101 は平均 16.80 ℃・標準偏差 2.05 ℃で CV = 12.2 %。 「人口のばらつきは気温の約 9 倍」と言いたくなる。

しかしここに尺度水準の罠がある。 摂氏温度は間隔尺度でゼロ点が任意なので、 同じ気温をケルビンに直す (+273.15) と平均だけが大きくなり、 CV は 0.71 % まで激減する。 ばらつきの実態 (標準偏差 2.05 度) は何も変わっていないのに、 CV は単位の取り方で 12.2 % にも 0.71 %にもなる — つまり CV は真のゼロを持つ比例尺度でのみ意味を持つ。 人口 (0 人 = 無) の CV 105.7 % は正当だが、 摂氏気温の CV を報告するのは誤用である。 「平均で割る」「比を取る」系の指標 (CV、 変化率、 対数変換) を使う前に、 必ずその変数が比例尺度かを確認する習慣が、 派生変数設計の最後の砦になる。 なお、 2023 年の気温の範囲は最低 11.0 ℃ (北海道) 〜最高 23.8 ℃ (沖縄県) で、 この「差 12.8 度」は間隔尺度でも堂々と意味を持つ。