データソースと手法

DXA Labs 各プロダクトが使うデータ、処理、計算していないことを、コードの特定リビジョンから記述する。

このページは、DXA Labs の各プロダクトが「どのデータを使い、どう処理し、何を計算していないか」を記したものです。 記述の根拠は各プロダクトのリポジトリにあるコード・設定・取得スクリプトで、各節末尾の「測定リビジョン」に示した版を読んで書いています。読んだ日付はその行に節ごとに記します。紹介文や README の文言は根拠にしていません。 コードが変わればこのページも更新し、測定リビジョンを書き換えます。 プロダクトの節は、そのプロダクト自身のランディングページの記述がこのページと一致した時点で掲載します。 「(推定)」はコードから直接確認できず推定した箇所、「出典不明」「未確認」はリポジトリ内に根拠が見つからなかった箇所です。 「計算しないこと・限界」には、固定値・サンプル・スタブが本番の出力に到達する経路をすべて書いています。

UrbanOracle

使うデータ

提供元 データセット 取得方法 更新 用途
国土交通省 不動産情報ライブラリ XIT001 地価(東京都、2024年)。対象は 8 区のみ、各区最大 5 地点。座標は区の重心に ±0.0075° の一定のずらしを加えたもの ダッシュボード表示時に API 呼び出し(取得済み・現時点では未表示:地図は受け取った地点を描画しない)。API キー:REINFOLIB 取得後 24 時間はプロセス内キャッシュ(backend/core/cache.py) 地価(未表示)
政府統計 e-Stat 国勢調査 2020(統計表 ID 0003448299)、人口増減表 0004050417(2025_35) 表示時に API 呼び出し(API キー:e-Stat) 取得後 24 時間はプロセス内キャッシュ(backend/core/cache.py) 人口・人口密度
公共交通オープンデータ ODPT odpt:Station、PassengerSurvey(降車を含む乗降数のみ) 表示時に API 呼び出し(API キー:ODPT) 取得後 24 時間はプロセス内キャッシュ(backend/core/cache.py) 駅乗降客数
出典不明 駅リスト tokyo-stations.geojson(558 件)。路線数上位 50 駅を使用し、区は矩形範囲で割当 リポジトリ同梱ファイル 更新なし 交通パネルの駅
dataofjapan/land(TopoJSON) 23 区境界 tokyo-wards.geojson リポジトリ同梱ファイル 更新なし 地図の区境界
リポジトリ内定数 WARD_META(区ごとの人口・密度・平均地価・最大リスク) ハードコード 更新なし 塗り分け地図の値
国土地理院 ハザードラスタータイル(浸水・津波・土砂) ブラウザから直接タイル取得 年次固定なし 地図の重ね表示
CARTO ベースマップタイル ブラウザから直接取得 背景地図
リポジトリ内サンプル sample.ts(9 セット:地価、人口、災害リスク、交通、地価サマリー、人口推移、交通推移、用途地域、区プロファイル)。うち 4 セット(地価、人口、災害リスク、交通)は sample_fallback.json にも複製され、サーバー側の代替に使う リポジトリ同梱 更新なし 6 パネルの表示値、上流障害時の代替、災害リスク

LLM は使用しません。

処理の概要

集計と受け渡しのみで、予測モデルはありません。地価は不動産情報ライブラリの行を 8 区・各区 5 地点に絞り、区の重心にずらしを加えた位置に置きます(取得のみで、描画はしません)。人口密度は人口 ÷ 面積(km²)です。交通は駅リストから路線数上位 50 駅を取り、ODPT の乗降数を結合します。塗り分け地図の値は常に WARD_META の定数です。 単位は円/m²、人、人/km²、人/日。対象は東京 23 区(区単位)、地価は 8 区です。

計算しないこと・限界

  • 予測は一切しません。
  • 地価チャート、区テーブル、人口推移、交通推移、用途地域、区プロファイルの 6 つのパネルの数値はサンプル定数で、実データではありません。
  • 災害リスクの API(/disaster-risks)は常にサンプルデータを返します。ハザードの数値は取得しておらず、地図タイルの重ね表示だけです。
  • 上流 API が失敗すると同梱サンプルに切り替わり、応答に isLive=false が付きます。
  • 塗り分け地図の値は常にハードコードされた WARD_META です。
  • 不動産情報ライブラリから取得する地価(8 区のみ、各区最大 5 地点、位置は区の重心にずらしを加えたもの)は、取得済み・現時点では未表示です。地図は受け取った地点を描画せず、地価チャートと区テーブルはサンプル定数を表示します。
  • 人口推移(2000〜2025 年)と交通推移はサンプル定数です。
  • 駅リストの出典は不明です。
  • 利用データのライセンス条件はリポジトリ内に記載がなく、未確認です。
  • サンプル値を表示する箇所は、画面上で「サンプルデータ(暫定)— 実データではありません」と明示しています(2026-09-07 以降)。

測定リビジョン

urbanoracle @ ce6774d(main)を 2026-09-07 に読んで記述。

Landcast

使うデータ

提供元 データセット 取得方法 更新 用途
国土交通省 国土数値情報 L01 地価公示 2019〜2024 年(推定:取得スクリプトが対応する版と README の記載による。学習に使ったデータそのものはリポジトリに無い) ETL スクリプトでダウンロード 手動実行 地価モデルの学習
国土交通省 国土数値情報 N02 鉄道 2023 年(駅) ETL スクリプトでダウンロード 手動実行 駅の特徴量
東京都 住民基本台帳 人口 CSV(jy-data.csv) ETL スクリプトでダウンロード 年次固定なし 人口
OpenStreetMap Overpass POI(コンビニ、学校、公園、病院) ETL で API 呼び出し 年次固定なし 周辺施設の特徴量
国土交通省 不動産情報ライブラリ XIT001 取引価格(既定 2023〜2024 年)と賃料(区分 02) ETL で API 呼び出し(API キー:REINFOLIB) 手動実行 取引・賃料
国土交通省 不動産情報ライブラリ XKT015 駅タイル(乗降客数) ETL で API 呼び出し 年次固定なし 駅乗降客数
RESAS 人口・年齢構成・年次推移 ETL で API 呼び出し(API キー:RESAS) 年次固定なし 収集のみ(予測処理からは未参照)
気象庁 気象データ ETL で API 呼び出し 年次固定なし 収集のみ(予測処理からは未参照)
リポジトリ内定数 ハザード:区ごとの固定値表(_WARD_RISK_DATA)。外部取得なし スタブ 災害スコア(投入された場合)
リポジトリ内定数 区人口 WARD_POPULATION と空間単位(区の重心を中心とする半径 500 m のバッファ) seed スクリプト 空間単位・人口
リポジトリ内定数 用途地域・容積率・建ぺい率・高さ(区ごと固定) seed スクリプト 都市計画
リポジトリ内モデル ensemble-v6.0.0-conformal(LightGBM + XGBoost + Ridge、校正スコア cal_scores.npy) リポジトリ同梱、Docker イメージに複製 地価予測

LLM は使用しません。

処理の概要

地価は積み上げアンサンブル(LightGBM、XGBoost、Ridge メタ学習器)で、対数変換した目的変数と空間ラグを含む 26 特徴量を使います。分割は地点 ID 単位で、テスト 15%、残りの 17.6% を校正(989 件)に使います。区間は分割コンフォーマル(相対スコア、α = 0.1、分位点 0.0344)で、90% を目標に校正します。 リポジトリに保存された評価値は MAPE 0.174、R² 0.754、MAE 449,700 円/m²、実測カバレッジ 0.920 です。いずれも、テストに回した地点の各行を、その行が観測された年の特徴量のまま予測した値(予測年数 0)で、成長率も区間幅の拡大も掛けていません。 予測時は特徴量の年を 2024 に固定し、予測期間(1〜3 年)に応じて年 3% の成長率と区間幅の拡大(1 + 0.02 × 年数)を掛けます。この 1〜3 年先の予測について、区間のカバレッジも誤差も測っていません。 応答は数値の出どころを明示します。学習済みモデルから出た値は basis: "model"、区間は basis: "conformal" で、coverage には校正の目標値 0.90(定数)を返します。これは実測値ではありません。固定値表から出た値は basis: "fixed-table"、その区間は basis: "assumed" で、カバレッジ値は持たず、代わりに幅の式そのものを返します(賃料 ±(0.10 + 0.03 × horizon)、人口 ±(0.05 + 0.02 × 年数)、空室 ±(0.15 + 0.05 × 年数)、投資利回り ±(0.8 + 0.2 × horizon)pt)。画面では固定値の出力に「固定値による試算」「仮定した幅」、地価の区間に「90%目標 · N年先の的中率は未検証」と表示されます。 災害スコアは 0.01° 以内のハザード行の risk_level 平均 × 100(1〜100 に丸め)で、地震 0.5・洪水 0.3・土砂 0.2 の重みです。該当する行が 1 つも無い場合はスコアを作らず、available: falseunavailable_reason: "no_hazard_data" を返し、画面は「災害リスクを取得できませんでした」と表示します。 賃料、人口、空室、出店適性、環境、ジェントリフィケーション、投資利回り、建物リスク、交通影響、再開発影響は、区ごとの固定値表と数式で計算します(バージョン表記 *-v0.1.0)。 単位は円/m²、円/m²/月、%、0〜100 の指数。対象は東京 23 区で、区は空間単位に含まれるかどうかで判定し、含まれなければ最寄りの地価公示地点の地点 ID から判定します。

計算しないこと・限界

  • 実際に返す 1〜3 年先の予測について、区間のカバレッジと誤差は測っていません。上の評価値は予測年数 0 のもので、この予測には当てはまりません。
  • 空間ラグ特徴量は、近傍地点それぞれの最新の価格を、すべての年の行に使っています。そのため予測年数 0 の評価値(実測カバレッジ 0.920、R² 0.754、MAPE 0.174)は、過去の年の行についても、その年より後の価格が特徴量に入った状態で測ったものです。
  • コンフォーマル予測の保証は周辺的(多数の予測をならした平均)で、校正データと予測対象が交換可能であることを前提とします。地点ごと・価格帯ごとには成り立たず、将来の年を予測する場合はこの前提が崩れるため、保証は及びません。
  • 地価以外の 10 出力(賃料・人口・空室・出店適性・環境・ジェントリフィケーション・投資利回り・建物リスク・交通影響・再開発影響)は区ごとの固定値表と数式で、学習済みモデルはありません。予測区間の幅も固定の式です。API が basis: "fixed-table"、画面が「固定値による試算」と明示します。
  • 賃料・人口・空室の 3 つには学習済みモデルを読み込む分岐がコード上ありますが、対応する artifacts(ml/artifacts/{rent,population,vacancy})は存在せず、本番は起動のたびに「model not found」を記録して固定値表の分岐に入ります。
  • ハザードの取得コードは区ごとの固定値表(スタブ)を返すだけで、J-SHIS や浸水想定区域などの実データを取り込む経路はありません。本番 DB のハザード表に何が入っているかは未確認です。該当する行が無い地点では、災害リスクのパネルは数値ではなく「取得できませんでした」と表示します。
  • 空間単位は区の重心を中心とする半径 500 m のバッファで、区の境界ではありません。区画やメッシュもありません。
  • 予測時の年次特徴量は 2024 固定です。
  • RESAS と気象庁のデータは取得していますが、予測処理からは参照していません。
  • 外部データのライセンス条件はリポジトリ内に記載がなく、未確認です。

測定リビジョン

landcast @ 2f61926(main)を 2026-09-15 に読んで記述。本番での読み込み状況は Cloud Logging、画面の表示文言は配信中のバンドルで、いずれもリビジョン landcast-00031-kjs について確認。