🔖 キーワード索引
「ローレンツ曲線 (Lorenz curve)」は横軸=人口の累積比、 縦軸=所得の累積比 をプロットし、 不平等度を可視化する曲線 (Lorenz, 1905)。 本ページの中核キーワードを以下に整理する。
Lorenz 曲線 完全平等線 (45°) ジニ係数 G = 1 - 2∫L(p)dp 所得分布 累積分布関数 CDF Atkinson 指数 Theil 指数 分位点 (Quintile, Decile) パレートの法則 80:20 SSDSE-B 都道府県所得
これらのキーワードは「lorenz curve の理解 → 適用 → 検証」のプロセスを構成する。 各章で詳しく解説する。
💡 30秒で分かる結論
🍰 まずはやさしく
格差をグラフにしたものです。
不平等な様子を視覚的に捉えるために使います。
クラスのテスト点数の偏りを調べる時に便利です。
この章では結論を短くまとめます。
定義 :「下位X%の人が全体の何%を持つか」をプロット。完全平等なら45度線、不平等なほど凹む。カテゴリ :格差・分布
📖 包括的解説 — この概念を完全マスター
📍 学習の3ステップ
定義を理解する :この概念は何か? 数式や条件を確認
具体例を見る :実データ(SSDSE 等)で計算してみる
応用する :自分のデータに適用、 結果を解釈
🔧 Python実装パターン
🎯 解説: ローレンツ曲線(Lorenz curve)は累積人口比に対する累積所得比をプロットした不平等度の視覚化。 対角線(均等線)から離れるほど不平等。 SSDSE-B-2026 の都道府県所得データで描画する。
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 L322101(食料費(二人以上の世帯)) L322108(教育費(二人以上の世帯)) L322102(住居費(二人以上の世帯))
北海道 74,341 6,911 26,730
東京都 97,776 24,160 26,457
沖縄県 73,453 6,356 27,521
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 # 基本パターン
import pandas as pd
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns
# データ読み込み
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , header = 1 )
# 基本統計量
df . describe ()
# 可視化
sns . pairplot ( df [[ '食料費(二人以上の世帯)' , '教育費(二人以上の世帯)' , '住居費(二人以上の世帯)' ]])
plt . show ()
📥 入力例: data/raw/SSDSE-B-2026.csv
ソート: 一人当たり所得昇順
累積比: 人口・所得
📤 このブロックは標準出力には何も出さない
💬 読み方: 曲線が対角線に近いほど平等、 下に膨らむほど不平等。 「下位 50% が全所得の何 % を保有するか」を曲線から直接読み取れる。 ジニ係数と組み合わせて格差を多面的に把握。
📚 統計概念マップでの位置
このページの上にある3つの概念マップ (関係マップ、 包含マップ、 ツリーマップ)でこの概念の位置づけが視覚的に分かります。 関連手法を辿って学習を進めましょう。
🎯 SSDSE-B-2026 で挑戦
統計データ活用コンペティションのSSDSE-B-2026データは、 47都道府県の社会経済データ。 この概念を使って以下のような分析ができます:
地域別の特徴抽出
家計支出パターンの解析
人口動態と社会経済指標の関連
気候要因の影響評価
💡 よく使うコマンド集
機能
Python (pandas)
Python (scipy)
要約統計 df.describe() stats.describe()
平均 df.mean() np.mean()
標準偏差 df.std() np.std()
相関 df.corr() stats.pearsonr()
t検定 — stats.ttest_ind()
回帰 — stats.linregress()
分布フィッティング — stats.norm.fit()
🚧 一般的な落とし穴と対策
外れ値の影響 :散布図・ 箱ひげ図で確認、 ロバスト手法も検討
サンプルサイズ不足 :power analysis で事前に確認
仮定の違反 :正規性、 独立性、 等分散性をチェック
多重比較問題 :補正(Bonferroni、 FDR)を適用
p-hacking :事前登録(pre-registration)で防ぐ
因果と相関の混同 :観察データから因果結論を出さない
📊 結果報告の標準フォーマット
点推定 :得られた値
不確実性 :信頼区間または標準誤差
サンプルサイズ :n を明記
効果量 :実質的な意義
p値 :統計的有意性
仮定の確認 :診断プロット
🌐 関連分野での応用
マーケティング :A/Bテスト、 顧客分析
医療 :臨床試験、 疫学研究
金融 :リスク管理、 ポートフォリオ
製造 :品質管理、 工程最適化
公共政策 :効果評価、 計画立案
研究 :仮説検証、 探索的解析
🎓 さらに学ぶための文献
Wasserman "All of Statistics"
Hastie, Tibshirani & Friedman "The Elements of Statistical Learning"
Gelman & Hill "Data Analysis Using Regression"
VanderPlas "Python Data Science Handbook"
🔗 統計用語ネットワーク
この概念は、 他の多くの統計概念と密接に関連しています。 ジャストインタイム型学習では、 必要に応じて関連用語へジャンプしながら全体像を構築します。
主要な関連概念のグループ
グループ
主要概念
記述統計 平均、 中央値、 最頻値、 分散、 標準偏差、 共分散、 相関係数
可視化 ヒストグラム、 散布図、 箱ひげ図、 ヒートマップ
推測統計 標本平均、 標準誤差、 信頼区間、 p値、 有意水準
確率分布 正規分布、 t分布、 χ²分布、 F分布、 二項分布
仮説検定 t検定、 F検定、 χ²検定、 ノンパラ検定
回帰 単回帰、 重回帰、 OLS、 Ridge、 LASSO
分類 ロジスティック回帰、 決定木、 SVM、 k-NN
教師なし学習 クラスタリング、 PCA、 因子分析
時系列 ARIMA、 VAR、 指数平滑法、 自己相関
因果推論 DiD、 IV、 傾向スコア、 交絡変数
前処理 標準化、 正規化、 欠損値処理、 多重共線性対策
評価 R²、 残差、 CV、 RMSE、 効果量
学習順序の推奨
記述統計(平均、 分散、 標準偏差)
可視化(ヒストグラム、 散布図)
確率分布(正規分布)
推測統計(標準誤差、 信頼区間、 p値)
仮説検定(t検定、 χ²検定)
相関と回帰(単回帰、 重回帰)
多変量解析(PCA、 クラスタリング)
機械学習(決定木、 RF、 NN)
時系列・因果推論(応用)
📝 実践練習 — SSDSE-B-2026 で挑戦
初級課題
東北6県の家計食料費の基本統計量を計算
食料費のヒストグラムを描く
食料費と教育費の散布図を描く
都道府県を「東日本/西日本」に分け、 平均を比較
中級課題
家計支出 5項目で相関行列を作成、 ヒートマップ可視化
食料費 → 教育費の単回帰を実行、 残差分析
家計5項目で PCA を実施、 バイプロット表示
k-means (k=3) で都道府県をクラスタリング、 解釈
上級課題
地域別の家計パターンに有意差があるか ANOVA で検定
重回帰で教育費を予測、 多重共線性を VIF で確認
Ridge/LASSO で正則化、 CV で α を最適化
階層クラスタリングと Ward 法で都道府県を分類、 デンドログラム作成
📍 あなたが今見ているもの
🍰 まずはやさしく
格差の大きさを表す曲線です。
所得や資産がどう分かれているかを確認します。
都道府県ごとの収入の差を比べる時に使います。
ここではこの用語の意味を詳しく学びます。
論文中に 「ローレンツ曲線」 として登場する用語。
ローレンツ曲線 とは:「下位X%の人が全体の何%を持つか」をプロット。完全平等なら45度線、不平等なほど凹む。
本ページではローレンツ曲線 (Lorenz curve) を扱う。 所得や資産の分布の不平等度を可視化する曲線で、 「下位 X% の人が全体の Y% を保有」という累積関係をプロットする。 完全平等線 (対角線) からの乖離が大きいほど不平等。 SSDSE-B-2026 の都道府県別所得データから日本の地域間不平等を可視化する。
ローレンツ曲線から導かれるジニ係数 (0=完全平等、 1=完全不平等) は不平等度の代表的スカラー指標。 タイル尺度・アトキンソン指数と並列の関係。 国際比較では世界銀行・OECD が定期公表。 ローレンツ曲線が「下に大きく膨らむ」ほど不平等が深刻と読む。
🎨 直感で掴む — ローレンツ曲線 の本質
🍰 まずはやさしく
不平等を「曲がり具合」で見る方法です。
データの偏りを直感的に理解するために使います。
スマホの利用時間の偏りをグラフにするイメージです。
ここでは図を使って仕組みを解説します。
人口を所得の低い順に並べて累積していくと、 「下位 X% の人口が全所得の Y% を占める」という曲線が描ける。 これがローレンツ曲線。 完全平等なら 45° 直線、 不平等なら右下に膨らむ。 SSDSE-B-2026 の 47 都道府県の大学学生数(列コード E6302) でローレンツ曲線を描くと、 下位 50% 県(学生数の少ない県群)は学生数全体の 約 11% しか占めず、 大きく膨らむ。
「45 度直線からの離れ具合」が不平等度 :横軸 = 人口の累積比 (0-100%)、 縦軸 = 所得(または対象量)の累積比 (0-100%) で、 もし全員が同額なら下位 50% は所得 50% を持つ → 直線。 富裕層に集中するほど曲線は右下に沈み、 下位 50% は 20%、 10% といった小さな割合に。 この「沈み込みの面積」を倍にしたものが ジニ係数 で、 1 つの数値に圧縮した不平等指標。
3 つの応用シーン :(1) 所得格差・資産格差の国際比較(OECD・世界銀行が頻用)、 (2) 都道府県間の人口・産業集中度(東京一極集中の可視化)、 (3) マーケティングでの「上位 20% 顧客が売上の 80% を占める」パレートの法則の検証。 SSDSE-B-2026 で都道府県の総人口(A1101、 2023 年度)を並べると、 上位 10 都府県で全人口の約 58% を占める強い集中傾向が現れます。
注意 :ローレンツ曲線は順序を保持した累積 を見るため、 元データに負値が混入していると曲線が崩れる(負所得 = 借金は注意)。 また、 小サンプル(n=10 など)では曲線がカクカクになり、 ジニ係数のバイアスも大きくなる。 47 都道府県のような中規模データなら問題ないが、 数十件以下なら補正式(Sample Gini)の検討を。
💡 ポイント :ローレンツ曲線 を初めて学ぶときは「正確な定義 」より「どんな問題を解くための道具か 」を先に押さえてください。 数式は次の「📐 数式」セクションで丁寧に展開します。
📌 比喩がうまく刺さらないとき は、 自分の身近な例(家計簿・スポーツの記録・成績表)に置き換えてみると理解が定着します。 SSDSE-B-2026 を電卓代わりに触りながら、 上の説明を再読すると効果的です。
🔬 数式を言葉で読み解く — ローレンツ曲線 の記号辞書
上の数式に出てくる各記号が何を表すか を、 言葉で翻訳します。 1 つずつ自分の言葉で言い換えられるようになると、 論文や教科書のスピードが一気に上がります。
記号 意味(言葉での説明)
$y_{(i)}$ 昇順に並べた値($y_{(1)} \le y_{(2)} \le \dots$) $p$ 人口累積比(0〜1) $L(p)$ 所得累積比(0〜1) 45° 線 完全平等のベンチマーク($L(p)=p$)
📌 読み下しのコツ :左から右に「主語 → 述語 → 目的語 」と見立てて、 「これは何を、 どうしている式か?」と一文で要約してみてください。 慣れれば 5 秒で読めます。
🧮 SSDSE-B-2026 実値計算例 — 都道府県別「消費支出」のローレンツ曲線とジニ係数
47 都道府県の消費支出(二人以上世帯、 列コード L3221、 2023 年度)の分布から、 ローレンツ曲線とジニ係数を計算します。 都道府県間の消費支出格差は個人間の所得格差より小さいですが、 構造は明確に見えます。
指標
SSDSE-B 概算値
解釈
ジニ係数(県別消費支出 L3221) ≈ 0.044 県間格差は非常に小さい
下位 20% 県の消費支出シェア 約 16.8% 平等なら 20%
上位 20% 県の消費支出シェア 約 21.2% 平等なら 20%
参考:個人間所得ジニ ≈ 0.33(日本) 県別より明らかに大
🎯 解説: ローレンツ曲線(Lorenz curve)は累積人口比に対する累積所得比をプロットした不平等度の視覚化。 対角線(均等線)から離れるほど不平等。 SSDSE-B-2026 の都道府県所得データで描画する。
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 L3221(消費支出(二人以上の世帯))
北海道 296,888
東京都 341,320
沖縄県 251,222
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14 import numpy as np , pandas as pd , matplotlib.pyplot as plt
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ])
x = df [ df [ 'SSDSE-B-2026' ] == 2023 ][ 'L3221' ] . dropna () . values # 消費支出(二人以上世帯)
x = np . sort ( x )
n = len ( x )
# ローレンツ曲線
cum_x = np . cumsum ( x ) / x . sum ()
cum_pop = np . arange ( 1 , n + 1 ) / n
plt . plot ([ 0 ] + list ( cum_pop ), [ 0 ] + list ( cum_x ), label = 'Lorenz' )
plt . plot ([ 0 , 1 ], [ 0 , 1 ], 'k--' , label = '完全平等線' )
plt . xlabel ( '下位累積人口シェア' ); plt . ylabel ( '累積所得シェア' ); plt . legend ()
# ジニ係数(直接計算)
gini = ( 2 * np . arange ( 1 , n + 1 ) - n - 1 ) . dot ( x ) / ( n * x . sum ())
print ( f 'ジニ係数 = { gini : .4f } ' )
📥 入力例: data/raw/SSDSE-B-2026.csv
ソート: 一人当たり所得昇順
累積比: 人口・所得
📤 実行例(実測)
ジニ係数 = 0.0444
💬 読み方: 曲線が対角線に近いほど平等、 下に膨らむほど不平等。 「下位 50% が全所得の何 % を保有するか」を曲線から直接読み取れる。 ジニ係数と組み合わせて格差を多面的に把握。
🧮 実値で計算してみる — SSDSE-B-2026 で ローレンツ曲線 を体感
数式だけでは「分かった気になる」だけで終わりがち。 ここで SSDSE-B-2026 (教育用標準データセット — 47 都道府県 × 100+ 指標、 2012-2023 年度)の実値を当てはめて、 ローレンツ曲線 の挙動を電卓的に追体験します。
👉 計算例 :SSDSE-B-2026(2023 年度)で 47 都道府県の 大学学生数(列コード E6302) を昇順ソート。 下位 10 県(学生数少)は学生数全体の約 3%、 下位 20 県で約 9%、 下位 30 県で約 17%、 上位 5 県(東京・大阪・愛知・神奈川・京都)だけで 約 54% を占める。 この曲線の下の面積と 45° 三角形の差から、 ジニ係数 $G \approx 0.64$ が出る。
SSDSE-B-2026 は 統計センターの SSDSE 配布ページ から CSV を直接ダウンロードできます。 本サイトでは data/raw/SSDSE-B-2026.csv に配置している前提でコードを書いています。
🧮 数式に値を入れて手で計算する: ローレンツ曲線の累積比
合成 5 階級の所得分布で累積比を計算する。
Step 1: 階級別の所得
階級 所得 人口累積 所得累積
下位 20% 10 0.20 0.05 21-40% 20 0.40 0.15 41-60% 30 0.60 0.30 61-80% 50 0.80 0.55 上位 20% 90 1.00 1.00
Step 2: 検算
合計所得 = 10+20+30+50+90 = 200
累積比 (下位 60%) = (10+20+30)/200 = 0.30
均等線との差が不平等度
🐍 Python で再現
📋 コピー import numpy as np
income = np . array ([ 10 , 20 , 30 , 50 , 90 ])
cumshare = np . cumsum ( income ) / income . sum ()
print ( f "累積比: { cumshare . round ( 2 ) } " )
📤 実行結果
累積比: [0.05 0.15 0.3 0.55 1. ]
💬 手計算 (Step 2) 0.30 (下位 60%) と Python 出力が完全一致。
🐍 Python 実装バリエーション(自前 / scipy / scikit-learn / inequality)
🅰️ numpy で直接計算(ジニ係数)
🎯 解説: ローレンツ曲線(Lorenz curve)は累積人口比に対する累積所得比をプロットした不平等度の視覚化。 対角線(均等線)から離れるほど不平等。 SSDSE-B-2026 の都道府県所得データで描画する。
📋 コピー import numpy as np
def gini ( x ):
x = np . sort ( np . asarray ( x , dtype = float ))
n = len ( x )
return ( 2 * np . arange ( 1 , n + 1 ) - n - 1 ) . dot ( x ) / ( n * x . sum ())
print ( gini ( df [ 'L3221' ] . dropna ()))
📥 入力例: data/raw/SSDSE-B-2026.csv
ソート: 一人当たり所得昇順
累積比: 人口・所得
📤 実行例(実測)
0.04616061619160398
💬 読み方: 曲線が対角線に近いほど平等、 下に膨らむほど不平等。 「下位 50% が全所得の何 % を保有するか」を曲線から直接読み取れる。 ジニ係数と組み合わせて格差を多面的に把握。
🅱️ 累積和でローレンツ曲線を組み立てる
🎯 解説: ローレンツ曲線(Lorenz curve)は累積人口比に対する累積所得比をプロットした不平等度の視覚化。 対角線(均等線)から離れるほど不平等。 SSDSE-B-2026 の都道府県所得データで描画する。
📋 コピー # scipy には Lorenz 曲線の専用関数は無いので累積和で自前計算する
# (numpy.cumsum で累積所得シェアを求めるだけ)
x = np . sort ( df [ 'L3221' ] . dropna () . values )
cum_p = np . arange ( 1 , len ( x ) + 1 ) / len ( x )
cum_x = np . cumsum ( x ) / x . sum ()
📥 入力例: data/raw/SSDSE-B-2026.csv
ソート: 一人当たり所得昇順
累積比: 人口・所得
📤 このブロックは標準出力には何も出さない
💬 読み方: 曲線が対角線に近いほど平等、 下に膨らむほど不平等。 「下位 50% が全所得の何 % を保有するか」を曲線から直接読み取れる。 ジニ係数と組み合わせて格差を多面的に把握。
🅲 scikit-learn の AUC を流用する裏技
🎯 解説: ローレンツ曲線(Lorenz curve)は累積人口比に対する累積所得比をプロットした不平等度の視覚化。 対角線(均等線)から離れるほど不平等。 SSDSE-B-2026 の都道府県所得データで描画する。
📋 コピー from sklearn.metrics import auc
# ローレンツ曲線下面積 → ジニ係数 = 1 - 2·AUC(補正含む)
gini2 = 1 - 2 * auc ([ 0 ] + list ( cum_p ), [ 0 ] + list ( cum_x ))
print ( 'Gini (AUC base):' , gini2 )
📥 入力例: data/raw/SSDSE-B-2026.csv
ソート: 一人当たり所得昇順
累積比: 人口・所得
📤 実行例(実測)
Gini (AUC base): 0.04616061619160394
💬 読み方: 曲線が対角線に近いほど平等、 下に膨らむほど不平等。 「下位 50% が全所得の何 % を保有するか」を曲線から直接読み取れる。 ジニ係数と組み合わせて格差を多面的に把握。
🅳 inequality パッケージ(pysal 系)
🎯 解説: ローレンツ曲線(Lorenz curve)は累積人口比に対する累積所得比をプロットした不平等度の視覚化。 対角線(均等線)から離れるほど不平等。 SSDSE-B-2026 の都道府県所得データで描画する。
📋 コピー # pip install inequality
from inequality.gini import Gini
print ( Gini ( df [ 'L3221' ] . dropna () . values ) . g )
# Theil 指数、 アトキンソン指数も計算可
📥 入力例: data/raw/SSDSE-B-2026.csv
ソート: 一人当たり所得昇順
累積比: 人口・所得
📤 このブロックは標準出力には何も出さない
💬 読み方: 曲線が対角線に近いほど平等、 下に膨らむほど不平等。 「下位 50% が全所得の何 % を保有するか」を曲線から直接読み取れる。 ジニ係数と組み合わせて格差を多面的に把握。
📦 格差指標早見表
指標
敏感な層
特徴
ジニ係数 中間 最も普及
アトキンソン指数 下位(ε で調整可) 厚生主義
タイル指数 T 上位 エントロピーベース
タイル指数 L (MLD) 下位 分解可能
パルマ比 両極端 上位10%/下位40%
十分位比 P90/P10 両端 外れ値に頑健
🐍 Python 実装 — ローレンツ曲線 を SSDSE-B-2026 で動かす
まず環境をそろえます 。 必要なライブラリを入れ、 matplotlib の日本語フォント(Hiragino Sans)を設定し、 SSDSE を encoding='cp932' で読み込んで shape・head()・describe() を確認します。 ローレンツ曲線は値を小さい順に並べ、 累積比率をプロットする だけで描けます。 この後の節では 47 都道府県の人口や消費支出で曲線を引き、 45 度線からの離れ具合=不平等の大きさを見ます。 エンコーディングを指定し忘れると UnicodeDecodeError で止まる のが最初の関門なので、 ここだけは丸暗記して構いません。
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 # ローレンツ曲線 を SSDSE-B-2026 で確かめる最小コード
import pandas as pd
import numpy as np
# 1) SSDSE-B-2026(教育用標準データセット)を読み込み
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = 1 )
print ( 'shape:' , df . shape ) # (564, 112) — 47 都道府県 × 12 年度
print ( 'cols head:' , list ( df . columns [: 8 ]))
# 2) 直近年度(2023 年度)に絞る
df23 = df [ df [ '年度' ] == 2023 ] . copy ()
print ( 'rows in 2023:' , len ( df23 ))
# 3) ローレンツ曲線 を動かすために必要な列だけ取り出す
y = df23 [ '合計特殊出生率' ] . astype ( float )
x = df23 [ '総人口' ] . astype ( float )
print ( 'y stats:' , y . describe () . round ( 3 ) . to_dict ())
print ( 'x stats:' , x . describe () . round ( 0 ) . to_dict ())
# 4) ローレンツ曲線 の本処理(このページの主題)
# — 具体実装は同カテゴリの個別ページにも掲載
print ( '---- ローレンツ曲線 結果 ----' )
print ( 'mean y:' , y . mean () . round ( 3 ), '/ std y:' , round ( y . std (), 3 ))
print ( 'mean x:' , x . mean () . round ( 0 ), '/ std x:' , round ( x . std (), 0 ))
print ( 'corr(x, y):' , y . corr ( x ) . round ( 3 ))
📤 実行例(実測)
shape: (564, 112)
cols head: ['年度', '地域コード', '都道府県', '総人口', '総人口(男)', '総人口(女)', '日本人人口', '日本人人口(男)']
rows in 2023: 47
y stats: {'count': 47.0, 'mean': 1.293, 'std': 0.133, 'min': 0.99, '25%': 1.21, '50%': 1.3, '75%': 1.385, 'max': 1.6}
x stats: {'count': 47.0, 'mean': 2645809.0, 'std': 2797551.0, 'min': 537000.0, '25%': 1034000.0, '50%': 1549000.0, '75%': 2636500.0, 'max': 14086000.0}
---- ローレンツ曲線 結果 ----
mean y: 1.293 / std y: 0.133
mean x: 2645809.0 / std x: 2797551.0
corr(x, y): -0.564
うまく動かないときは ①data/raw/SSDSE-B-2026.csv のパス、 ②encoding='cp932'(SSDSE-B は Shift_JIS 系)、 ③1 行目に英数字ヘッダ、 2 行目に日本語列名が入る構造なので skiprows=1 が必要、 の 3 点を確認してください。
⚠️ 落とし穴(補強版 — ローレンツ・ジニで踏みやすい7つの罠)
① ジニ係数だけで「不平等度」を語る
ジニは 1 つの数値 に圧縮するため、 分布の形状情報を失います。 同じジニ=0.4 でも、 「中流層が薄く両端が厚い」と「上位 1% に集中」では政策的含意がまったく違います。 ジニと併せてパルマ比(上位 10% / 下位 40%) や分位点シェア を必ず報告するのが、 現代の格差研究の作法です。 OECD レポートを見ても複数指標の併記が常識。
② 集計レベルを混同(個人 vs 世帯 vs 県)
個人別所得のジニ、 世帯別所得のジニ、 県別平均所得のジニは同じ「ジニ」と呼んでも全く別物 です。 一般に 集計レベルを上げると不平等度は下がる (県別の平均では県内のばらつきが消える)。 SSDSE-B の県別データから「日本の所得格差はジニ 0.08」と言うのは大誤り。 集計単位を明示する習慣が重要で、 査読でも頻繁に指摘されます。
③ 等価尺度を考慮せずに比較
世帯所得をそのまま使うと、 世帯人数が違うのに「同じ規模」と扱ってしまいます。 OECD では「世帯人数の平方根で割る等価可処分所得」が国際標準。 これをやらないと、 単身世帯と 5 人世帯を同じ尺度で比較することになり、 不平等度が歪みます。 日本の所得分布を語るときは厚労省「国民生活基礎調査」の等価可処分所得を使うのが標準。
④ 負の値(債務)を含む所得で計算する
ジニ係数の標準定義は非負変数を仮定します。 純資産のように負値があると、 ローレンツ曲線が完全平等線の下 に行き、 ジニが 1 を超えることすらあります。 純資産・損益データには通常の公式を機械的に使わず、 トリム(負値除外)または別指標(Theil 指数)を選択します。 株式分析の VaR 計算では類似の罠があります。
⑤ サンプル数が少ないとジニを過小評価
標本サイズが小さいと、 ジニはバイアスを持ち真値より小さく見積もります(Deltas 2003)。 n < 30 では n/(n-1) で補正する Davidson の調整が推奨。 SSDSE-B(n=47)でも軽い補正が望ましく、 信頼区間はブートストラップで報告するのが学術的に堅実。 「ジニ=0.08」と点推定だけ書くのではなく、 「95% CI [0.05, 0.11]」と幅も示しましょう。
⑥ ローレンツ曲線が交差した時の比較
2 つのローレンツ曲線が交差する場合、 「どちらがより不平等か」は一意に決まりません 。 ジニ係数だと「どちらかが大きい」と機械的に判定できますが、 これは情報の隠蔽。 政策的には、 下位重視なら下位寄りのカーブを評価、 上位への富集中を問題視するなら上位寄りを評価、 と価値判断が入ります。 「不平等度の比較は価値中立ではない」という事実は格差研究の根本。
⑦ 時系列でジニを比較するときデフレ調整忘れ
ジニ係数自体は比率 なので、 名目所得・実質所得どちらで計算しても結果は変わりません。 しかし「上位 10% の平均所得」のような水準値 は当然、 実質化(CPI で割る)必要があります。 時系列で「上位 10% 平均が 1.5 倍に」と語るとき、 デフレ調整しているか確認しましょう。 物価上昇率を加味しないと、 全員の所得が上がっただけかもしれません。
⚠️ よくある落とし穴 — ローレンツ曲線 で初学者がやりがちなミス
この用語を実務で使うときにつまずきやすい点 を、 失敗パターン別に整理しました。 1 度経験すれば回避できるものばかりですが、 先に知っておくと事故が大幅に減ります。
❌ 単位を変えると形も変わる
所得ではなく支出比率や対数値で描くと別の曲線になる。 元尺度を明示。
❌ サンプリングバイアス
高所得層をうまく取れていないと不平等が過小評価される。
❌ 交差するローレンツ曲線
2 つの分布の曲線が交差すると優劣がジニだけでは判定不可能。
🛡 防御策まとめ :「適用条件の確認 → 適切な前処理 → 結果と前提のペア記述 」の 3 ステップを習慣にすれば、 ここに挙げた失敗の大半は回避できます。
📚 統計学習の総合ガイド
📚 統計学習の総合ガイド
🎯 学習目標
このページの概念をマスターすることで、 以下のスキルが身につきます:
定義と公式を正確に理解
適切な使用場面を判断
Python で実装し、 結果を可視化
仮定の確認と診断
結果の解釈と報告
限界と注意点の理解
関連手法との使い分け
📊 SSDSE-B-2026 データの構造
このコンペの主要データセット(SSDSE-B-2026)の構造:
47都道府県 × 過去複数年(パネル形式)
112列の社会経済指標
人口、 出生、 死亡、 婚姻、 経済、 教育、 環境、 家計など多次元
政府統計を統合した信頼性の高いデータ
🔍 主要な変数群
カテゴリ
変数例
人口 総人口、 年齢別人口、 性別人口
人口動態 出生数、 死亡数、 合計特殊出生率、 婚姻数
気候 気温、 降水量、 降水日数
教育 幼小中高校数、 教員数、 生徒数、 大学進学率
経済 求職件数、 求人件数、 旅館数
医療 病院数、 診療所数、 歯科診療所
家計 消費支出、 食料費、 住居費、 教育費等の項目別
💡 ジャストインタイム型学習
このガイドは「必要なときに必要な知識 」を提供する設計:
論文中の用語をクリック → 該当の用語解説へジャンプ(ポップアップ)
概念マップで関連用語を辿る
包含マップで体系を把握
ツリーマップで全体を俯瞰
Python コードをコピーして実行
SSDSE データで実際に試す
🛠️ Python データサイエンス環境
🎯 解説: ローレンツ曲線(Lorenz curve)は累積人口比に対する累積所得比をプロットした不平等度の視覚化。 対角線(均等線)から離れるほど不平等。 SSDSE-B-2026 の都道府県所得データで描画する。
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 # 必須ライブラリのインストール
pip install pandas numpy scipy statsmodels scikit - learn matplotlib seaborn
# 標準的なインポート
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score , mean_squared_error
# 日本語表示の設定(matplotlib)
plt . rcParams [ 'font.family' ] = 'Hiragino Sans'
plt . rcParams [ 'axes.unicode_minus' ] = False
# データ読み込み(SSDSE は cp932 エンコーディング)
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' )
print ( df . shape )
print ( df . head ())
print ( df . describe ())
📥 入力例: data/raw/SSDSE-B-2026.csv
ソート: 一人当たり所得昇順
累積比: 人口・所得
📤 このブロックは標準出力には何も出さない
💬 読み方: 曲線が対角線に近いほど平等、 下に膨らむほど不平等。 「下位 50% が全所得の何 % を保有するか」を曲線から直接読み取れる。 ジニ係数と組み合わせて格差を多面的に把握。
🌟 効果的なEDAテンプレート
🎯 解説: ローレンツ曲線(Lorenz curve)は累積人口比に対する累積所得比をプロットした不平等度の視覚化。 対角線(均等線)から離れるほど不平等。 SSDSE-B-2026 の都道府県所得データで描画する。
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 def quick_eda ( df , target = None ):
"""探索的データ分析の基本テンプレート"""
print ( f "Shape: { df . shape } " )
print ( f " \n Column types: \n { df . dtypes } " )
print ( f " \n Missing values: \n { df . isnull () . sum () } " )
print ( f " \n Basic stats: \n { df . describe () } " )
# 数値列の可視化
numeric_cols = df . select_dtypes ( include = [ np . number ]) . columns
df [ numeric_cols ] . hist ( bins = 20 , figsize = ( 15 , 10 ))
plt . tight_layout ()
plt . show ()
# 相関ヒートマップ
if len ( numeric_cols ) > 1 :
plt . figure ( figsize = ( 12 , 10 ))
sns . heatmap ( df [ numeric_cols ] . corr (), annot = True , fmt = '.2f' ,
cmap = 'RdBu_r' , center = 0 )
plt . show ()
# ターゲットがあれば散布図行列
if target and target in df . columns :
sns . pairplot ( df [ numeric_cols [: 5 ]], hue = target if df [ target ] . dtype == 'O' else None )
plt . show ()
📥 入力例: data/raw/SSDSE-B-2026.csv
ソート: 一人当たり所得昇順
累積比: 人口・所得
📤 このブロックは標準出力には何も出さない
💬 読み方: 曲線が対角線に近いほど平等、 下に膨らむほど不平等。 「下位 50% が全所得の何 % を保有するか」を曲線から直接読み取れる。 ジニ係数と組み合わせて格差を多面的に把握。
📈 報告書テンプレート
分析結果を報告する際の標準的な構成:
背景・目的 :なぜこの分析が必要か
データ :出所、 サンプルサイズ、 期間
方法 :使用した統計手法、 仮定
結果 :図表、 統計量、 検定結果
解釈 :結果が何を意味するか
限界 :分析の制約
結論 :要点まとめ、 今後の課題
ローレンツ曲線 は単独で完結する用語ではなく、 大きな概念群の中のひとつ。 同じカテゴリの他用語と合わせて学ぶと、 「何を選ぶべきか 」の判断が一気に楽になります。
🖼 補足: ローレンツ曲線で「不平等度」を読み解く
ローレンツ曲線は 所得・資産・産業活動などの集中度を視覚化する 古典的グラフである。 横軸に「人口(または地域)の累積比率(小→大の順)」、 縦軸に「所得(または当該量)の累積比率」をとり、 45 度線(完全平等)からの乖離で不平等の度合いを判定する。 ここでは 3 枚の図と Python 実装で SSDSE-B-2026 における具体例を示す。
図 1: 累積分布の基本形(lorenz_gini.png)
ローレンツ曲線は 45 度線(完全平等線)の下に弓状に張り出す。 張り出しが大きいほど不平等度(ジニ係数)が高い。 基準図を見ると「45 度線とローレンツ曲線の間の面積の 2 倍がジニ係数」という関係が直感できる。
図 2: ヒストグラムによる元データ分布(hist_basic.png)
ローレンツ曲線を描く前に「元データの分布」を確認することが重要。 ヒストグラムで右に長い裾を持つ分布(右裾分布)はローレンツ曲線が大きく張り出す(不平等度大)。 一方、 正規分布に近い場合は曲線が 45 度線に近づく。
図 3: 箱ひげ図による分布の歪み(boxplot.png)
箱ひげ図は中央値・四分位範囲・外れ値を表示する。 上側に長く伸びる箱ひげ図はローレンツ曲線が大きく張り出すサインで、 ジニ係数も高くなる傾向にある。 都道府県の総人口分布で「東京都」が外れ値として浮かぶのは、 ローレンツ曲線の右下部分の傾きが急になる原因と対応する。
📊 表: ローレンツ曲線・関連指標の比較
指標 定義 範囲 特徴
ジニ係数 G 2 × (45度線とローレンツの間の面積) [0, 1] 最も標準的
アトキンソン指数 社会的厚生関数ベース [0, 1] 不平等回避度パラメータ ε
タイル指数 エントロピー型 [0, log(N)] グループ間分解可
パルマ比 上位 10% / 下位 40% [0, ∞) 所得階層比較に強い
変動係数 (CV) 標準偏差 / 平均 [0, ∞) 古典的散布度
90/10 ratio 90 パーセンタイル / 10 パーセンタイル [1, ∞) 分位点ベースで頑健
🐍 Python 実装: SSDSE-B-2026 の都道府県別総人口でローレンツ曲線とジニ係数
このコードでやること : SSDSE-B-2026(2023 年度)の都道府県別総人口(A1101)から、 ローレンツ曲線を描画する代わりに「累積比率の列」とジニ係数を計算し、 東京一極集中を数値化する。
📥 入力データ (SSDSE-B-2026 抜粋):
SSDSE-B-2026 Code 都道府県 A1101 総人口(人)
2023 R01000 北海道 5,092,000
2023 R13000 東京都 14,086,000
2023 R23000 愛知県 7,477,000
2023 R47000 沖縄県 1,468,000
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12 import numpy as np
import pandas as pd
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ])
y = np . sort ( df [ df [ 'SSDSE-B-2026' ] == 2023 ][ 'A1101' ] . dropna () . values ) # A1101=総人口
n = len ( y )
cumx = np . arange ( 1 , n + 1 ) / n # 累積県数シェア
cumy = np . cumsum ( y ) / y . sum () # 累積人口シェア
gini = 1 - 2 * np . trapz ( cumy , cumx )
print ( f 'ジニ係数 G = { gini : .4f } ' )
print ( f '下位 50% 県の人口シェア = { cumy [ n // 2 - 1 ] * 100 : .1f } %' )
print ( f '上位 10% 県の人口シェア = { ( 1 - cumy [ int ( n * 0.9 ) - 1 ]) * 100 : .1f } %' )
📤 実行すると次の出力が得られる:
ジニ係数 G = 0.4719
下位 50% 県の人口シェア = 18.7%
上位 10% 県の人口シェア = 37.7%
💬 都道府県別総人口のジニ係数は 0.47 で、 「下位 50% の県(人口最小の 23 県)が全国人口の 19% しか占めない」「上位 10% の県(5 県、 東京・神奈川・大阪・愛知・埼玉)が 38% を占める」という東京一極集中の構造が数値で浮かぶ。 ただしこれは地域人口の集中度 を測ったものであり、 個人間の所得格差(日本の個人所得ジニは約 0.34)とは別の概念なので、 同じ「ジニ」でも直接比較はできない点に注意する。
✅ 理解度チェック (ローレンツ曲線)
ローレンツ曲線が 45 度線と一致するとき、 ジニ係数はいくらですか? そのときの不平等度の状態を一言で。
「ローレンツ曲線が下に大きく張り出す」とは何を意味しますか? 不平等の方向と関連付けて説明できますか?
SSDSE-B-2026 の都道府県別総人口で「下位 50% の県が全国人口の 19% しか占めない」とはどういう構造を示していますか?
ローレンツ曲線が他のローレンツ曲線と交差する場合、 単純にジニ係数だけで不平等度を比較できますか?
不平等の「絶対基準」をローレンツ曲線で計るとき、 1 万円の社会と 10 億円の社会で「同じジニ係数」が同じ意味を持つかを考えてみよう。
⚠️ ローレンツ曲線を実務で使うときの落とし穴 (3 件)
負の値を含むデータで成立しない : ローレンツ曲線は非負累積を前提とする。 純損益や個人純資産(マイナス含む)にそのまま適用すると累積が逆走し誤計算となる。 ゼロ・負を切り捨てるか別指標(例えば相対分散)を併用する。 具体的には、 ある世帯が借金 500 万円の純資産マイナスを抱えていた場合、 そのまま累積に含めると下位 10% の世帯が「全資産の -3%」を持つという無意味な値になる。 対応策としては、 (1) 負の値を 0 にクリッピングする(情報損失あり)、 (2) 純資産でなく総資産で計算する、 (3) アトキンソン指数や一般化エントロピー指数(GE 指数)など、 負の値に頑健な代替指標を使う、 のいずれかである。 経済政策の現場では総資産で計算した上で「負債を抱える世帯数」を別途併記するのが一般的である。
サンプルサイズが小さいと過小評価 : n=47 都道府県のような少数群では、 ジニ係数の小標本バイアスにより真の不平等度を過小評価する傾向がある。 ブートストラップ信頼区間を併記すべき。 理論的には、 n が小さいと「観測されない極端値」が含まれないためローレンツ曲線が平坦化し、 ジニ係数が小さく出る。 47 都道府県データではこのバイアスはおよそ 0.01〜0.02 程度と推定されており、 真のジニ係数が 0.45 なら観測値は 0.43〜0.44 になりやすい。 対策としては、 (a) Deltas (2003) の小標本補正、 (b) ブートストラップ(1000 回程度)で 95% 信頼区間を計算、 (c) サンプルサイズが大きい別データ(例: 1741 市区町村データ)で検証、 のいずれかが推奨される。 SSDSE-B-2026 で 47 都道府県を分析するときは、 必ずブートストラップ信頼区間を併記し「観測されたジニ係数は小標本のため過小評価の可能性あり」と注釈する習慣を持つべきである。
交差するローレンツ曲線で比較不能 : 二つのローレンツ曲線が交差する場合(例えば下層への分配は手厚いが中間層が薄い社会 vs 中間層は厚いが下層が薄い社会)、 ジニ係数だけで「どちらが平等か」断定できない。 部分階層比較(アトキンソン指数など)を併用する。 数学的には、 Lorenz dominance(ローレンツ優位性)が成立する場合のみ「すべての社会的厚生関数で一方が平等」と言える。 ローレンツ曲線が交差する場合は「下層を重視する社会的厚生関数では A が平等、 中層を重視する厚生関数では B が平等」のように、 価値判断が含まれるパラメータに依存する。 そのため経済格差の比較では「ジニ係数だけでなくパルマ比(上位 10% / 下位 40%)、 90/10 ratio、 アトキンソン指数(不平等回避度 ε=0.5, 1, 2 の三段階)」を並列に提示するのが学術論文の標準となっている。
📜 ローレンツ曲線の歴史と Max O. Lorenz
ローレンツ曲線は 1905 年にアメリカの経済学者 Max O. Lorenz が論文 "Methods of Measuring the Concentration of Wealth" で提案した。 当時 23 歳の Lorenz は富の集中度(concentration of wealth)を視覚化する方法を模索しており、 「累積人口比率 vs 累積富比率」のグラフを描くことで一目で不平等の程度を把握できる方法を確立した。 1912 年にイタリアの統計学者 Corrado Gini がローレンツ曲線から導かれる「ジニ係数」を提案し、 これが今日まで最も標準的な不平等指標として広く使われている。 ローレンツ曲線とジニ係数の関係は「45 度線とローレンツ曲線の間の面積 A、 ローレンツ曲線の下の三角形の面積 B」として G = A / (A + B) = 2A という形で表される(三角形全体の面積が 1/2 なので)。 現代では国民所得格差・地域経済格差・企業の市場集中度・気候変動と排出量の関係(Lorenz curve of CO2 emissions)など、 多様な分野で応用されている。 Piketty (2014) の "Capital in the 21st Century" でも国際比較の主要ツールとして登場する。
🧪 ローレンツ曲線を用いた政策評価の実務手順
ローレンツ曲線とジニ係数を経済政策の評価に使う標準手順: (1) 評価対象の所得 / 資産データを取得し、 個人または世帯単位で値の昇順ソートを実施する。 (2) 累積人口比率(横軸)と累積所得比率(縦軸)を計算し、 ローレンツ曲線を描く。 (3) 台形公式または Brown 公式で曲線下面積を数値積分し、 ジニ係数を計算する。 (4) ブートストラップで 95% 信頼区間を出す(少なくとも 1000 回)。 (5) 政策実施前後でジニ係数の変化と、 ローレンツ曲線の局所的変化(下層 / 中層 / 上層のどこが変わったか)を確認する。 (6) ジニ係数の差が信頼区間で重なる場合は「統計的に有意な変化なし」と判断する。 (7) 政策評価では「ジニ係数の変化」だけでなく「最低所得層の改善」「中間層の厚み」「最上層の集中度」を別途報告し、 多面的な不平等構造を示す。
💡 SSDSE-B-2026 を用いたローレンツ曲線分析のケーススタディ
SSDSE-B-2026(2023 年度)の都道府県別データを使うと、 地域の集中度を多角的に分析できる。 例えば「都道府県別総人口(A1101)」のローレンツ曲線では、 ジニ係数は約 0.47 となり、 「下位 50% の県が全国人口の 19% しか占めない」「上位 10% の県(5 県)が 38% を占める」という構造が浮かぶ。 さらに「都道府県別大学学生数(E6302)」では、 ジニ係数は約 0.64 とさらに高く、 高等教育機会の集中(0.64)の方が総人口の集中(0.47)より強いことが分かる。 これは「東京一極集中」が「人口」だけでなく「大学・高等教育」でより顕著に表れていることを示す。 一方、 「都道府県別 65 歳以上人口(A1303)」では、 ジニ係数は約 0.42 と総人口より低く、 高齢者人口の分布は総人口や大学学生数より均等であることが分かる。 これは高齢化が全国的に広く進行していることを反映する。 こうした多軸ローレンツ分析を組み合わせることで、 「東京一極集中の本質は若年層・高等教育の集中であり、 高齢者分布は相対的に均等」という政策的含意が見えてくる。 この知見は地方創生政策の優先順位(高等教育・雇用機会の地方分散 vs 高齢者支援の地方拡充)を考えるときの基礎情報となる。
🔬 ローレンツ曲線とジニ係数の数学的詳細
ローレンツ曲線 L(p) は「累積人口比率 p の人々が累積所得の何割を持つか」を表す関数で、 数学的には L(p) = (1/μ) ∫_0^{F^{-1}(p)} x·f(x) dx として定義される(μ = 平均所得、 f = 密度関数、 F^{-1} = 累積分布関数の逆関数)。 ジニ係数 G はローレンツ曲線と 45 度線の間の面積の 2 倍として G = 1 - 2·∫_0^1 L(p) dp と書ける。 離散データの場合は G = (1/(n·μ))·Σ_i Σ_j |x_i - x_j| / 2 = (Σ_i (2i - n - 1)·x_i) / (n·Σ_i x_i) と計算され、 これは「全ペア間の絶対差の平均」(Gini's Mean Difference)を平均所得で正規化したものに相当する。 ジニ係数は (a) スケール不変性(所得を 2 倍してもジニ係数は不変)、 (b) 人口不変性(人口を 2 倍してもジニ係数は不変)、 (c) 移転原理(豊かな人から貧しい人へ所得移転するとジニ係数は下がる)、 (d) 匿名性(個人の入れ替えで値は変わらない)の 4 つの公理を満たし、 不平等指標として理論的に整合的である。 ただしジニ係数は「サブグループ分解可能性」を持たないため、 グループ間 / グループ内分解にはタイル指数(GE(1))か対数偏差の平均(GE(0))を使う必要がある。
🌐 国際比較で見るジニ係数の水準感
主要国の国民所得ジニ係数を比較すると、 北欧諸国(デンマーク・スウェーデン・ノルウェー・フィンランド)が約 0.25-0.28 と最も低く、 「比較的平等な社会」と評価される。 ドイツ・フランスなどの西欧諸国は 0.29-0.32 程度、 イギリス・カナダ・オーストラリアが 0.32-0.36、 日本・韓国が 0.33-0.34、 アメリカが 0.39-0.41 と続く。 新興国では中国が約 0.47、 ブラジル・南アフリカが 0.50 以上と高く、 アジア・アフリカ・南米の多くの国でジニ係数 0.40 を超える。 つまり「ジニ係数 0.40 未満 = 先進国の平等水準」「0.40-0.50 = 中程度の不平等」「0.50 以上 = 強い不平等」が大まかな目安となる。 日本の都道府県別総人口のジニ係数(約 0.47)は人口の地理的集中度 を表すもので、 各国の国民所得ジニ(0.25〜0.40)とは測っている対象が異なるため、 数値の大小をそのまま比較することはできない。 個人所得のジニ係数で測ると日本は約 0.34 と OECD 平均並みであり、 地域人口の集中と個人間の所得格差は別の構造として区別して読む必要がある。
📊 ローレンツ曲線の現代的応用
ローレンツ曲線は所得格差だけでなく、 多様な分野に応用されている。 (1) 環境分野 : CO2 排出量の国別ローレンツ曲線。 上位 10% の国が世界 CO2 排出量の何割を占めるかを可視化することで、 気候変動対策の不平等性(環境正義)を議論する。 (2) 市場集中度分析 : 企業の売上高ローレンツ曲線。 上位 1% の企業が業界売上の何割を占めるかで市場集中度を測る。 ハーフィンダール・ハーシュマン指数(HHI)と並ぶ指標。 (3) 都市計画 : 都市内の交通量分布、 商業密度分布。 「特定エリアに偏った賑わい」を統計的に表現する。 (4) 医療リソース : 病院ベッド数の地域分布、 医師数の地域分布。 医療格差の可視化に使う。 (5) 教育機会 : 大学進学率の地域分布、 教育費支出の家計分布。 (6) SNS フォロワー : SNS のフォロワー数分布、 動画再生数分布。 「インフルエンサー上位 1% が総再生数の何割を占めるか」を測ると、 SNS 経済の集中度が見える。 こうした応用範囲の広さこそが、 ローレンツ曲線が 100 年以上にわたって生き残ってきた理由である。
🗺️ 統計手法選択フローチャート
Q1: 何を知りたい?
記述したい → 平均、 分散、 ヒストグラム
比較したい → t検定、 ANOVA、 χ²検定
関係を見たい → 相関、 回帰
予測したい → 回帰、 機械学習
分類したい → ロジスティック回帰、 SVM、 RF
グループ分けしたい → クラスタリング
次元を減らしたい → PCA、 因子分析
因果関係を知りたい → RCT、 IV、 DiD、 PSM
Q2: データの種類は?
連続値 → t検定、 ANOVA、 線形回帰
カテゴリ → χ²検定、 ロジスティック回帰
順序 → ノンパラ検定、 順位回帰
カウント → ポアソン回帰、 負の二項回帰
時系列 → ARIMA、 VAR、 状態空間
パネル → 固定効果、 ランダム効果
Q3: サンプルサイズは?
n < 30 :ノンパラ、 ベイズ、 ブートストラップ
30 ≤ n < 200 :古典的検定、 単純な回帰
n ≥ 200 :複雑なモデル、 機械学習
n ≥ 10000 :深層学習も可能
Q4: 仮定は?
正規性 :満たす → パラメトリック / 満たさない → ノンパラ
独立性 :必須 / 違反 → クラスター調整、 時系列モデル
等分散性 :満たす → OLS / 違反 → WLS、 ロバスト
📏 ローレンツ曲線関連の不平等指標
ローレンツ曲線から派生する各種不平等指標と国際比較の参考値:
指標
定義
平等
中程度
高不平等
Gini 係数 ローレンツ曲線と均等線が囲む面積比 × 2 < 0.3 (北欧) 0.3 ~ 0.4 (日米) > 0.5 (南アフリカ)
十分位比 (P90/P10) 上位 10% / 下位 10% の所得比 < 4 4 ~ 10 > 15
Top 1% シェア 上位 1% の所得割合 < 7% 7 ~ 15% > 20%
Atkinson 指数 (ε=1) 不平等回避度 ε に基づく社会厚生減 < 0.1 0.1 ~ 0.25 > 0.4
Theil 指数 エントロピー型不平等指標 < 0.1 0.1 ~ 0.3 > 0.5
🚀 実務応用の深掘り
典型的なプロジェクトの流れ
問題理解 :ステークホルダーとの対話、 KGI/KPI 設定
データ収集 :内部DB、 公的データ(SSDSE等)、 API
EDA :データの全体像把握、 異常検出
仮説立案 :ドメイン知識からの仮説
モデリング :シンプルから複雑へ段階的に
検証 :CV、 ホールドアウト、 A/Bテスト
解釈 :可視化、 SHAP、 部分依存プロット
展開 :本番デプロイ、 監視
ベストプラクティス
シンプルなモデルから始める(線形回帰、 単純ルール)
必ずベースラインと比較
過学習を防ぐ(CV、 正則化、 早期停止)
解釈可能性を重視
再現可能なコード・ノートブック
バージョン管理(Git)と環境管理(venv, conda)
ドキュメント化を怠らない
論文・コンペでよく使う言い回し
日本語
英語
統計的に有意 statistically significant
効果量 effect size
95%信頼区間 95% confidence interval (CI)
標本サイズ sample size
検出力 statistical power
第1種の誤り Type I error / false positive
第2種の誤り Type II error / false negative
多重比較問題 multiple comparisons problem
過学習 overfitting
汎化性能 generalization
交差検証 cross-validation (CV)
統計データ活用コンペでのコツ
SSDSE データの構造を理解し、 適切なテーブルを選ぶ
地域別・年度別の比較で時空間的視点を入れる
1つの分析で多角的に切り口を変える
仮説と発見の両方を持つ
ストーリーラインを明確に
図表を1枚1枚作り込む
政策提言や実務的意義に繋げる
🗺️ 概念マップ — 3つの視点で体系を理解する
ローレンツ曲線 がデータサイエンスの体系の中でどこに位置するか を、 3つの異なる視点で可視化します。 同じ情報でも見方を変えると気付きが変わります。
📍 体系階層のパス
🌐 統計・データサイエンス › 記述統計 › 指標 › ローレンツ曲線 (ジニ係数の図形表現)
① 🔗 関係マップ — 「他の手法とどう繋がっているか」
中心の概念から放射状に、 前提・兄弟・発展形・応用先 などの関係性を矢印で結びます。 横の繋がり を見るのに最適。 ノードをドラッグ 、 ホイールでズーム 、 クリックで遷移 。
凡例: 現在の用語 上位カテゴリ 兄弟(並列) 前提 発展形 応用先 2階層先
② ⭕ 包含マップ — 「どのカテゴリに含まれているか」
大きな円が小さな円を包含 する Circle Packing 図。 「ローレンツ曲線」は緑色でハイライト 。
カテゴリ円をクリック :その内部にズームイン
白背景クリック :1階層戻る
用語円をクリック :詳細ページへ遷移
マウスホバー :階層パス表示
③ 🌳 ツリーマップ — 「面積で見るボリューム比較」
長方形を入れ子に分割した Treemap 図。 各分野の規模感 を面積で比較。 「ローレンツ曲線」は緑色でハイライト 。
カテゴリ矩形をクリック :その内部にドリルダウン
パンくず(上のリンク)クリック :その階層に戻る
用語矩形をクリック :詳細ページへ遷移
マウスホバー :階層パスと値を表示
🎯 3つのマップの使い分け
マップ
分かること
こんな時に見る
🔗 関係マップ 手法間の横の関係 (前提→発展→応用) 「次に何を学べばよい?」 学習順序の判断
⭕ 包含マップ 分類体系の入れ子構造 (上位⊃下位) 「この手法はどんなジャンルに属する?」
🌳 ツリーマップ 分野の規模比較 (面積=ボリューム) 「データサイエンス全体の俯瞰像」
💡 3 つの図は同じ位置関係を別の角度から描いています。 関係マップは ローレンツ曲線 の隣に何が並ぶか を、 包含マップとツリーマップは 統計・データサイエンス → 指標 → ローレンツ曲線 という入れ子の位置 を示します。 「指標には他に何があったか」を思い出したいときは包含マップを、 「次に何を読むか」を決めたいときは関係マップを開いてください。
🔗 隣接手法への橋渡し
ローレンツ曲線は累積所得シェアと累積人口シェアの関係を可視化するもので、 前段のデータ集計と後段のジニ係数算出・国際比較に橋渡しする。
上流 : 前段の所得分布データ整備・分位点計算 (分位点 、 四分位点 )
並列 : 並列の不平等指標 (Theil・Atkinson) (ヒストグラム ) と比較・併用
下流 : 下流のジニ係数・分位点比較・政策評価 (ジニ係数 )
上流の所得・資産データのクレンジング (世帯単位・税引前後の統一) が指標の比較可能性を担保し、 並列の Gini 係数/タイル指数/アトキンソン指数と組み合わせて多角的に不平等を測り、 下流の十分位比 (top10%/bottom10%) で国際比較や時系列推移を解釈する流れで「不平等分析」が完結する。
🌳 手法選択フロー
「lorenz curve」を含む手法選択は、 データの性質・分析目的・運用制約の 3 軸で決まる。 以下に典型シナリオと対応する手法の組合せを示す。
典型シナリオ別の手法選択
シナリオ 重視する観点 候補手法
データが大規模 (n が多い、 高次元) 計算コスト / メモリ / 並列化が必要 ジニ係数 等
外れ値が多い / ノイズあり 頑健性 / 外れ値除去 / 中央値ベース タイル指数 等
解釈性を重視する 線形 / 木構造 / ルールベース 所得 5 分位倍率 等
予測精度を最優先する アンサンブル / ハイパラ調整 / 交差検証 パレート図 等
選んだ後の検証ステップ
前処理確認 : 標準化 / 欠損処理 / カテゴリ変数のエンコード が適切か
ハイパラ調整 : 交差検証で安定する値を選ぶ
性能評価 : タスクに応じた指標 (RMSE / Accuracy / F1 / AUC / シルエット等) を複数併用
頑健性チェック : 別手法 / 別シードで結果が大きく違わないか確認
解釈 : 結果を分野知識と照らし合わせ、 意味のある発見になっているか検討
🎮 触って理解する
下の 5 本のバーは、 人口を 5 等分した各グループ(それぞれ全体の 20%)が受け取る所得の大きさです。 バーを上下にドラッグ(スマートフォンはタッチでスワイプ) すると、 右のローレンツ曲線とジニ係数がリアルタイムに変化します。 完全平等(45° 直線)から極端な集中まで、 自分の手で連続的に動かして「不平等の形」を体感してください。 プリセットボタンで典型的な分配パターンにも切り替えられます。
完全平等
緩やかな格差
強い集中
極端な集中(上位20%が独占)
ジニ係数 G = 0.000
下位 20% グループの所得シェア = 0.0 % / 下位 40% = 0.0 % / 上位 20% = 0.0 %
※ ジニ係数 = 45° 線とローレンツ曲線が囲む面積 × 2(この曲線ポリゴンから台形公式で厳密計算)
💡 何が見えるか(直感)
全グループの所得を同じにすると、 ローレンツ曲線は 45° 直線 に一致し、 ジニ係数は 0 (完全平等)。 特定のグループへ所得を集めるほど曲線は右下へ沈み込み、 囲まれる面積 = ジニ係数が大きくなります。 「下位 40% が全所得の何 % を持つか」は曲線を横 0.4 の位置で読めば分かる、 という累積の読み方 を手を動かして確認できます。
🚧 よくある落とし穴 — 同じジニ係数でも形は違う
ジニ係数は分布を1 つの数値に圧縮 するため、 形の違いを消してしまう ことがあります。 「中間層が薄く両端が厚い分配」と「上位 1 グループだけに集中した分配」で、 スライダーを調整するとほぼ同じジニ係数 なのにローレンツ曲線の膨らみ方(どの区間で沈むか)が違うケースを作れます。 曲線が交差する 2 つの分布はジニ係数だけでは優劣が決まりません。 だからジニ単独ではなく、 分位点 シェアやパルマ比(上位10%/下位40%)を併記するのが実務の作法です。
🚀 発展 — パレートと地域間格差
上位グループに極端に寄せると「上位 20% が全体の約 80% を持つ」パレートの法則(80:20) に近い形が現れます。 パレート分布のような右に長い裾を持つ分布(確率分布のページ 参照)はローレンツ曲線が大きく張り出します。 このツールは各グループを均等人口として扱う教材用の簡略版ですが、 考え方はそのまま実データに拡張できます。 SSDSE-B-2026 の都道府県別総人口(A1101、 2023 年)では下位 50% の県が全国人口の約 19% しか占めず、 ジニ係数は約 0.47。 大学学生数(E6302)ではさらに集中して約 0.64 になります(本ページ上部の実値計算例を参照)。 「同じ日本でも指標を変えると不平等の強さが変わる」ことを、 まずはこの手触りで掴んでください。 数値化した先は ジニ係数 のページへ。
🔍 直感をさらに深める — 「垂れ下がり=不平等」と面積の幾何
ローレンツ曲線の読み方を一段深めます。 横軸は下位から数えた累積人口シェア $p$(0→1)、 縦軸は同じ人々が握る累積量シェア $L(p)$(0→1)。 全員が同額なら「下位 $p$ 割は全体の $p$ 割を持つ」ので $L(p)=p$、 すなわち 45° の均等分配線 に一致します。 現実には下位ほど取り分が薄いので曲線は必ず均等線より下に垂れ下がり 、 その垂れ下がりの深さ・面積が不平等の大きさ そのものになります。
ジニ係数=挟まれた面積の 2 倍 :均等線とローレンツ曲線で挟まれた三日月形の面積を $A$ とすると、 均等線の下の三角形の面積はちょうど $1/2$ なので $G = A / (1/2) = 2A$。 曲線が均等線に貼りつけば $A=0$ で $G=0$(完全平等)、 曲線が直角に折れて最下点だけを通れば $A=1/2$ で $G=1$(一人が独占)。 「面積を倍にするだけ」でスカラー指標が得られるのがジニの正体で、 ジニ係数のページ で式変形を追えます。
SSDSE-B-2026(2023 年、 47 都道府県)で三つの「垂れ下がり」を比べる と、 同じ日本のデータでも指標次第で不平等の深さが大きく違うことが見えます(いずれも本ページの実測値)。
指標(2023, n=47)
ジニ係数
下位 50% のシェア
垂れ下がりの印象
消費支出(L3221) ≈ 0.044 約 47.0% ほぼ均等線(平等なら 50%)
総人口(A1101) ≈ 0.472 約 19.3% 大きく沈む(東京圏集中)
大学学生数(E6302) ≈ 0.641 約 11.0% 最も深く沈む
消費支出は「一世帯あたり平均」というすでに人口で割った量 なので県間差が小さく、 曲線は均等線に貼りつきます。 一方、 総人口や学生数は絶対量の集中 を測るため深く垂れ下がる。 「何を縦軸に載せたか」で不平等の意味が変わる ことを、 垂れ下がりの深さで直感的に掴んでください。
⚠️ 落とし穴の深掘り(重要)— 曲線を誤読しないための5点
上の「⚠️ 落とし穴」セクションを踏まえ、 ローレンツ曲線そのもの の読み違いに絞って深掘りします。 どれも一度踏むと結論がひっくり返る重要な罠です。
①【最重要】交差するローレンツ曲線は一意に順序づけられない
2 本の曲線が
交差 すると、 「どちらがより不平等か」は数学的に決まりません。 下位側では A のほうが平等(上にある)だが上位側では A のほうが不平等、 という逆転が起きるためです。 ジニ係数は面積という 1 数値に潰すので
機械的に順位をつけてしまう が、 それは価値判断を隠した比較にすぎません。
ジニが同じ値でも曲線の形はいくらでも違い得る 点も同根の問題です。 交差時は下位重視なら下側区間、 上位集中を問題視するなら上側区間、 と目的に応じて
分位点 シェアで補うのが作法です。
② 標本サイズ・区分(ビン)の取り方に依存する
個票ではなく「5 分位・10 分位に集計した表」からローレンツ曲線を引くと、 各区分内のばらつきが平均化されて
曲線は実際より均等側(上)に見え、 ジニは過小評価 されます。 区分数が少ないほどこの偏りは強い。 また小標本($n$ が数十以下)では曲線がカクカクになり、 ジニ自体も下方バイアスを持ちます($n/(n-1)$ 補正が定番)。 「どの粒度のデータで引いた曲線か」を必ず明記し、 信頼区間は
ブートストラップ で添えましょう。
③ 負値があると曲線が均等線の下から飛び出す
ローレンツ曲線は「昇順に並べた値を累積し全体で割る」定義なので、 純資産・損益のように負値 が混じると累積シェアが一旦マイナスに沈み、 曲線が均等線の下(右下)に飛び出して ジニが 1 を超えることさえあります。 借金・赤字を含む変数には標準公式を機械適用せず、 負値の除外方針を明示するか別指標を選びます。
④ 絶対量ではなく「シェア」を見ていることを忘れる
ローレンツ曲線は相対的な取り分(シェア) のみを表し、 全体の水準(パイの大きさ)は捨てています。 全員の所得が倍になっても曲線はまったく同じ で、 ジニも不変。 だから「曲線が動かない=生活が改善していない」ではありません。 水準の変化を見たいなら、 後述の一般化ローレンツ曲線 (平均を掛ける)や実質の水準値を併用します。
⑤ 地域集計での生態学的誤謬(ecological fallacy)
SSDSE-B のような県別集計 から引いた曲線は「県間 の格差」しか映しません。 消費支出(L3221)のジニが約 0.044 と極端に小さいのは県間差が小さいためで、 これを「日本人の消費格差は 0.044」と読むのは典型的な生態学的誤謬 。 個人間の格差は県内のばらつきを含むためはるかに大きい(個人間所得ジニは日本で概ね 0.3 台)。 集計単位を上げるほど格差は小さく見える、 と肝に銘じてください。
🚀 発展 — 一般化ローレンツ・ローレンツ優越・集中曲線・パレート
① ジニ係数との厳密な関係
連続分布ではジニは曲線の下の面積から $G = 1 - 2\int_0^1 L(p)\,dp$ と書けます(均等線下の面積 $1/2$ から曲線下面積を引いて 2 倍)。 有限標本では昇順 $y_{(1)}\le\dots\le y_{(n)}$ に対する共分散公式 $G=\dfrac{\sum_{i=1}^{n}(2i-n-1)\,y_{(i)}}{n\sum_i y_{(i)}}$ が数値的に安定で、 本ページの実値計算例・ウィジェットもこの式を使っています。
② 一般化ローレンツ曲線(水準まで測る)
通常のローレンツ曲線にその分布の平均 $\mu$ を掛けた $GL(p)=\mu\,L(p)$ を一般化ローレンツ曲線 と呼びます。 縦軸が「累積の絶対 金額(一人当たり換算)」になり、 落とし穴④で述べた「シェアしか見ない」問題を補います。 終点は $GL(1)=\mu$。 SSDSE-B-2026(2023)で言えば、 消費支出は平均 $\mu\approx 29.6$ 万円まで、 学生数は平均 $\mu\approx 5.6$ 万人まで立ち上がる曲線になり、 格差の形($L$)と水準($\mu$)を同時に 比較できます。
③ ローレンツ優越(Lorenz dominance)
分布 A の曲線が分布 B の曲線を全区間で上回る(決して交差しない) とき、 「A は B をローレンツ優越 する」といい、 A のほうがあらゆる標準的な不平等指標(ジニ・タイル・アトキンソン等)で常に より平等と結論できます。 交差しない限りでの「一意に順序づけできる」十分条件です。 実測すると、 SSDSE-B の総人口の曲線は大学学生数の曲線を全区間で上回り交差しません (下表)。 したがって「学生数は人口よりローレンツ優越される(より不平等)」と、 指標を選ばずに断定できます。 一方 ジニ だけで比べると交差ケースを見落とすので、 優越関係の確認が上位互換です。
累積人口シェア $p$
総人口 $L(p)$
学生数 $L(p)$
大小
0.2 0.057 0.031 人口 > 学生
0.4 0.141 0.079 人口 > 学生
0.6 0.259 0.147 人口 > 学生
0.8 0.436 0.284 人口 > 学生
※ SSDSE-B-2026(2023, n=47)実測。 全ての $p$ で人口曲線が学生数曲線の上にあり交差しない=人口が学生数をローレンツ優越。
④ 集中曲線(concentration curve)
ローレンツ曲線は「その量自身 の昇順」で人を並べますが、 別の変数の順 (例:所得の低い順)で並べて対象量(例:医療給付)の累積シェアを描くと集中曲線 になります。 均等線より上なら「低所得層に手厚い(累進的)」、 下なら「高所得層に偏る(逆進的)」と読め、 医療・税・補助金の再分配の向き を測る保健経済学の定番ツールです。 集中曲線から得る集中指数はジニと同形の面積指標で、 Kakwani 累進性指数の基礎にもなります。
⑤ パレート分布との関係
右に長い裾を持つパレート分布 (形状パラメータ $\alpha$)ではローレンツ曲線が閉形式 $L(p)=1-(1-p)^{1-1/\alpha}$ で書け、 ジニは $G=1/(2\alpha-1)$ という簡潔な関係になります。 $\alpha$ が小さい(裾が重い)ほど曲線は深く張り出し格差が大きい。 「上位 20% が全体の約 80% を持つ」パレートの法則(80:20) は $\alpha\approx1.16$ に対応します。 SSDSE-B の大学学生数(E6302)は上位 20% の県(約 9 県)で全学生の約 72% を占め、 80:20 に迫る強い集中を示します(確率分布のページ で裾の重い分布を参照)。
🔗 関連ページ(サイト内・実在ページのみ)
本ページの深掘りに直接つながる、 サイト内に実在する用語ページへのリンクです(未整備の概念はリンクなしのテキストで示します)。
ジニ係数 — 挟まれた面積 ×2。 曲線を 1 数値に圧縮した代表指標
分位点 — 「下位 X% のシェア」を読む土台。 5 分位・10 分位(デシル)
四分位点 — 分位の基本形、 区分集計の入口
確率分布・累積分布関数 — ローレンツ曲線の連続版の基盤/パレートなど裾の重い分布
ヒストグラム — 分布の形を素で確認し、 集約前の姿を掴む
ブートストラップ — ジニ・シェアの信頼区間を出す実務手順
SSDSE-B-2026 — 本ページの全実測値の出所(2023 年・47 都道府県)
タイル指数・アトキンソン指数・パルマ比・集中曲線・十分位比 — 並列・発展の指標(個別ページ未整備のためテキストのみ)
🔖 キーワード索引(拡張版 — ローレンツ曲線・格差指標)
ジニ係数、 アトキンソン指数、 タイル指数などの並列概念を網羅。