このページは、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: false と unavailable_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 について確認。