この教材は原論文と同じデータを読み込み、同じ手順で計算し直しています。画面に出る数値と図は、あなたのブラウザがその場で計算した結果です。
| 原論文が使ったデータ | SSDSE・SSDSE-B-2022・総務省統計局・厚生労働省・Graph Ochart・とどラン・国土交通省・住民基本台帳人口・世帯数・北海道開発局・国土地理院・国土気象庁・地価公示・地価調査マップ 分析単位:都道府県 中核手法:相関分析 |
|---|---|
| この教材が使うデータ |
|
| 原論文(PDF) | ドクターヘリの効率の良い配置を考える 審査員奨励賞/明珍 若那、山口 陽由佳、山田 優芽、山本 紗綾、渡邉 晴香(兵庫県立姫路西高等学校) |
▶ ここに書いてある分析は、ページ下部の「🐍 ブラウザで動かす」でそのまま実行できます(インストール不要)。動かしているのは code/2022_H5_16_shorei.py(245 行)そのものです。
このページの降水量ランキング(図3)と人口10万人あたり一般病院数(図4)は、以下の手順で自分で再現できます。コードの編集は不要です。(社会復帰率・カバー範囲km・拠点病院の位置・候補地はHEM-Net/厚生労働省等が出典でSSDSE-Bに無いため、図1・図2は原論文の報告値を可視化します。)
data/raw/ フォルダに入れます。html/figures/ に自動保存されます。
著者たちは、兵庫県豊岡市の豊岡病院で活躍するドクターヘリをメディアで見て関心を持ち、「患者や傷病者が日本のどこで救助を要請しても駆けつけられるドクターヘリの配置」を考えたいと思ったという。本研究の目的は、ドクターヘリの現在の配置の特徴を分析し、その結果と気象・地理的要因を踏まえて新たな基地病院の候補地を提案することである。
まず「救急車が拡充された現在、あえてドクターヘリを増やす必要があるか」を先行研究で確かめている。認定NPO法人 救急ヘリ病院ネットワーク「HEM-Net」によれば、救急車搬送と比べてドクターヘリ搬送では死亡者が約27%(約3割)減少し、社会復帰できる割合が約45%増加したと推定される(図1)。さらに1台がカバーできる距離は、厚生労働省の研究でドクターヘリが50〜70km、独自算出の救急車が平地で約7km。山間部など車の入りにくい場所も含め、救命車両を拡充するなら救急車よりドクターヘリが適していると位置づけた。
高校生の部 HEM-Net・厚生労働省ほか 相関分析(散布図・相関係数) カバー範囲(70km圏)分析 候補地の絞り込み
本研究は年度・出典の異なる多数のデータを組み合わせている。原論文の表1によれば、人口密度・降水量は SSDSE / SSDSE-B、歳入は総務省統計局、生活習慣病死亡者数(悪性新生物・心疾患・脳血管疾患)は厚生労働省ほか、標高はとどラン、面積は国土交通省、北海道の人口・国道・標高・降水量・地価は各官公庁・自治体資料が出典である。ドクターヘリの台数・基地病院数は HEM-Net の資料に基づく。
| 役割 | データ | 出典(年度) |
|---|---|---|
| 条件① | 人口密度 | SSDSE(2019)*SSDSE |
| 条件② | 歳入 | 総務省統計局(2017) |
| 条件③ | 生活習慣病死亡者数(悪性新生物・心疾患・脳血管疾患) | 厚生労働省 / Graph Ochart(2019) |
| 条件④ | 降水量 | SSDSE-B‑2022(2019)*SSDSE |
| 条件⑤ | 標高 | とどラン(2019) |
| 条件⑥ | 面積 | 国土交通省(2019) |
| 目的変数 | ドクターヘリ台数・基地病院数 | HEM-Net |
| 候補地選定 | 北海道の人口・国道・標高・降水量・地価 | 北海道 / 国土地理院 / 気象庁 ほか(2022) |
*は原論文が SSDSE(教育用標準データセット)から取得したと明記した変数。ドクターヘリ台数・基地病院の位置は HEM-Net 由来で SSDSE には無い。
著者は、各都道府県の 人口密度・歳入・生活習慣病死亡者数・降水量・標高・面積 の6条件とドクターヘリ台数の相関を、散布図と相関係数で確かめた。「やや弱い相関〜強い相関」を「はっきりした相関」とみなす基準を先に置き、外れ値は四分位範囲(IQR)の1.5倍を超える値と定義している。
都道府県境を無視し、全国の拠点病院から半径70kmの円を描いて日本全体のカバー範囲を可視化した。ここは基地病院の位置(SSDSE外)が必要なため、位置図そのものは報告値。関連する気象・医療資源はSSDSE-Bで実再現できる。
未到達が顕著だった北海道について、①国道 ②標高 ③降水量 ④地価の4条件で拠点病院の候補地を絞り込み、具体的な地名を提案した。
原論文の6条件のうち、SSDSE-Bに収録があるのは降水量。まずここを実データで並べ、後半で北海道が候補地に選ばれる理由(雨が少なく飛べる日が多い)を先取りして確かめる。
skiprows=[1] で読み込み、先頭列 SSDSE-B-2026(年度)が2023の47都道府県を抽出。年間降水量(B4109)を降順に並べ、北海道の順位と値を確認する。86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | df = pd.read_csv(DATA_B, encoding='cp932', skiprows=[1]) for c in ['A1101', 'B4109', 'I510120']: # 総人口・年間降水量・一般病院数 df[c] = pd.to_numeric(df[c], errors='coerce') # 2023年(SSDSE-B-2026 収録の最新年)の47都道府県を抽出 d = df[df['SSDSE-B-2026'] == 2023].copy() d['地域'] = d['Prefecture'].map(REGION_MAP) print(f"データ読み込み完了:{len(d)}都道府県(2023年, SSDSE-B-2026)") print("使用列: A1101=総人口, B4109=年間降水量(mm), I510120=一般病院数") # ── 降水量ランキング(原論文の条件(4)/北海道の条件③) ── prec = d[['Prefecture', 'B4109']].dropna().sort_values('B4109', ascending=False) prec = prec.reset_index(drop=True) hok_rank = int(prec.index[prec['Prefecture'] == '北海道'][0]) + 1 # 降順順位 hok_prec = prec.loc[prec['Prefecture'] == '北海道', 'B4109'].values[0] print("\n=== [1] 実再現:年間降水量ランキング(SSDSE-B, 2023) ===") print("[降水量が多い上位5県]") for _, r in prec.head(5).iterrows(): print(f" {r['Prefecture']:<5} {r['B4109']:>7.1f} mm") print("[降水量が少ない下位5県]") for _, r in prec.tail(5).iloc[::-1].iterrows(): print(f" {r['Prefecture']:<5} {r['B4109']:>7.1f} mm") print(f"→ 北海道は {hok_prec:.1f} mm で全国 {len(prec)}県中 第{hok_rank}位" f"(=少ない方から{len(prec)-hok_rank+1}番目)と少雨。") print(" 原論文の条件③『降水量が少ない=ヘリが飛べる日が多い』に合致する。") |
=== [1] 実再現:年間降水量ランキング(SSDSE-B, 2023) === [降水量が多い上位5県] 宮崎県 3002.5 mm 高知県 2783.0 mm 鹿児島県 2510.0 mm 福井県 2498.0 mm 富山県 2388.5 mm [降水量が少ない下位5県] 長野県 830.0 mm 山梨県 946.5 mm 北海道 966.0 mm 福島県 990.5 mm 埼玉県 1028.5 mm → 北海道は 966.0 mm で全国 47県中 第45位(=少ない方から3番目)と少雨。 原論文の条件③『降水量が少ない=ヘリが飛べる日が多い』に合致する。
未カバー地域が「医療資源不足」なのか「広さゆえの届きにくさ」なのかを切り分けるため、SSDSE-Bの人口と一般病院数を見る。
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | d['病院_10万人'] = d['I510120'] / (d['A1101'] / 100000) # 人口10万あたり一般病院数 pop = d.sort_values('A1101', ascending=False).reset_index(drop=True) pop_rank = int(pop.index[pop['Prefecture'] == '北海道'][0]) + 1 hos = d.sort_values('I510120', ascending=False).reset_index(drop=True) hos_rank = int(hos.index[hos['Prefecture'] == '北海道'][0]) + 1 hok = d[d['Prefecture'] == '北海道'].iloc[0] med_national = d['病院_10万人'].median() print("\n=== [2] 実再現:人口と一般病院数の分布(SSDSE-B, 2023) ===") print(f" 北海道 総人口 : {int(hok['A1101']):>10,d} 人(全国第{pop_rank}位)") print(f" 北海道 一般病院数 : {int(hok['I510120']):>10,d} 施設(全国第{hos_rank}位)") print(f" 北海道 人口10万人あたり一般病院数 : {hok['病院_10万人']:.2f} 施設") print(f" 全国中央値 : {med_national:.2f} 施設") print("→ 北海道は人口・病院数とも全国有数で、人口あたり病院数も中央値を上回る。") print(" それでも原論文は『70km 圏でカバーできない地域が北海道で顕著』と報告した。") print(" =広大な面積に医療資源が“点在”するため、数の多さが到達性を保証しない。") print(" (面積は SSDSE-B-2026 に無いため、地理的分散は報告値の議論として扱う。)") |
=== [2] 実再現:人口と一般病院数の分布(SSDSE-B, 2023) === 北海道 総人口 : 5,092,000 人(全国第9位) 北海道 一般病院数 : 464 施設(全国第2位) 北海道 人口10万人あたり一般病院数 : 9.11 施設 全国中央値 : 5.99 施設 → 北海道は人口・病院数とも全国有数で、人口あたり病院数も中央値を上回る。 それでも原論文は『70km 圏でカバーできない地域が北海道で顕著』と報告した。 =広大な面積に医療資源が“点在”するため、数の多さが到達性を保証しない。 (面積は SSDSE-B-2026 に無いため、地理的分散は報告値の議論として扱う。)
「救急車が拡充された現在、あえてドクターヘリを増やす必要はあるのか」を確かめた先行研究の結果である。この図は原論文の報告値をそのまま可視化したものである(HEM-Netの推定値が出典で、SSDSE-Bに無いため再計算できない)。
=== [3] 報告値:ドクターヘリ vs 救急車 の効果(HEM-Net, 図1) === ・死亡者 : 救急車搬送に比べ 約27%(約3割)減少 ・社会復帰できる割合: 約45% 増加 ※ 出典 HEM-Net。SSDSE に無いため報告値として転記(Fig1で可視化)。
ドクターヘリ1台がどれだけの範囲をカバーできるかは、配置を考える土台になる。この図は原論文の報告値をそのまま可視化したものである(厚生労働省の研究と著者の独自算出が出典で、SSDSE-Bに無いため再計算できない)。
=== [4] 報告値:カバー範囲(1台がカバーできる距離) === ・ドクターヘリ(基地病院からの距離): 50〜70 km(厚労省研究) ・救急車(平地・独自算出) : 約 7 km ※ 本研究は拠点病院から半径70km の円で全国のカバー範囲を分析した。 ※ SSDSE に無いため報告値として転記(Fig2で可視化)。
以下はすべて原論文の報告値である。相関の確認・カバー範囲分析・候補地の絞り込みを通じて、著者は次のように整理した。
=== [5] 報告値:分析の結論と北海道の拠点病院候補地 ===
・6条件(人口密度/歳入/生活習慣病死亡者数/降水量/標高/面積)と
ドクターヘリ台数の間に、単一条件でのはっきりした相関は見られなかった。
・都道府県境を無視した70km 圏の分析で、未カバーが顕著だったのは北海道。
・北海道の条件(①国道 ②標高 ③降水量 ④地価)で候補地を絞り込み、
新たな拠点病院候補地として『遠軽町』『中札内村』を提案した。| 条件 | 著者の当初の予想 | 結果(報告値) |
|---|---|---|
| ① 人口密度 | 高いほど台数が少ない(救急車で足りる) | はっきりした相関なし |
| ② 歳入 | 多いほど台数が多い(予算がある) | はっきりした相関なし |
| ③ 生活習慣病死亡者数 | 多いほど台数が多い | はっきりした相関なし |
| ④ 降水量 | 多いほど台数が少ない(飛べる日が減る) | はっきりした相関なし *降水量はSSDSE-Bで実再現 |
| ⑤ 標高 | 高いほど台数が多い(救急車が難しい) | はっきりした相関なし |
| ⑥ 面積 | 広いほど台数が多い(広域をカバー) | はっきりした相関なし |
*いずれも「はっきりした相関なし」は原論文の報告。相関係数の具体値は原論文本文に数表として記載がないため、ここでは新たな数値を作らず「相関なし」という報告の結論のみを転記している。④降水量の分布だけはSSDSE-Bで実再現した(図3)。
著者は、ドクターヘリ単体で救助する場合だけでなく、ドクターヘリと救急車が連携して傷病者や患者を助ける場合があることに触れ、それぞれの特徴や役割を踏まえた上で新たな配置を考えていきたい、と結んでいる(すべて報告値に基づく著者の考察)。
本ページの実再現は、北海道が候補地に選ばれた背景の一部を裏づける。降水量は966mmで全国屈指の少雨(図3)=ヘリが飛べる日が多い。人口・一般病院数はそれぞれ全国9位・2位(図4)=需要も医療資源もある。にもかかわらず70km圏で未カバーが残るのは、広大な面積に医療資源が点在するためで、この面積の効果はSSDSE-Bに列が無いため報告値の議論として扱う。
本研究は、「日本のどこでもドクターヘリで患者を搬送できる配置」を効率の良い配置と定義し、6条件とヘリ台数の相関の確認 → 70km圏のカバー範囲分析 → 北海道内での候補地の絞り込みという流れで新たな基地病院を提案した。単一条件とヘリ台数にはっきりした相関は見られず(配置は複数要因の複合)、70km圏で未カバーが顕著だった北海道について、国道・標高・降水量・地価の4条件から遠軽町・中札内村を候補地として提案した(すべて報告値)。降水量・人口・一般病院数はSSDSE-Bで実再現し、北海道が候補地に選ばれた背景を実データで確かめた。地理と統計を結びつけた高校生らしい探究である。
このページの降水量ランキング(図3)と人口10万人あたり一般病院数(図4)は、以下から再現できます。
🐍 再現コード(.py) 📊 SSDSE-B-2026.csv
※ 図1(効果比較)・図2(カバー範囲)と候補地(遠軽町・中札内村)は、出典がHEM-Net/厚生労働省/各自治体資料でSSDSE-B外のため、原論文の報告値を可視化したものです。図3・図4はSSDSE-Bの降水量(B4109)・総人口(A1101)・一般病院数(I510120)からの実再現(2023年・47都道府県)です。
この研究を読むとき・まねするときに陥りやすい誤解を整理する。
クリックすると各用語の詳しい解説ページに移動できます。
この研究で使われている手法を、手を動かす順に説明する。
この研究の「単一条件では決まらない・北海道が未カバー」という結論は、次の研究の出発点になる。
再現コードを少し変えるだけで試せる課題を、易しい順に用意した。
df['SSDSE-B-2026'] == 2023 を == 2020 などに変えて、降水量ランキングでの北海道の位置が年によって変わるか確かめよう。降水日数(B4106)を使ってランキングを描き、「雨の量」と「雨の日数」でヘリの飛べる日の見え方が変わるか比べよう。一般診療所数(I5102)に替えて人口あたりの値を計算し、病院と診療所で北海道の位置が変わるか見てみよう。df.corr())も出して、2つの条件に関係があるか確かめよう。「拠点からのカバー範囲を円で描き、届かない場所を探す」発想は、行政や企業で広く使われている。
この研究を読んで浮かびやすい疑問に答える。
この論文を理解できたか、クリックで確認しましょう。間違えても解説が出ます。
このページの分析は、この画面の中でそのまま実行できます。
Python をインストールする必要も、CSV をダウンロードする必要もありません。
下のセルの 「▶ ブラウザで実行」 を上から順に押すか、
「▶ 最初から全部実行」 で一気に流してください。
表示されるのは、本文の図表とまったく同じ計算の結果です
(動かしているのは再現スクリプト code/2022_H5_16_shorei.py そのもの)。
コードは書き換えられます。「✏️ 書き換える」で数字や変数を変えて ▶ を押すと、 結果がどう変わるかをその場で確かめられます(元に戻すボタンつき)。 ページを開いた時点で裏で実行環境の準備が始まっているので、待ち時間はほとんどありません。 初回だけ実行環境の取得にインターネット接続が必要です。