01 — Дані
Усе, на чому стоїть число
База збирається з первинних джерел власними парсерами з 24 лютого 2022 року й оновлюється сама. Готові чужі датасети використані лише як незалежна звірка, не як основа.
Завантажити
*_prev
— ознаки, y_* — те, що сталося.
predictions.csv
Кожна видана оцінка з часом видачі, складом ансамблю й розміром
навчальної вибірки. Рядки, видані наживо, не перезаписуються; рядки з
model=backtest_* пораховані заднім числом і перебудовуються.
alerts_daily.csv
Добові агрегати тривог тільки по місту Києву з канонічного ряду:
кількість, хвилини, нічні хвилини. Доба, що триває, не включена.
latest.json
Те саме, що бачить сторінка: поточні оцінки, 400 діб історії й
покриття джерел. Перебудовується щочверть години.
Сирі рядки як вони є
Останні доби з daily_features.csv, без обробки.
Прокручується вбік.
Звідки це береться
| Що | Джерело | Період | Повнота |
|---|---|---|---|
| Тривоги м. Київ | реєстр КМДА kyiv.digital | 25.02.2022 → | повна |
| Тривоги область і 7 районів | власний парсер @air_alert_ua | 15.03.2022 → | повна |
| Зведення ПС, треки на Київ | власний парсер @kpszsu | канал з 2019, придатна розмітка з 2024 | 79% зведень розібрано |
| Зльоти носіїв (МіГ-31К, Ту-95/160) | той самий канал | 2023 → | у 2022 не публікувались |
| Погода погодинна, 20 показників | Open-Meteo ERA5 | 24.02.2022 → | повна |
| Календар: свята, тривалість ночі | розрахунок | 2022–2027 | повна |
Дві часові умовності
Час зберігається в UTC. Доба рахується двома способами, і для всієї добової аналітики використовується друга:
kyiv_day(ts) — календарна доба за київським часом
raid_day(ts) — доба нальоту: з 12:00 до 12:00, підписана датою початку
Причина проста: наліт 22:00 → 05:00 це одна подія, а календарна північ ріже її навпіл і перетворює на дві половинчасті доби.
Чого в даних немає
Кількості ракет і дронів саме по Києву не публікує ніхто. Повітряні Сили дають точні числа за ніч по країні без розбивки по містах; КМВА і мер повідомляють наслідки, а не кількість цілей; ACLED рахує події, а не боєприпаси. Тому в базі три різні величини, які ніколи не складаються між собою:
| Величина | Що це насправді |
|---|---|
scope='ua' | точні національні числа зі зведень ПС |
*_tracks, scope='kyiv' | скільки разів зафіксовано ціль курсом на Київ — спостереження, не кількість бортів |
наслідки, scope='kyiv' | влучання, загиблі, поранені по місту |
Колонки «20 ракет на Київ» бути не може. Модель, навчена на вигаданому числі, буде гіршою за модель, навчену на чесній порядковій шкалі.
Негативи
«Обстрілу не було» стверджується тільки якщо джерело того дня доведено працювало (≥ 5 повідомлень у каналі за добу). Інакше збій парсера або мовчання каналу перетворилися б на «атаки не було» — найгірший тип брудних даних, бо непомітний: розмітка виглядає повною.
Відомі обмеження цих даних
- Голосує одне джерело. Мітку «атака» формує лише канал Повітряних Сил. Наслідки по місту (влучання, постраждалі) не збираються, тож заявленої перехресної перевірки трьома трактами фактично немає.
- 2022–2023 майже без розмітки. Формат супроводу цілей склався у 2024; раніші доби позначені як «невідомо», а не як «атаки не було», і в навчання не входять.
- Треки — це повідомлення, а не борти. Їх кількість залежить від того, наскільки докладно канал описує обстановку, і росте з роками.
- Погода в CSV — фактична. Для прогнозу вона непридатна (її ще не існує на момент відсічки), тому в модель не подається.