論文一覧に戻る 📚 用語解説(ジャストインタイム型データサイエンス教育)
特化係数(LQ)
Location Quotient (LQ)
ある産業の地域シェアが全国シェアの何倍かを示す指標。LQ>1 で「特化している」と判断。
地域分析LQLQ特化係数Location Quotient

🔖 キーワード索引(補強・追加分)

LQ(Location Quotient/立地特化係数) 関連の補強キーワード。 クリックで該当箇所へ:

特化係数 地域経済 産業構造 シェア 基盤産業 シフト・シェア シャノン多様性 ジニ係数 クラスタ分析 空間集積

🔖 キーワード索引 — 完全強化版

「特化係数(LQ)」を理解するうえで必要なキーワードを 10 件以上提示します。 各チップから対応セクションへ移動できます。

30 秒結論 文脈 直感 数式 記号読み解き 実値計算 Python 実装 落とし穴 関連手法 関連用語 グループ教材 概念マップ

💡 30秒で分かる結論

🍰 まずはやさしく

地域の得意分野を測るモノサシです。

その産業が全国より強いか調べます。

地元の店が全国的に珍しいか考えます。

結論を短くまとめて読みましょう。

📖 包括的解説 — この概念を完全マスター

📍 学習の3ステップ

  1. 定義を理解する:この概念は何か? 数式や条件を確認
  2. 具体例を見る:実データ(SSDSE 等)で計算してみる
  3. 応用する:自分のデータに適用、 結果を解釈

🔧 Python実装パターン

🎯 解説: 特化係数 LQ(Location Quotient)は地域産業構造の特徴を測る指標。 LQ = (地域 i 産業 j 構成比) / (全国 産業 j 構成比)。 産業別就業者数のサンプルで各県の特化を計算する(SSDSE-B-2026 には産業別就業者数が無いため小例で示す)。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import pandas as pd

# 説明用サンプル: 3県 × 3産業の就業者数(概念確認用の小例)
# ※SSDSE-B-2026 は産業別就業者数を含まないため、ここでは小さな例で計算する
emp = pd.DataFrame(
    {'第1次': [120, 20, 5], '第2次': [80, 100, 15], '第3次': [200, 380, 180]},
    index=['A県', 'B県', 'C県'])

region_share = emp.div(emp.sum(axis=1), axis=0)   # 地域内シェア
nation_share = emp.sum() / emp.values.sum()       # 全国シェア
lq = region_share.div(nation_share, axis=1)        # LQ = 地域内シェア / 全国シェア
print(lq.round(2))
📥 入力: 3県 × 3産業の就業者数サンプル(第1次 / 第2次 / 第3次)
📤 実行例(LQ 行列): 第1次 第2次 第3次 A県 2.28 1.13 0.72 B県 0.30 1.13 1.10 C県 0.19 0.42 1.30
💬 📖 読み方: A県の第1次産業は LQ 2.28。A県の就業者 400 人のうち 120 人(30%)が第1次産業なのに対し、3 県合計では 1,100 人中 145 人(約 13.2%)しかいないので、その 2.3 倍ほど集まっている。C県の第3次 1.30 も 180/200 = 90% が 3 県全体の約 69% を上回った結果で、逆に第2次 0.42 は 1 を大きく下回り、域外から買っている側と読める。ここでの「全国」は 3 県の合計なので、どれか 1 県の人数が変わると全県の LQ が一緒に動く。

📚 統計概念マップでの位置

このページの上にある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()

🚧 一般的な落とし穴と対策

📊 結果報告の標準フォーマット

🌐 関連分野での応用

🎓 さらに学ぶための文献

🔗 統計用語ネットワーク

この概念は、 他の多くの統計概念と密接に関連しています。 ジャストインタイム型学習では、 必要に応じて関連用語へジャンプしながら全体像を構築します。

主要な関連概念のグループ

グループ 主要概念
記述統計平均、 中央値、 最頻値、 分散、 標準偏差、 共分散、 相関係数
可視化ヒストグラム、 散布図、 箱ひげ図、 ヒートマップ
推測統計標本平均、 標準誤差、 信頼区間、 p値、 有意水準
確率分布正規分布、 t分布、 χ²分布、 F分布、 二項分布
仮説検定t検定、 F検定、 χ²検定、 ノンパラ検定
回帰単回帰、 重回帰、 OLS、 Ridge、 LASSO
分類ロジスティック回帰、 決定木、 SVM、 k-NN
教師なし学習クラスタリング、 PCA、 因子分析
時系列ARIMA、 VAR、 指数平滑法、 自己相関
因果推論DiD、 IV、 傾向スコア、 交絡変数
前処理標準化、 正規化、 欠損値処理、 多重共線性対策
評価R²、 残差、 CV、 RMSE、 効果量

学習順序の推奨

  1. 記述統計(平均、 分散、 標準偏差)
  2. 可視化(ヒストグラム、 散布図)
  3. 確率分布(正規分布)
  4. 推測統計(標準誤差、 信頼区間、 p値)
  5. 仮説検定(t検定、 χ²検定)
  6. 相関と回帰(単回帰、 重回帰)
  7. 多変量解析(PCA、 クラスタリング)
  8. 機械学習(決定木、 RF、 NN)
  9. 時系列・因果推論(応用)

📝 実践練習 — SSDSE-B-2026 で挑戦

初級課題

  1. 東北6県の家計食料費の基本統計量を計算
  2. 食料費のヒストグラムを描く
  3. 食料費と教育費の散布図を描く
  4. 都道府県を「東日本/西日本」に分け、 平均を比較

中級課題

  1. 家計支出 5項目で相関行列を作成、 ヒートマップ可視化
  2. 食料費 → 教育費の単回帰を実行、 残差分析
  3. 家計5項目で PCA を実施、 バイプロット表示
  4. k-means (k=3) で都道府県をクラスタリング、 解釈

上級課題

  1. 地域別の家計パターンに有意差があるか ANOVA で検定
  2. 重回帰で教育費を予測、 多重共線性を VIF で確認
  3. Ridge/LASSO で正則化、 CV で α を最適化
  4. 階層クラスタリングと Ward 法で都道府県を分類、 デンドログラム作成

💡 30 秒で分かる結論 — 完全強化版

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

🍰 まずはやさしく

地域の特徴を数字にする道具です。

地域の経済の形を分析するために使います。

県ごとの仕事の違いを調べる時に便利です。

この用語がどう使われるかを確認します。

論文中に 「特化係数(LQ)」として登場する用語。

特化係数(LQ) とは:ある産業の地域シェアが全国シェアの何倍かを示す指標。LQ>1 で「特化している」と判断。

📍 文脈ボックス — あなたが今見ているもの(完全強化版)

このセクションは「特化係数 (LQ)」を扱う 用語ページ です。 統計データ分析コンペティション (2026) の再現教材における中核用語のひとつで、 産業別就業者の構成比を全国基準で正規化することで、 各都道府県の経済構造の特徴を定量化する観点に紐づけられます。

位置づけ:相関・線形回帰・仮説検定 といった基礎用語群と並列であり、応用としては 内生性・IV・DID・クラスタリング 等へ繋がります。

🎨 直感で掴む — 完全強化版

🍰 まずはやさしく

全国平均を基準にした倍率のことです。

どの産業が集中しているか直感的に分かります。

農業や製造業の多さを比べるイメージです。

具体的な例で感覚を掴みましょう。

特化係数 (LQ, Location Quotient) を一言で言えば「ある地域のある産業のシェアが、 全国平均の何倍か」を測る指数。 LQ > 1 ならその地域はその産業に特化している (全国平均より集中)、 LQ < 1 なら相対的に薄い。 例: 北海道の農業従事者割合が全国平均の 3 倍なら LQ = 3。

イメージとしては「全国を 1 とした基準線」を全産業に引き、 各都道府県の産業構成を基準線からの距離で測る道具。 産業別就業者数 (第一次産業従事者、 第二次産業従事者、 第三次産業従事者など) を使うと、 各県の経済構造の特徴 (例: 沖縄は第三次産業 LQ が高い、 富山は第二次産業 LQ が高い) が定量化できる。

📐 数式または定義 — 完全強化版

🍰 まずはやさしく

シェアの比率を計算する式のことです。

特化している度合いを正確に出します。

スマホの利用率を比べる計算に似ています。

数式の意味を一つずつ解説します。

特化係数(LQ) の代表的な定義式は次のとおりです。

$$ LQ_{ij} = \frac{x_{ij} / \sum_j x_{ij}}{\sum_i x_{ij} / \sum_{i,j} x_{ij}} $$

ここで使われる記号や演算の意味は次節で言葉に翻訳します。

🔬 数式を言葉で読み解く — 完全強化版

LQ の数式 $LQ_{ij} = \dfrac{x_{ij} / \sum_j x_{ij}}{\sum_i x_{ij} / \sum_{i,j} x_{ij}}$ の各記号を、 日本語の意味に変換します。

🧮 特化係数(LQ)実値計算例(サンプルデータ)

産業別就業者数から LQ を計算し、 特化産業を特定する例。 SSDSE-B-2026 は産業別就業者数を含まないため、 ここでは概念確認用の小さなサンプルで計算する(実データでは 経済センサス・国勢調査 を用いる)。

① 計算コード

🎯 解説: 特化係数 LQ(Location Quotient)は地域産業構造の特徴を測る指標。 LQ = (地域 i 産業 j 構成比) / (全国 産業 j 構成比)。 産業別就業者数のサンプルで各県の特化を計算する。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import pandas as pd
import numpy as np

# 説明用サンプル: 3県 × 3産業の就業者数(概念確認用の小例)
# ※SSDSE-B-2026 は産業別就業者数を含まないため、ここでは小さな例で計算する
emp = pd.DataFrame(
    {'第1次': [120, 20, 5], '第2次': [80, 100, 15], '第3次': [200, 380, 180]},
    index=['A県', 'B県', 'C県'])

# LQ_ij = (地域i内の産業jシェア) / (全国の産業jシェア)
region_share = emp.div(emp.sum(axis=1), axis=0)
nation_share = emp.sum() / emp.values.sum()
lq = region_share.div(nation_share, axis=1)

print(lq.round(2))
print('\n各県の特化産業 (LQ最大):')
print(lq.idxmax(axis=1))
print('LQ > 1.0 → 全国平均より特化(基盤産業候補)')
📥 入力: 3県 × 3産業の就業者数サンプル(第1次 / 第2次 / 第3次)
📤 実行例(LQ 行列): 第1次 第2次 第3次 A県 2.28 1.13 0.72 B県 0.30 1.13 1.10 C県 0.19 0.42 1.30
💬 読み方: A県の第1次 2.28 は、県内シェア 30%(120/400)が 3 県合計のシェア 13.2%(145/1,100)の約 2.3 倍という意味。B県は就業者の 76% が第3次なのに LQ 最大は第2次(1.13)で、第3次は 1.10 にとどまる。これは全体でも第3次が 69.1% を占めるためで、LQ は「多い産業」ではなく「全体より多めの産業」を選ぶ指標だと分かる。

② 期待出力

項目 値 参考 解釈
地域産業LQ解釈
愛知第2次産業1.45自動車産業の集積で強く特化
沖縄第2次産業0.58サービス業中心で特化度低い
東京情報通信業2.10全国の倍以上の集積
北海道農業3.20農業県として全国の 3 倍

👉 値は特化パターンの典型例。 同じ手順で他都道府県・他変数にも適用可能。

🧮 実値で計算してみる — 特化係数(LQ)(完全強化版)

ここでは SSDSE-B-2026 の読み込み方法と、 産業別 LQ の計算手順を示す。 SSDSE-B-2026 は産業別就業者数を含まないため、 実データで LQ を求めるには 経済センサス や 国勢調査(産業別就業者数)を用い、 本ページでは概念確認用の小例で計算する。 ファイル名は SSDSE-B-2026.csv、 読み込みは下記の Python コードで行います。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import pandas as pd

# SSDSE-B-2026 を読み込む(cp932 / 1行目=コード, 2行目=項目名)
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', skiprows=[1], encoding='cp932')
print(df.shape)                       # (564, 112)
print(df['SSDSE-B-2026'].unique())    # 含まれる年度

# 注意: SSDSE-B-2026 の列は教育・人口・家計等が中心で、
# 産業別就業者数(第1次/第2次/第3次)は収録されていない。
# LQ を実データで計算するには 経済センサス や 国勢調査(産業別就業者数)を用いる。
# 以下は概念確認用の小さな例。
emp = pd.DataFrame(
    {'第1次': [120, 20, 5], '第2次': [80, 100, 15], '第3次': [200, 380, 180]},
    index=['A県', 'B県', 'C県'])
share = emp.div(emp.sum(axis=1), axis=0)
lq = share.div(emp.sum() / emp.values.sum(), axis=1)
print(lq.round(2))
📤 実行例(実測) (564, 112) [2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012] 第1次 第2次 第3次 A県 2.28 1.13 0.72 B県 0.30 1.13 1.10 C県 0.19 0.42 1.30

💬 (564, 112) は 47 都道府県 × 12 年度(2012〜2023)の行数で、112 列の中に産業別就業者数は無いことをここで確かめている。そのため下の LQ は 3 県だけの小例で、「全国」も 3 県の合計 1,100 人を指す。A県の第1次 2.28 は、県内シェア 120/400=30% が全体シェア 145/1,100≈13.2% の約 2.3 倍という意味で、実在の県の値として読まないこと。

LQ は産業構造の特化を測るので、 各地域の産業別就業者数の構成比から計算します。 算出例:

🧮 数式に値を入れて手で計算する: 立地商 (LQ)

合成データで地域 A の産業集積度を計算する (LQ > 1 で集積)。

Step 1: 雇用数

 地域 A全国
製造業50020,000
全業種1,000100,000

Step 2: LQ

LQ = (e_i^r/e^r) / (e_i^n/e^n) = (500/1000) / (20000/100000) = 0.50 / 0.20 = 2.50 > 1 → 製造業が A 地域に集積

🐍 Python で再現

1
2
3
4
5
6
7
local_industry   = 500      # A地域の製造業就業者
local_total      = 1000     # A地域の全就業者
national_industry = 20000   # 全国の製造業就業者
national_total   = 100000   # 全国の全就業者

LQ = (local_industry / local_total) / (national_industry / national_total)
print(f"LQ = {LQ}")   # -> 2.5

📤 実行結果

LQ = 2.5

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

🐍 Python 実装バリエーション(scikit-learn / scipy / Optuna)

A. scikit-learn による実装

🎯 解説: 4 県の産業別 LQ を 3 次元のベクトルとみなし、StandardScaler で標準化してから KMeans(k=2)で産業構造の似た県どうしをグループ分けする。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler

# 産業別 LQ ベクトルで地域をクラスタリング(概念確認用サンプル)
emp = pd.DataFrame(
    {'第1次': [120, 20, 5, 60], '第2次': [80, 100, 15, 90],
     '第3次': [200, 380, 180, 150]},
    index=['A県', 'B県', 'C県', 'D県'])

region_share = emp.div(emp.sum(axis=1), axis=0)
lq = region_share.div(emp.sum() / emp.values.sum(), axis=1)

X = StandardScaler().fit_transform(lq.values)
km = KMeans(n_clusters=2, random_state=42, n_init=10)
lq['cluster'] = km.fit_predict(X)
print(lq.round(2))
📥 入力: 4県 × 3産業の就業者数サンプル LQ 行列 shape: (4, 3)
📤 実行例(実測) 第1次 第2次 第3次 cluster A県 2.05 0.98 0.77 1 B県 0.27 0.98 1.17 0 C県 0.17 0.37 1.38 0 D県 1.37 1.47 0.77 1
💬 読み方: 第1次の LQ が高い A県(2.05)と D県(1.37)がクラスタ 1、第3次が 1 を超える B県(1.17)と C県(1.38)がクラスタ 0 に分かれた。D県を加えただけで A県の第1次 LQ が 3 県版の 2.28 から 2.05 に下がっているように、LQ は比較する地域の集合(分母)が変わると値が動く。クラスタ番号 0・1 そのものに意味は無く、実行環境によって入れ替わることがある。

B. scipy / statsmodels による実装

🎯 解説: A県の産業別就業者(第1/2/3次)が 3 県合計の産業構成比から偏っているかをカイ二乗適合度検定で確かめ、あわせてシャノン多様性指数で産業の分散度合いを 1 つの数にする。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from scipy import stats
import numpy as np

# ある県の産業別就業者が全国構成比と有意に異なるか(カイ二乗適合度検定)
observed = np.array([120, 80, 200])              # A県の第1/2/3次就業者(サンプル)
nation_share = np.array([145, 195, 760]) / 1100  # 全国の産業構成比
expected = observed.sum() * nation_share          # 全国構成比で期待される人数

chi2 = ((observed - expected) ** 2 / expected).sum()
p = 1 - stats.chi2.cdf(chi2, df=len(observed) - 1)
print(f'chi2 = {chi2:.2f}, p = {p:.4f}')
print('p が小さいほど、この県の産業構成は全国平均から有意に偏る(=特化)')

# 産業多様性(シャノン指数): 値が大きいほど分散、小さいほど特化
shares = observed / observed.sum()
shannon = -(shares * np.log(shares)).sum()
print(f'シャノン多様性指数 = {shannon:.3f}')
📥 入力: A県の就業者 [120, 80, 200] と、3 県合計の産業構成比 [145, 195, 760] / 1,100(① のサンプルと同じ数)
📤 実行例(実測) chi2 = 108.10, p = 0.0000 p が小さいほど、この県の産業構成は全国平均から有意に偏る(=特化) シャノン多様性指数 = 1.030
💬 読み方: 全体の構成比どおりなら A県の第1次は 52.7 人のはずが実際は 120 人で、この 1 項だけで chi2 = 108.10 のうち 85.8 を占める。p = 0.0000 は小数第 4 位で丸めた表示で、実際は 3×10⁻²⁴ 程度。シャノン指数 1.030 は 3 産業が完全に均等なときの上限 ln3 ≈ 1.099 に近く、第1次への LQ 2.28 という強い特化があっても、就業者全体では 3 産業にかなり散らばっていることを示す。

C. Optuna でハイパラ・選択最適化

🎯 解説: 5 県の産業別 LQ ベクトルを KMeans で分けるとき、クラスタ数 k を 2〜4 のどれにするかを Optuna で探す。目的関数はシルエット係数の符号を反転したもので、最小化=シルエット係数の最大化になる。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import optuna
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score

# LQ ベクトルで地域を分ける際の最適クラスタ数を探索(概念確認用)
emp = pd.DataFrame(
    {'第1次': [120, 20, 5, 60, 30], '第2次': [80, 100, 15, 90, 40],
     '第3次': [200, 380, 180, 150, 260]},
    index=['A県', 'B県', 'C県', 'D県', 'E県'])
lq = emp.div(emp.sum(axis=1), axis=0).div(emp.sum() / emp.values.sum(), axis=1)

def objective(trial):
    k = trial.suggest_int('k', 2, 4)
    labels = KMeans(n_clusters=k, random_state=42, n_init=10).fit_predict(lq.values)
    return -silhouette_score(lq.values, labels)

study = optuna.create_study(direction='minimize')
study.optimize(objective, n_trials=10)
print('Best k:', study.best_params)
📥 入力: 5県 × 3産業の就業者数サンプル (第1次 / 第2次 / 第3次。SSDSE-B-2026 に産業別就業者数は無いため小例)
📤 実行例(実測) Best k: {'k': 2}
💬 読み方: 試行ごとの目的関数は k=2 で -0.570、k=3 で -0.351、k=4 で -0.042 なので、シルエット係数が最も高い k=2 が選ばれた。候補が 3 通りしかないのに 10 回試行しているので同じ k を何度も評価しており、この規模なら for 文で全部試すのと変わらない。5 県を 2 群に分けると、第1次の強い A・D県と、第3次寄りの B・C・E県になる。

D. ライブラリ早見表

ライブラリ / 関数 用途
pandas計算の中核(groupby + transform)
numpyベクトル化計算
matplotlib / seabornヒートマップ・地図への可視化
geopandas都道府県地図上にプロット
plotlyインタラクティブな LQ マップ

🐍 Python 実装 — 完全強化版

scipy / pandas / scikit-learn / statsmodels を中心とした標準的な実装例です。 まず CSV を読み込み、 次に 特化係数(LQ) の解析を行います。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import pandas as pd
import numpy as np

def location_quotient(emp: pd.DataFrame) -> pd.DataFrame:
    """emp: 行=地域, 列=産業 の就業者数 → LQ 行列を返す
       LQ_ij = (地域i内の産業jシェア) / (全国の産業jシェア)"""
    region_share = emp.div(emp.sum(axis=1), axis=0)
    nation_share = emp.sum() / emp.values.sum()
    return region_share.div(nation_share, axis=1)

# 説明用サンプル
emp = pd.DataFrame(
    {'第1次': [120, 20, 5], '第2次': [80, 100, 15], '第3次': [200, 380, 180]},
    index=['A県', 'B県', 'C県'])
lq = location_quotient(emp)
print(lq.round(2))
print('特化 (LQ>1):')
print(lq[lq > 1].stack().round(2))
📤 実行例(実測) 第1次 第2次 第3次 A県 2.28 1.13 0.72 B県 0.30 1.13 1.10 C県 0.19 0.42 1.30 特化 (LQ>1): A県 第1次 2.28 第2次 1.13 B県 第2次 1.13 第3次 1.10 C県 第3次 1.30 dtype: float64

💬 関数化しても値は直前の計算と同じ 2.28・1.13・0.72… になり、LQ>1 のセルだけを stack すると 5 つ残る。A県は第1次 2.28 と第2次 1.13 の 2 産業、C県は第3次 1.30 の 1 産業だけが特化と判定される。3 県しかない例では 1 県の偏りが「全国」シェアを大きく動かすので、B県の第2次 1.13 のような 1 をわずかに超える値は、比較対象を全国の実データに替えると 1 を下回る可能性がある。

用途別の追加実装:

1
2
3
4
# 前のセルで得た LQ 行列から、県ごとの特化産業 (LQ>1) を列挙
for pref in lq.index:
    specialized = lq.columns[lq.loc[pref] > 1].tolist()
    print(f'{pref}: 特化産業 = {specialized}')
📤 実行例(実測) A県: 特化産業 = ['第1次', '第2次'] B県: 特化産業 = ['第2次', '第3次'] C県: 特化産業 = ['第3次']

💬 県ごとに LQ>1 の産業を列挙すると、A県は第1次と第2次、B県は第2次と第3次、C県は第3次だけになる。A県もB県も「特化産業」を 2 つ持つが、A県の第1次(2.28)とB県の第3次(1.10)では特化の強さがまるで違う。しきい値 1 で切ると 1.10 も 2.28 も同じ扱いになるので、基盤産業を絞るなら 1.25 や 1.5 のような高めのしきい値や、就業者の実数と合わせて見る。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import pandas as pd

# 2時点の就業者数から LQ の変化を見る(概念確認用サンプル)
def lq_matrix(emp):
    return emp.div(emp.sum(axis=1), axis=0).div(emp.sum() / emp.values.sum(), axis=1)

emp_t1 = pd.DataFrame({'第2次': [80, 100], '第3次': [200, 380]}, index=['A県', 'B県'])
emp_t2 = pd.DataFrame({'第2次': [70, 120], '第3次': [230, 400]}, index=['A県', 'B県'])

d_lq = (lq_matrix(emp_t2) - lq_matrix(emp_t1)).round(3)
print('LQ の変化(t2 - t1):')
print(d_lq)
print('正なら特化が強まり、負なら弱まった産業')
📤 実行例(実測) LQ の変化(t2 - t1): 第2次 第3次 A県 -0.199 0.062 B県 0.116 -0.036 正なら特化が強まり、負なら弱まった産業

💬 A県の第2次は LQ が 1.206 から 1.007 へ 0.199 下がり、B県の第2次は 0.880 から 0.996 へ 0.116 上がった。A県の第2次就業者は 80→70 人と実数でも減っているが、B県は 100→120 人に増えている。ここでは「全国」が 2 県の合計なので、片方の特化が弱まるともう片方が機械的に強まって見える。変化の符号を読むときは、分母の全国構成比(第2次シェアは 23.7%→23.2%)も一緒に動いていることを確かめる。

🎮 触って理解する

特化係数 LQ の本質は「シェアの比」——地域内の構成比を、全国の構成比で割って正規化することにある。全国平均を 1 とする基準線からの倍率なので、規模の大きい東京と小さい鳥取を同じ土俵で比較できる。一方で「比」であるがゆえの弱点(絶対規模を語れない・小さな分母で暴れる)もある。以下の 3 つのウィジェットで、この長所と短所を体感してほしい。

① LQ 電卓 — 4 つの数からシェアの比を作る

LQ は 4 つの数(地域の産業 i 就業者・地域の全就業者・全国の産業 i 就業者・全国の全就業者)だけで決まる。スライダーを動かして、「地域内シェア」と「全国シェア」の 2 本のバーの長さの比が LQ になることを確かめよう。初期値は本文の手計算例(500/1000 ÷ 20000/100000 = 2.5)と同じ。

バーを見比べると分かる通り、LQ = 1 の境界線は「地域のバーと全国のバーが同じ長さ」=全国と同じ産業構成を意味する。地域の産業 i を増やしても、地域の全就業者(分母)も一緒に増えれば LQ は上がらない——LQ が測るのはあくまで構成比の偏りであって、雇用の絶対量ではない。

② 実測データモード — SSDSE-B-2026 で「消費の特化係数」47 都道府県ランキング

本文で述べた通り、SSDSE-B-2026 には産業別就業者数が収録されていない。そこで B に実在する家計消費 10 大費目(L322101〜L322110、二人以上世帯・月平均支出、2023 年度)に同じ式を適用し、「消費の特化係数」を計算した。考え方は産業 LQ と完全に同一で、xij を「県 i の費目 j 支出額」に読み替えるだけ——LQ = (県内の費目 j シェア) ÷ (全国の費目 j シェア)。ここでの「全国」は 47 都道府県の単純合計(金額ベース)を基準とする。費目を選んでランキングを眺め、バーをタップ(クリック)すると内訳が出る。

バーをタップすると、その県の内訳(費目支出・消費合計・シェア・全国シェア)を表示します。

実測値でいくつか確認してみよう(Python で SSDSE-B-2026 から算出した値)。教育費は東京都 LQ ≈ 2.19・神奈川県 ≈ 1.78・京都府 ≈ 1.71 と大都市圏が突出し、秋田県は ≈ 0.49。光熱・水道費は青森県 ≈ 1.42・秋田県 ≈ 1.33 と寒冷地が上位に来る。食料費は全国シェア約 27% を占める最大費目だが、LQ の幅は 0.88〜1.17 程度と狭い——どの県でも必ず一定割合を食料に使うため、構成比の偏りが出にくいのだ。これは落とし穴③で述べた「地域内消費型の項目は LQ が 1 付近に寄る」現象の消費版であり、LQ の散らばり方は費目(産業)の性質に依存することを示している。

③ LQ が暴れる — 小規模地域の不安定性デモ

LQ は割り算の指標なので、分母(地域の総就業者数)が小さいと、わずか数人の増減で値が激変する。全国シェア 20% の産業を例に、地域の規模を変えながら「実測が期待値から ±10 人ずれただけで LQ がどこまで動くか」を見てみよう。

総就業者 100 人の地域では ±10 人のずれで LQ が 0.5〜1.5 まで振れるのに対し、10 万人の地域ではほぼ 1.00 に張り付く。市町村や小地域メッシュで LQ を使うときは、この不安定性(落とし穴⑥)を意識し、最小規模フィルタ・複数年移動平均・信頼区間の併記で安定化するのが実務の定石だ。

🚀 発展 — LQ の先にある分析

LQ は「いま特化しているか」を写す静的なスナップショットに過ぎない。シフト・シェア分析は地域の雇用成長を「全国成長効果+産業ミックス効果+地域競争力効果」に分解し、LQ の時間変化に因果的な解釈の手がかりを与える。さらに産業連関分析(多次元的分析の代表例)を組み合わせれば、特化産業が域内の他産業をどれだけ牽引するか(波及効果)まで定量化できる。LQ ベクトルを特徴量として都道府県をクラスタリングすれば「産業構造の似た地域群」が抽出でき、ジニ係数やハーフィンダール指数と並べれば集中・多様性の全体像が描ける。

⚠️ 落とし穴(拡張版・各 100 文字以上)

① 分母(全国基準)の取り方を間違える
LQ は分母として「全国」または「上位地域」を取るが、 都道府県分析と市町村分析で基準が異なると比較不能。 全国基準 vs 都道府県基準 vs 大都市圏基準で値が大きく変わる。 必ず同じ基準で全地域を計算し、 何を基準にしたかを明記する。 国際比較なら通貨換算・購買力平価まで含めた基準設計が必要。
② LQ > 1.0 を直ちに「基盤産業」と解釈
LQ > 1.0 は「全国比で多い」だけで、 経済基盤として外部に輸出しているとは限らない。 単に地元市場規模が大きいだけ(非基盤)の可能性も。 真の基盤産業を識別するには、 移輸出額・付加価値ベース等を組み合わせる。 経済地理学では sieve approach・最小要求法など追加分析が標準。
③ サービス業の地域内消費を見落とす
美容師・タクシーなど地域内消費型サービスは LQ が地域人口に比例して 1.0 付近に寄りやすい。 「LQ が 1.0 だから特徴がない」と切り捨てるのは早計で、 むしろ地域生活インフラとして重要なケースも。 業種分類の粒度(大・中・小分類)でも LQ の挙動が変わる。
④ 時系列の変化を見ない
LQ は静的指標。 ある時点で LQ > 1.0 でも、 産業構造が衰退期なら将来は低下する。 シフト・シェア分析(産業ミックス効果+地域競争効果に分解)と組み合わせて、 時系列変化を可視化する必要がある。 SSDSE の年次比較で確認できる。
⑤ 雇用ベース vs 付加価値ベース
LQ の計算には雇用者数・付加価値・売上高など複数の指標が使える。 雇用ベースは人手産業(農業)を過大評価、 付加価値ベースは資本集約産業(製造)を過大評価。 同じ地域でも指標で結論が変わるので、 目的に合わせて指標を選ぶ/複数を併記。
⑥ ゼロ・極小の業種を扱えない
ある地域で雇用ゼロの業種は LQ=0 となるが、 「単に未集計」「観測欠損」を区別できない。 また分母が小さい都道府県(鳥取県、 雇用 30万)では LQ の分散が大きく、 1業種が増減しただけで大変動する。 信頼区間を付ける、 もしくは 3 年移動平均で安定化。
⑦ クロスセクションの比較に過度依存
LQ は地域間横断比較のための指標。 「東京と沖縄を直接比べる」と人口規模・産業構造の違いで意味が薄れることがある。 似た規模・特性の地域間比較(市町村なら同サイズの市同士)に絞る、 階層的に比較するなどの工夫が必要。

⚠️ 落とし穴 — 完全強化版

特化係数(LQ) を実務で扱う際に踏みやすい落とし穴を 5 件挙げます。

🗺️ 統計手法選択フローチャート

Q1: 何を知りたい?

Q2: データの種類は?

Q3: サンプルサイズは?

Q4: 仮定は?

📏 立地係数 (LQ) の解釈基準と関連指標

LQ は「全国比」を 1.0 とした特化度の指標。 主要な解釈基準と関連する産業集積指標:

指標 定義 分散 平均 特化
LQ (立地係数)地域 i 産業 j の構成比 / 全国の構成比< 0.750.75 ~ 1.25> 1.5 (集積産業)
Gini 係数 (産業)産業ごとの地域分布の不均等度< 0.30.3 ~ 0.5> 0.6 (高集中)
特化係数の変動係数地域内産業構造の多様性< 0.30.3 ~ 0.6> 0.8 (モノカルチャー)
HHI地域内産業構成のハーフィンダール指数< 0.150.15 ~ 0.25> 0.25 (集中)
シフト・シェア地域成長を全国成長と差異化< -1%/年±1%/年> +2%/年 (競争力高)

🚀 実務応用の深掘り

典型的なプロジェクトの流れ

  1. 問題理解:ステークホルダーとの対話、 KGI/KPI 設定
  2. データ収集:内部DB、 公的データ(SSDSE等)、 API
  3. EDA:データの全体像把握、 異常検出
  4. 仮説立案:ドメイン知識からの仮説
  5. モデリング:シンプルから複雑へ段階的に
  6. 検証:CV、 ホールドアウト、 A/Bテスト
  7. 解釈:可視化、 SHAP、 部分依存プロット
  8. 展開:本番デプロイ、 監視

ベストプラクティス

論文・コンペでよく使う言い回し

日本語 英語
統計的に有意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)

統計データ活用コンペでのコツ

🗺️ 概念マップ — 3つの視点で体系を理解する

特化係数(LQ) がデータサイエンスの体系の中でどこに位置するかを、 3つの異なる視点で可視化します。 同じ情報でも見方を変えると気付きが変わります。

📍 体系階層のパス

🌐 統計・データサイエンス › 記述統計 › 指標 › 特化係数(LQ) — 産業集積を測る立地係数

① 🔗 関係マップ — 「他の手法とどう繋がっているか」

中心の概念から放射状に、 前提・兄弟・発展形・応用先などの関係性を矢印で結びます。 横の繋がりを見るのに最適。 ノードをドラッグ、 ホイールでズーム、 クリックで遷移。

凡例:現在の用語上位カテゴリ兄弟(並列)前提発展形応用先2階層先

② ⭕ 包含マップ — 「どのカテゴリに含まれているか」

大きな円が小さな円を包含する Circle Packing 図。 「特化係数(LQ)」は緑色でハイライト。

📍現在地:統計・データサイエンス

③ 🌳 ツリーマップ — 「面積で見るボリューム比較」

長方形を入れ子に分割した Treemap 図。 各分野の規模感を面積で比較。 「特化係数(LQ)」は緑色でハイライト。

🎯 3つのマップの使い分け

マップ 分かること こんな時に見る
🔗 関係マップ手法間の横の関係(前提→発展→応用)「次に何を学べばよい?」 学習順序の判断
⭕ 包含マップ分類体系の入れ子構造(上位⊃下位)「この手法はどんなジャンルに属する?」
🌳 ツリーマップ分野の規模比較(面積=ボリューム)「データサイエンス全体の俯瞰像」

💡 3 つの図は同じ位置関係を別の角度から描いています。 関係マップは 特化係数(LQ) の隣に何が並ぶかを、 包含マップとツリーマップは 統計・データサイエンス → 指標 → 特化係数(LQ) という入れ子の位置を示します。 「指標には他に何があったか」を思い出したいときは包含マップを、 「次に何を読むか」を決めたいときは関係マップを開いてください。

🗺 概念マップ — 完全強化版

🧭 補足解説 — 直感の深掘り・追加の落とし穴・発展

ここまでのセクション(直感・数式・実装・落とし穴①〜⑦・ウィジェット)を壊さない追記の補足として、LQ の直感をもう一段深め、既存の落とし穴を補完し、発展的な使い方と関連ページを整理する。

🎨 直感をもう一段深く — 「二重の割り算」で規模を消す道具

LQ の正体は 二重の割り算 だと捉えると腑に落ちる。一段目で「地域内シェア」(地域の産業 $i$ ÷ 地域の総数)を作り、地域の大小を消す。二段目で「全国シェア」で割り、全国という共通のものさしに正規化する。結果は単位を持たない無次元量で、全国平均をちょうど 1 に据えた倍率になる。だから LQ > 1 は「その産業(費目)が全国平均より地域に集積」、LQ < 1 は「相対的に希薄」と読める。「特化係数」という和名はこの「全国比で何倍に偏っているか」を指しており、規模の大きい東京と小さい鳥取を同じ土俵に乗せられるのが最大の利点だ。逆に言えば、二重の割り算で規模の情報を意図的に捨てているため、LQ 単独では「大きい産業か」「雇用が多いか」は決して語れない(既存ウィジェット①で体感できる点)。

📊 実測で見る「費目によって LQ の散らばりが違う」— SSDSE-B-2026(2023 年・47 都道府県)

SSDSE-B-2026 には産業別就業者数が無いため、B に実在する家計消費 10 大費目(L322101〜L322110・二人以上世帯・月平均支出)に同じ式を当て、47 都道府県での「消費の特化係数」を計算した。全国基準は 47 都道府県の金額合計(金額ベース)。下表は各費目の LQ の変動係数(CV=標準偏差÷平均)が大きい順で、費目の性質によって地域差の出やすさが大きく違うことを示す実測結果である(Python で算出。産業 LQ とは別物の消費版である点に注意)。

費目 全国シェア LQ 最小〜最大 CV 最大県 / 最小県
教育3.2%0.49〜2.1938.6%東京都 / 秋田県
住居6.2%0.61〜1.7724.6%沖縄県 / 奈良県
交通・通信15.1%0.63〜1.5018.3%三重県 / 東京都
光熱・水道8.2%0.81〜1.4213.4%青森県 / 三重県
被服及び履物3.2%0.77〜1.3113.0%群馬県 / 秋田県
保健医療4.9%0.76〜1.2511.6%埼玉県 / 新潟県
教養娯楽9.3%0.76〜1.3011.0%神奈川県 / 長崎県
その他の消費支出18.7%0.84〜1.199.5%福井県 / 東京都
家具・家事用品4.0%0.81〜1.249.4%愛媛県 / 京都府
食料27.2%0.88〜1.176.4%愛媛県 / 岐阜県

読み取れるのは明確な傾向だ。選択的・裁量的な費目(教育 CV 38.6%、住居 24.6%)ほど LQ が大きく散らばり、生活必需の費目(食料 CV 6.4%)ほど LQ が 1 付近に収束する。教育は東京都 2.19 に対し秋田県 0.49 と 4 倍以上の開きがあるのに対し、食料はどの県も 0.88〜1.17 の狭い帯に収まる——どの家庭も一定割合を必ず食に充てるため、構成比の偏りが出にくいのだ。これは既存の落とし穴③「地域内消費型は LQ が 1 に寄る」の消費版であり、LQ の散らばり方は対象(費目・産業)の性質に強く依存するという一般則を裏づける。したがって「LQ が 1 に近い=特徴がない」ではなく、まず費目・産業ごとに散らばりの目安を掴んでから閾値を決めるのが実務的だ。

⚠️ 追加の落とし穴(既存①〜⑦を補完)

⑧ 地域単位の切り方で値が変わる(可変単位地区問題 / MAUP)
同じ現象でも、市町村・都道府県・広域圏など地域の境界(単位)の取り方を変えると LQ は変化する。可変単位地区問題(Modifiable Areal Unit Problem)と呼ばれ、集計の粒度(スケール効果)と境界線の引き方(ゾーニング効果)の両方が結果に効く。「どの空間単位で見た特化か」を必ず明示し、可能なら複数スケールで頑健性を確認する。
⑨ LQ は乗法尺度で非対称 — 差ではなく比・対数で扱う
LQ=2(全国比 2 倍)と LQ=0.5(半分)は乗法的には対称だが、加法(差)で見ると 1 からの距離が違って見える。単純平均や差分で扱うと過大・過小評価が生じやすい。地域間・時点間で集約するときは幾何平均や対数変換(log LQ)を用いると、0 を中心に対称化でき解釈が安定する。
⑩ 記述指標であって因果ではない
LQ が高い理由(歴史的な経路依存・資源賦存・港湾や大学の立地・政策誘導など)は LQ の数値自体からは分からない。LQ は「いま偏っている」という記述にとどまり、「なぜ・その結果どうなるか」という因果は語れない。政策効果を論じるなら、DID や固定効果など別の因果推論の枠組みが必要。
⑪ 構成比ゆえのゼロサム — 個別に足し上げない
LQ はシェア(構成比)に基づくため、ある産業・費目のシェアが上がれば必ず別が下がる(合計は保存)。したがって一地域の複数 LQ を単純に合計・平均しても意味を持たない。「この地域は全体的に LQ が高い」という言い方は原理的に成り立たず、あくまで産業・費目ごとの相対値として読む。

🚀 発展 — LQ の先にある分析

🔗 関連ページ(このサイト内・実在確認済み)

🔗 隣接手法への橋渡し

特化係数 LQ は地域の産業特化度を全国基準で測る指標であり、 前段の産業別就業者データ整備と後段のシフトシェア分析・地図化を組み合わせて地域経済の構造が見える。

上流の地域別産業データ (経済センサス・国勢調査) を整備し、 並列のシフト・シェア分析やジニ係数と組み合わせて産業集積の構造を多角的に把握し、 下流のクラスター戦略・産業政策提言で LQ>1 の特化産業を地域ブランドとして育成する流れで「地域経済分析」が完結する。

🌳 手法選択フロー

「lq」を含む手法選択は、 データの性質・分析目的・運用制約の 3 軸で決まる。 以下に典型シナリオと対応する手法の組合せを示す。

典型シナリオ別の手法選択

シナリオ重視する観点候補手法
データが大規模 (n が多い、 高次元)計算コスト / メモリ / 並列化が必要前提(基礎となる概念)/並列(同カテゴリ)/発展(応用先) 等

選んだ後の検証ステップ

  1. 前処理確認: 標準化 / 欠損処理 / カテゴリ変数のエンコード が適切か
  2. ハイパラ調整: 交差検証で安定する値を選ぶ
  3. 性能評価: タスクに応じた指標 (RMSE / Accuracy / F1 / AUC / シルエット等) を複数併用
  4. 頑健性チェック: 別手法 / 別シードで結果が大きく違わないか確認
  5. 解釈: 結果を分野知識と照らし合わせ、 意味のある発見になっているか検討