TOKYO STATION INDEX

東京都 全駅総合評価

METHODOLOGY

このランキングの算出方法

本ページは、東京都内656駅の総合評価ランキングを算出した手法をそのまま掲載しています。 データソース・正規化方法・既知の限界を隠さず示すことで、ランキングの信頼性を担保しています。 表示層の実装にあたり、スコアの再計算・カテゴリの再定義は一切行っていません。

東京都内 全駅総合評価選手権 — 方法論(methodology)

1. 対象駅の確定(PHASE 1)

  • 駅網・路線・駅グループコード: 国土数値情報 鉄道データ N02-25(令和7年度版) https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N02-v2_3.html
  • 東京都境界: 国土数値情報 行政区域データ N03(令和5年1月1日時点, 13_東京都)
  • 東京都内判定: 各駅グループの代表点(同一グループ内の全route-segment中点の平均)が、東京都の 全市区町村ポリゴンのunion(shapely unary_union)に含まれるかをpoint-in-polygonで判定。 国境・県境付近の駅も含め、印象や知識ではなく座標とポリゴンの厳密な交差判定のみで機械的に決定。
  • 同一駅の統合: N02のgroupCode(300m以内・同名の駅を1グループとする公式ルール)をそのまま採用。 AIの主観による追加統合は一切行っていない。そのため東京駅・池袋駅のように、京葉線ホームや 副都心線ホームなど物理的に離れた改札が公式に別グループとして扱われるケースがそのまま残っている (詳細はdata_quality_notes.md参照)。
  • 結果: 対象駅656駅(私鉄255・JR単独97・東京メトロ単独83・都営単独58・都電29・モノレール16・ 新交通13、複数事業者乗り入れは組み合わせタグで表現。50市区町村に所在)

2. 乗降客数

  • 国土数値情報 駅別乗降客数データ S12-25(令和6年度=2024年データが最新反映年)
  • 重要な仕様上の注意点: 各駅グループには年度ごとに「重複コード」(1=当該路線駅に記載/2=他路線駅に 記載/3=駅なし)が付与されており、重複コード=2の行は「データ有無コード=1(データ有)」であっても 乗降客数=0のダミー値が入る。これを見落とすと過大または過小集計になるため、latest_value>0で 実質的に重複コード=2の0埋め行を除外した上で、駅グループ内の全事業者・全路線の値を合算した。
  • 既知の限界: 一部の巨大ターミナル駅(新宿の都営線、東京駅グループ内の一部JR在来線等)では、 重複コード=1の行がその駅グループ内に見当たらず、合算値が対外公表されている総乗降人員より 低くなるケースがある(新宿駅で検証: 算出値約271万人/日 vs 5社公表値合計 約260万〜353万人/日 (2022年度公表値と2024年推定を比較) — 概ね妥当な範囲だが完全一致ではない)。
  • 欠損(非公開・データなし)は0でなく空欄のまま保持。

3. 評価対象範囲

  • 原則、駅グループ代表点から直線800m。全駅で完全に同一の閾値を使用し、駅ごとの調整は一切行っていない。
  • 河川・車両基地等による徒歩アクセス阻害の個別補正(plan.mdセクション5)は、データソースの制約により 今回は反映していない(将来的な改善点)。

4. カテゴリ別データソース

カテゴリ配点主データソースconfidence
交通利便性20N02路線網(直通判定・路線/事業者数)、直線距離+速度想定による所要時間概算、OSMバス停B/C/D(所要時間はD=推測)
家賃・住宅15総務省統計局 令和5年住宅・土地統計調査 第48-2表(区市町村単位平均家賃)C/D、間取り別内訳はX(取得不能)
飲食12OpenStreetMap Overpass API(amenity/cuisineタグ)C
買い物12OpenStreetMap Overpass API(shopタグ)C
娯楽・運動10OpenStreetMap Overpass API(leisure/amenity/tourismタグ)C
カフェ・作業6OpenStreetMap Overpass API(amenity=cafe, brand/office=coworking)C
公園・自然5OpenStreetMap Overpass API(leisure=park等、ポリゴン面積をEPSG:6677投影で算出)C
医療・生活インフラ5OpenStreetMap Overpass API(amenity=hospital/clinic/pharmacy等)C
治安6警視庁 町丁目別認知件数(2024) を 東京都都市整備局 地域危険度調査の町丁目ポリゴン(5,192区画)で800m圏に面積按分B/C
災害リスク4東京都都市整備局 地震に関する地域危険度測定調査 第9回(令和4年公表)を同様に800m圏で面積加重平均A/C
街の快適性5バス停密度・公園数・犯罪件数・路線数の代理指標(直接データなし、最も根拠の薄いカテゴリ)C/D

全ての生データはtokyo_station_raw_metrics.csvにsource/data_year/confidenceとともにlong format (station_id, metric, value, source, data_year, confidence, note)で保持。

5. 取得できなかった項目(0や推測値で埋めていない)

  • 始発列車時刻・終電時刻・ピーク/オフピーク運行本数: 無料で全駅共通取得できる時刻表APIが存在せず、 656駅×confidence=X(取得不能)として空欄のまま。
  • 間取り別家賃(1K/1DK/1LDK/2DK/2LDK): SUUMO/HOME'S等に無料の公式APIが存在せず、大量スクレイピングは 規約・再現性の両面で不適切と判断し断念。区市町村単位の平均家賃で代替。
  • 「安い飲食店」「高評価店」「一人飯向け」等の主観・評価スコアに依存する指標: OSMに信頼できる 価格帯・評価データがないため取得していない。
  • 商店街の実態(店舗の雰囲気・個店密度の質的評価): 定量データソースなし。

6. 正規化・採点方法

  • 各指標について、656駅中の有効値(confidence=X/欠損を除く)のみを対象にpercentile rank(0-100)を計算。
  • 値が小さいほど良い指標(家賃・犯罪件数・災害リスクランク・所要時間)は反転(100-rank)。
  • カテゴリ内の複数指標はサブウェイト付きの加重平均でカテゴリスコア(0〜配点)を算出。
  • ある駅で特定カテゴリの全指標が欠損の場合、そのカテゴリは除外した上で残りカテゴリの配点合計に対する 比率で100点満点に再スケールする(0点として扱わない)。「対応カテゴリ数」列で各駅が何カテゴリ分の データに基づいてスコアされたかを明示。
  • ★1-5特性スコアも同様にpercentile平均→五分位バケットで算出。

7. 既知の限界・注意事項

  1. 東京駅・池袋駅の分裂: N02の公式グルーピングにより、京葉線ホーム・副都心線ホームなど一部改札が 別駅として登録され、乗降客数等が欠損扱いになっている(主要な改札側のグループは正常にデータあり)。
  2. 少路線・高密度駅の高評価: 上野御徒町・湯島など乗り換え路線が1本しかない駅が、周辺の飲食・ 商業密度の高さにより総合順位で上位に入るケースがある。これは意図した設計(交通利便性は100点中20点、 飲食・買物・娯楽等の生活利便性カテゴリの合計が45点)によるものであり、知名度や路線数だけで 高得点にならないようにする狙いと整合する。
  3. 治安・災害の按分値: 町丁目単位の実データを800m円で面積按分した推定値であり、実際の犯罪認知件数 そのものではない(整数にならない)。
  4. 所要時間: 実際の乗換案内APIを使用していないため、直線距離+平均速度32km/h+乗換1回あたり8分という 単純モデルによる推測値(confidence D)。中心部主要駅間では実際の所要時間と近い値が出ることを 簡易検証したが、郊外や複雑な乗換パターンでは乖離しうる。
  5. 街の快適性カテゴリ: 歩道幅員・坂・再開発等の直接データが取得できず、代理指標のみで構成した 最も根拠の薄いカテゴリ。
  6. Phase5詳細検証: 全656駅の上位100駅・上位30駅について、plan.md記載のような個別Web検索による 全数手動検証は本セッションの時間的制約により実施していない。代わりに、新宿駅の乗降客数を 5社公表値と突合する等の統計的整合性検証を実施し、桁・オーダーの妥当性を確認した。

8. 取得日時・再現性

  • OSM Overpass APIスナップショット取得日: 2026-08-12(以降の店舗開閉店は反映されない)
  • 国土数値情報・警視庁・東京都都市整備局・総務省統計局データはいずれも各機関が定期更新する 最新公開版を使用(具体的な版・年度は上表参照)。
  • 全処理はPythonスクリプト(tokyo-stations/scripts/配下)で実施しており、同一のソースデータを 再取得すれば同じロジックで再現可能。

データ品質チェックの結果

Phase 3 データ品質チェック結果

実施したチェック

  1. station_id / group_code の重複: 0件
  2. 座標が東京都範囲外: 0件
  3. confidence(A/B/C/D/X)の分布: カテゴリごとに確認、極端な偏りなし
  4. 全656駅で値が0になっている指標(クエリ不具合の疑い): 0件(該当なし)
  5. confidence=X(取得不能)が30%超の指標: 始発・終電・運行本数(4指標、全656駅=100%欠損)、 家賃の間取り別内訳5指標(1K/1DK/1LDK/2DK/2LDK、全656駅=100%欠損)。 いずれも無料で全駅共通取得できる公式データソースが存在しないための構造的な欠損であり、 0や推測値で埋めていない。
  6. 主要指標の外れ値確認: 飲食店数トップ5は御徒町・上野広小路周辺(妥当)、家賃トップ5は 六本木・乃木坂・三田・お台場(妥当)、治安(犯罪件数)トップ5は新宿駅周辺4駅+池袋(妥当)、 いずれも実世界の地理的知識と整合。ボトム5はいずれも奥多摩エリアの山間部駅で一貫。

重要な発見: 「東京」「池袋」等の巨大ターミナル駅が2グループに分裂している

国土数値情報(N02)のグループコードは「300m以内・同名の駅」を1グループとする機械的ルールのため、 物理的に離れた改札口を持つ巨大駅は複数グループに分裂します。plan.md のルール(セクション2) 「国土数値情報上で別グループとなっている駅をAIの主観だけで勝手に統合してはいけない」に従い、 本プロジェクトでは分裂したグループをそのまま別駅として扱っています。

確認された例:

  • 東京駅: group_code=003766(新幹線・山手線・中央線・東海道線・丸ノ内線など主要6路線、 乗降客数1,262,604人/日) と group_code=003785(京葉線ホームのみ、乗降客数データなし)
  • 池袋駅: group_code=003390(山手線・東武東上線・西武池袋線・丸ノ内線・有楽町線など、 乗降客数2,364,011人/日) と group_code=003379(副都心線ホームのみ、乗降客数データなし)

いずれも「主グループ」側は正常にデータが揃っており、乗降客数の欠損は副都心線/京葉線単独の サブグループのみで発生しています。ランキング上はこのサブグループが不当に低スコアになる 可能性があるため、最終成果物ではこの制約を明記します。同様の分裂が他の巨大ターミナル駅 (新宿・渋谷・品川等)でも起きていないか、Phase5の上位駅詳細検証で確認します。

未実施/簡略化した項目

  • 閉店店舗の個別確認: OSMデータの鮮度(2026年8月時点のスナップショット)に依存。全数個別確認は 非現実的なため、Phase5で上位駅のみ実地確認的にWeb検索でクロスチェックします。
  • 犯罪データの人口正規化: 800m圏の実際の居住人口メッシュデータは未取得のため、面積按分した 認知件数の絶対値をそのままconfidence B/Cとして使用しています(人口が多い繁華街ほど分子・ 分母ともに大きくなる可能性があり、治安の「体感」とは必ずしも一致しない点に留意)。