Пакет: ML-challenger структурнай мадэлі раёнаў

Градыентны бустынг (чысты Python, без sklearn/scipy/numpy) як challenger кагортнай мадэлі раёнаў CCR/Гамільтана-Пэры — паводле мандату ROADMAP §2 «толькі для праверкі, дзе статыстычныя мадэлі сістэматычна памыляюцца». Мішэнь — знакавая памылка CCR на яго адзіным out-of-sample акне (2019→2026), імпартуецца з рухавіка forecast. Гэта дыягностыка, а не канкуруючы прагноз і не інструмент на 50 гадоў. Прагон дэтэрмінаваны (сеяны Монтэ-Карла) — узнаўленне дае байт-у-байт тыя ж лікі.

Версіі

v1.0.0 · 2026-07-12 · git-тэг artifact-mlchallenger-v1.0.0

Першы рэліз (этап 8). Бустынг прадказвае 33% дысперсіі CCR-астатку па-за выбаркай (OOF R²=0,33; паўторная CV 0,30–0,34; перастановачны нуль p=0,005), з іх +13 п.п. — экзагенны сігнал над структурай. Дамінуе міграцыйнае сальда 2015–2019 (адзіная прыкмета відавочна па-за нуль-паласой): кагортная мадэль структурна не бачыць міграцыйную дынаміку — недаацэньвае прыгарады з прытокам (Смалявіцкі +8,7%), пераацэньвае раёны мінулага буму (Мінскі −9,2%). MAPE (паніжана): CCR 2,19% → CCR+ML 1,67% → наіў 2,84%. Сумленнасць убудавана: LOO-па-абласцях CV, перастановачны нуль, інварыянт «на перамяшанай мішэні сігналу няма». 16 кантрольных метрык.

Склад

by-maps-mlchallenger-v1.0.0/
├── README.md · AGENT.md · LIMITATIONS.md · PROVENANCE.md · CHANGELOG.md
├── manifest.json                     машиночитаемое описание (sha256, допуски)
├── sources/registry.csv              провенанс 12 признаков (INF-03/04/05/08 + WP-F1)
├── etl/challenger.py                 весь расчёт: панель, бустинг, нуль, важности (stdlib)
├── etl/forecast/                     движок CCR (мишень = его OOS-ошибка): sub.py +
│                                     backtest_sub.py + ccmpp/lifetable/data/migration
├── data/curated/                     входы: перепись 2009/2019, зарплаты, смертность,
│                                     чернобыльские классы, оценки 2026
├── web/public/data/                  data.json + access/migration/nightlights.json (признаки)
├── params/assumptions.yaml           гиперпараметры и допущения с обоснованием
├── code/run.sh                       единственная точка входа (~5 минут)
├── web/public/data/mlchallenger.json итог лендинга
└── checks/                           инварианты (в т.ч. «нет ложного сигнала»), метрики

Хуткая праверка

unzip by-maps-mlchallenger-v1.0.0.zip && cd by-maps-mlchallenger-v1.0.0
bash code/run.sh          # только стандартная библиотека Python >= 3.10, ~5 минут
# == 1/3 Панель + CCR-остаток + бустинг + перестановочный нуль ==
# == 2/3 Инварианты ==   (в т.ч.: на перемешанной мишени OOF R2 падает в нуль-полосу)
# == 3/3 Сверка с заявленными результатами ==
# Все 16 контрольных метрик воспроизведены в допусках.

Жывая версія — /be/research/ml; методыка — кнопка «Методыка» на старонцы даследавання.