0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

制度の差ではなく「制度の曖昧さ」だった──8制度横断で見えた地域差の正体

0
Last updated at Posted at 2026-06-30

シリーズ: 常識をデータでひっくり返す / 制度・地域行動編 【Part 2:構造編】
データ: e-Stat(衛生行政報告例・国民医療費・国勢調査・社会人口統計体系)+ 国土地理院 面積調
分析スタイル: Python(e-Stat API)自動取得 + AI(Claude)との壁打ち
前編: Part 1:「大阪は接骨院が多い」は本当か──残差分析で見えた“説明できない地域差”


前回までのあらすじ

Part 1では、接骨院の地域差を人口密度・高齢化・所得で説明しようとして、8割が説明できないことが分かった。

  • 大阪は人口1.6倍の東京を接骨院の絶対数で上回る
  • だが残差(説明できない分)の1位は大阪ではなく和歌山で、外れるのは関西+北陸に偏る
  • そして「外れる県」は業種で入れ替わり、接骨院・鍼灸の $R^2$ は0.17〜0.19なのに歯科は0.39

この差は人口ではなく、別の構造に支配されているらしい。 その正体を、ここから8制度を横断して炙り出す。


クイックサマリー(Part 2)

3行で読む:

  • 「説明できなさ(=1−R²)」を制度の曖昧さと定義し、解釈の余地が違う8制度に同じ残差モデルを当てた
  • すると曖昧な制度ほど大阪が外れる($r=+0.66$)。療養費系(接骨・鍼灸)は曖昧さ80%超で大阪+2.4σ、年金・介護は硬く(10〜18%)大阪は平均的
  • しかもこの曖昧さの順位はモデルを変えても壊れない(順位不変ρ=1.00/変数ロバストρ≧0.83/クラスタ安定)。地域差ではなく、制度の“硬さの序列”を抽出する構造指標になっていた

§1 「曖昧さ」をどう測るか:1 − R²

Part 1で見た「$R^2$ が業種で違う」という現象を、ここで武器に変える。

📐 R²(決定係数)って何? ── 軽く復習

は、モデルがデータの変動をどれだけ説明できたかを 0〜1 で表す。R²=0.17 なら「人口密度・高齢化・所得で説明できるのは17%だけ、残り83%は説明できない」。

そこで「制度の曖昧さ」を、こう定義する。

$$
\text{制度の曖昧さ} = 1 - R^2
$$

R²が低い(客観要因で説明できない)ほど、現場の解釈・運用・商慣行が入り込む余地が大きい=曖昧、という読み方だ。

⚠️ 定義の距離感(重要):これは「制度の本質的な曖昧さ」そのものではなく、あくまで**「人口密度・高齢化・所得の3変数で説明できない地域差の割合(=残差構造)」**である。以下「曖昧さ」と呼ぶのは、この残差構造の大きさのこと。


§2 制度横断:大阪現象は「接骨院だけ」か?

解釈の余地が異なる8つの制度に、まったく同じ残差モデル(人口密度・高齢化・所得)を当てた。

fig14_制度の曖昧さランキング.png
図14: 8制度の曖昧さ(1−R²)ランキング。各バーに大阪の残差σを併記。 読者に見てほしいこと: 療養費系(接骨院83%・鍼灸81%・訪問看護88%)は極めて曖昧、年金10%・介護18%は数式で決まる「硬い制度」。

制度 曖昧さ(1−R²) 大阪σ 大阪順位
訪問看護医療費 88% +1.64σ 3位
接骨院(療養費) 83% +2.41σ 2位
鍼灸院(療養費) 81% +2.40σ 3位
生活保護率 76% +1.52σ 4位
歯科医院 61% +0.35σ 16位
国民医療費(1人当たり) 52% +0.54σ 14位
介護給付費(1人当たり) 18% +1.28σ 4位
国民年金受給率 10% +0.30σ 16位

そして、この記事の核心がこれだ。

fig13_解釈の余地と大阪σ_散布図.png
図13: 横軸=制度の曖昧さ(1−R²)、縦軸=大阪の標準化残差σ。 読者に見てほしいこと: 右上がりの関係($r=+0.66$)。曖昧な制度ほど大阪が外れる。 硬い制度(年金・歯科)では大阪はど真ん中=平均的。

fig12_制度横断_解釈の余地と大阪σ.png
図12: 左=曖昧さランキング、右=大阪σ。 読者に見てほしいこと: 大阪が2σを超えて外れるのは「曖昧さ80%超」の療養費系だけ。

ここから3つのことが言える。

  1. 大阪現象は接骨院だけではない。でも“どこでも”でもない。 大阪が2σ超で外れるのは療養費系(接骨院・鍼灸)だけ。基準が明確な歯科(+0.35σ)・年金(+0.30σ)では完全に平均的。
  2. 「大阪=生活保護」のイメージは、半分カラクリ。 生活保護率で最も外れるのは大阪ではなく北海道(+3.4σ)。大阪の生活保護は高齢化・所得でかなり説明され、残差は+1.5σ(4位)。説明を超えて外れるのは療養費系だ。
  3. 介護は実は「硬い制度」だった。 当初「中くらいの曖昧さ」と予想したが、介護給付費の曖昧さは18%($R^2=0.82$)。給付が要介護高齢者数にほぼ比例し、数式的に決まるからだ。

§3 クラスタリング:地域は「外れ方」で分かれる

47都道府県を8制度の残差プロファイル(残差の指紋)で階層的クラスタリング(Ward法)にかけた。すると、データが自動的に6タイプに分けた。

fig15_残差ヒートマップ_クラスタ.png
図15: 都道府県×制度の標準化残差ヒートマップ(赤=過剰、青=過少、左帯=クラスタ)。 読者に見てほしいこと: 京都・大阪・和歌山(紫帯)の左側=療養費だけが真っ赤。東京(緑帯)は右側=硬い制度で赤。「赤くなる場所」がクラスタごとに違う。

fig16_クラスタ別プロファイル.png
図16: 各クラスタの制度別 平均残差σ。 読者に見てほしいこと: 「どの制度で外れる県の集まりか」=地域タイプの正体。

クラスタ 主な県 突出する制度
関西型(療養費突出) 京都・大阪・和歌山 鍼灸+2.5 / 接骨+2.3 / 訪問看護+1.6
北海道・西日本型 北海道・兵庫・高知・徳島・福岡・大分・宮崎・広島 生活保護+1.2 / 国民医療費+1.1 / 歯科+1.0
大都市型(硬い制度で外れる) 東京・鹿児島・沖縄 年金+1.5 / 介護+1.4 / 医療費+1.2
北陸・近畿周縁型 富山・石川・福井・岐阜・滋賀・奈良・香川 接骨+0.8 / 訪問看護+0.7
首都圏近郊型 茨城・埼玉・千葉 全制度でマイナス(介護−1.9)
地方標準型 東北・甲信・中国など23県 ほぼ平均(年金+0.4)

「関西=治療院」が、文化論ではなくデータ駆動で独立クラスタとして出現した。一方、四国(高知・徳島)は接骨院ではなく国民医療費・生活保護で外れる別タイプ地域は「多い/少ない」ではなく「どの制度で外れるか」で分かれていた。


§4 土台はブレないか──そして、これは「尺度」ではなく「構造抽出器」だった

「制度の曖昧さ=1−R²」が分析全体の土台だ。これがブレると全部ブレる。そこで2つの検証をした。

検証1:自由度調整(adjusted R²)でも順位は変わるか

n=47・説明変数3つの小標本では R² がやや過大評価になりうる。adjusted R² で計算し直しても、曖昧さランキングの順位は完全一致(Spearman ρ=1.00) だった。

検証2:説明変数を入れ替えても順位は崩れるか

説明変数のセットを5通り(基準/+人口規模/所得を除く/密度を除く/高齢化を除く)に変えて再計算した。

変数セット 基準との順位相関 ρ
+人口規模(4変数) +0.98
密度を除く +0.98
高齢化を除く +0.98
所得を除く +0.83

fig17_曖昧さ_ロバストネス.png
図17: 説明変数セットを変えたときの曖昧さ。横帯が短いほど定義がブレない。 読者に見てほしいこと: 帯が動いても、接骨院・鍼灸(上=曖昧大)と介護・年金(下=曖昧小)の二極は決して入れ替わらない。

この頑健性が意味すること:尺度ではなく「構造抽出器」

ここが、この分析の一番深い発見だ。検証で分かったのは、単に「指標が壊れない」ということではない。

何が どうなったか
曖昧さの実値(例:接骨院=0.83) モデル・変数依存で揺れる
曖昧さの順位(硬さの序列) 3つの意味で安定

「順位が安定」と言えるのは、次の3つが揃っているからだ(“言い換えただけ”ではない、と言える根拠)。

  1. 順位の不変性:adjusted R²(自由度調整)でも曖昧さランキングは完全一致(ρ=1.00)。
  2. 変数ロバスト性:説明変数を5通りに入れ替えても順位相関 ρ≧0.83。
  3. クラスタ安定性:§3の残差プロファイルでも、療養費系(接骨・鍼灸)は常に同じ「柔らかい側」のクラスタに落ちる。

この3点が同時に成り立つので、「曖昧さ」は分析者が選んだパラメータ(=現象)ではなく、**このモデルが安定して抽出する“制度の残差構造”**だと言える。つまりこの指標は「値を測る尺度」というより、制度の“柔らかさの序列”を抽出する構造抽出器として機能している。

「どのモデルを使っても、接骨院は必ず“曖昧側”にいる」

硬い制度  ── 国民年金・介護        (給付が数式で決まる)
   ↑
中間      ── 歯科・国民医療費      (医学的客観性が効く)
   ↓
柔らかい制度 ── 接骨院・鍼灸・訪問看護(判断の余地が大きい)

物質の硬度のように制度にも「相対的な柔らかさの序列」がある──ただしこれは**“絶対的な物性”ではなく、この3変数モデルに対して安定な相対序列**である、という距離感が正確だ。

❌ これは「制度が行動に与える因果効果」の研究ではない。⭕ 「説明変数で吸収できない地域差の分布構造」の抽出だ。
※本稿が扱うのは“制度が行動に影響する強さ”ではなく、“説明不能な地域差の分布構造”である。残差は共変動の分離であって因果ではない。

反例にこそ構造が出る:介護という「外れ構造」

この見方の強さは、例外がきれいに説明できる点にも表れる。介護給付費は曖昧さ18%(硬い制度)なのに、大阪σは+1.28と中程度に高い──一見、構造に反する。

だがこれは矛盾ではなく**「外れ構造」だ。介護給付の総量は要介護高齢者数で機械的に決まる(だから R² は高い=硬い)が、大阪は高齢単身世帯・生活保護世帯の集中という別の人口構造を抱える。つまり大阪の介護σは「制度の曖昧さ」由来ではなく、モデルに入れていない人口構造由来。「曖昧さが低い=大阪も平均的」になるはずが、別経路で押し上げられている**ことを、図13の回帰直線からの外れ(左上)が可視化している。反例が、かえって「曖昧さ軸」と「人口構造軸」が別物であることを示している。


§5 限界と次の一手

本分析で示せるのは 共変動の分離(残差の定量化) までで、厳密な因果ではない。残る伏兵を正直に書く。

優先 伏兵 データ 狙い
★★★ 供給構造(師院比・開業率) 衛生行政報告例・就業柔整師数 残差が「1院あたり施術者数」でどこまで縮むか=事業者構造の寄与を分離
★★★ 保険請求の実運用 柔整療養費の部位数別請求割合・1人あたり請求回数(地域別) 申請行動の直接観測。大阪の「3部位請求率」はここ
★★☆ 監査・返戻率 地方厚生局の審査データ 地域インセンティブの代理変数
★☆☆ 自治体助成(こども医療費等) 各県・市町村条例 接骨院窓口で使えるかの差。ただし対象限定的で寄与は小さい見込み

特に、AIとの壁打ちで整理できたのが制度の3層構造だ。

全国共通ルール(同一・健康保険法/受領委任)
   ↓ 地方厚生局の運用差(小)
   ↓ 自治体助成(中・限定的)
   ↓ 現場の商慣行・文化(大)← 残差が示す支配的要因
= 結果:曖昧な制度ほど大阪・関西が外れる

接骨院の療養費は 「急性か慢性かグレー/部位数に裁量/医学的客観性が弱い」。つまり判断余地が大きい。だからこそ、厳格なルールではなく“運用のクセ”が効き、地域文化が入り込む。


おわりに:答えより、問いの分解

Part 1で「大阪は接骨院が多い」をデータで追い、人口でも高齢化でも所得でも説明できないことが分かった。Part 2では、その「説明できない差」を8制度に広げ、大阪が外れるのは“曖昧な制度”だけだと突き止めた。

最終的にたどり着いた問いの形はこうだ。

「制度の違い」ではなく「制度の曖昧さが許す“行動分布”の違い」

ルールは全国共通。でも、判断の余地がある制度では、その余地に地域の商慣行が流れ込む。地域差は文化の色ではなく、制度の設計が残した“すき間”の形だった。

そして、もう一段上の発見がある。曖昧さの実値はモデルで揺れても、硬さの順位は壊れなかった(順位不変・変数ロバスト・クラスタ安定の3点)。これは、この指標が「値を測る尺度」ではなく、**“このモデルが安定して抽出する制度の残差構造”**になっていたということだ。気づけば私たちは、地域差そのものではなく、説明変数で吸収できない“裁量の分布”の序列を測っていた。

最後に、この記事の到達点を1行に畳むとこうなる。

制度の地域差は「需要の差」ではなく、「説明変数で吸収できない裁量の分布」で決まる。

データ分析はムズい。だからこそ、

総数 → 人口密度補正 → 残差 →(制度横断の)曖昧さ → クラスタリング → 頑健性

という分解設計に、ストーリーが宿る。「大阪人だから」で止めず、引けるノイズを全部引いた先に、制度経済学的な構造が見えてくる。


分析環境・データ・再現

データソース(すべて2020年に統一、e-Stat)

データ 出典(統計表ID)
理容・美容所数 衛生行政報告例 0004027011
接骨院・鍼灸院(施術所) 衛生行政報告例 0004026951
歯科診療所数 医療施設調査 0002013847
人口 人口推計 0003448232
高齢化率(年齢3区分) 国勢調査 0003448299
1人当たり県民所得 社会・人口統計体系 0000010103(C120101/2014年度)
国民医療費・訪問看護 国民医療費 0003356095
生活保護・介護・年金 社会・人口統計体系 0000010110(J1105/J7102/J520201)
都道府県面積 国土地理院 全国都道府県市区町村別面積調

データ鮮度の注記

系列 使用年 備考
店舗数・医療費・国勢調査 2020年 基準年
1人当たり県民所得 2014年度 社会人口統計体系の収録最新
国民年金受給権者 2006年度 同上。順位は構造的に安定

実行コマンド

python analysis/store_count/fetch_and_analyze.py      # Part1 §1 相関・散布図
python analysis/store_count/deep_dive.py              # 関西クラスタの深掘り
python analysis/store_count/residual_analysis.py      # Part1 §2 残差ランキング
python analysis/store_count/residual_cross.py         # Part2 §2 制度横断・曖昧さ
python analysis/store_count/residual_clusters.py      # Part2 §3 クラスタリング
python analysis/store_count/residual_robustness.py    # Part2 §4 頑健性

曖昧さの計算(コアスニペット)

import numpy as np

def ambiguity(y, X):
    """制度の曖昧さ = 1 - R²(切片付きOLS)"""
    Xd = np.column_stack([np.ones(len(X)), X])      # X = [log人口密度, 高齢化率, 県民所得]
    beta, *_ = np.linalg.lstsq(Xd, y, rcond=None)
    pred = Xd @ beta
    ss_res = ((y - pred) ** 2).sum()
    ss_tot = ((y - y.mean()) ** 2).sum()
    r2 = 1 - ss_res / ss_tot
    return 1 - r2                                    # 接骨院=0.83, 国民年金=0.10

出力一覧

種別 パス
データ data/store_count/*.csv
output/store_count/fig1fig17.png
残差マトリクス data/store_count/residual_matrix.csv
クラスタ割当 data/store_count/prefecture_clusters.csv

参考文献・脚注

  • 総務省統計局 e-Stat: https://www.e-stat.go.jp/
  • 接骨院数は「柔道整復の施術所数」(衛生行政報告例)。鍼灸院は「はり・きゅうの施術所数」。
  • 本稿の「制度の曖昧さ=1−R²」は、人口密度・高齢化・所得という客観3要因での説明力の裏返しであり、制度設計そのものの規範的評価ではない。
  • 残差・相関は共変動の分離であって因果の証明ではない。因果推定にはDID(露地 vs 制度変更前後)等の追加設計が必要(§5)。

シリーズ: 常識をデータでひっくり返す(Part 2:構造編)
前編: Part 1:説明できない地域差
次回(予定): 師院比・部位数別請求割合を取り込んだ「供給構造 vs 商慣行」の分離

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?