01 Настоящий ML / Python

История встречает
прогноз.
Решает ML.

142 года наблюдений, семь локальных моделей и второй прогнозировщик: 12 численных погодных систем, исторические аналоги и residual ML.

Период данных
1884 — 2026
Train / holdout
80 / 20
Режимы прогноза
Local / Hybrid
forecast.out
ПРОВЕРЕНО / 2026-07-17

Средняя температура на следующий день

21.33°C
на 0.47°C ниже последнего наблюдения
02 ИЮЛНАБЛЮДЕНИЯ → ПРОГНОЗ17 ИЮЛ
МОДЕЛЬAdvanced weather gradient
TEST MAE1.78°C / 10 330 дней
01 / НАБЛЮДЕНИЯ 52 062

дневных записей в активном архиве

02 / МОДЕЛИ 7

локальных кандидатов по одному протоколу

03 / TEST 10 330

будущих дней отделены от обучения

04 / API-АНСАМБЛЬ 12

численных погодных систем в hybrid-режиме

02 Наблюдения / 1884—2026

Один ряд.
Все сигналы.

Средняя температура, диапазон min/max и осадки из рабочего CSV. Выберите период и изучите любой день.

weather_1884_2026.csv Последний наблюдаемый период
15 ИЮН 2026 16.7°C мин 13.7° / макс 21.0° осадки 0.0 мм
средняя за день диапазон min — max осадки
СЛОВАРЬ ПРИЗНАКОВ / 21

Поля, которые уже создает data.py

datetemp_avgtemp_mintemp_max wind_speedwind_speed_deviationprevious_temp_avg previous_temp_minprevious_temp_maxprevious_wind_speed previous_wind_speed_deviationtwo_days_ago_temp_avg three_day_temp_avgseven_day_temp_avgtemp_change season_sinseason_cosseason_sin_2 season_cos_2season_sin_3season_cos_3
КЛИМАТ ПО МЕСЯЦАМ Средняя температура · весь архив
52 062 ДНЕВНЫХ НАБЛЮДЕНИЯ

03 Оценка / MAE

Семь моделей.
Один честный split.

Каждая модель проходит один хронологический holdout. Побеждает минимальная MAE на последних 20%.

СРАВНЕНИЕ МОДЕЛЕЙMAE · шкала 1.75—2.10°C
РАННЯЯ ОСТАНОВКАФактические эпохи / лимит 100 000
ВРЕМЕННОЙ SPLITХронологически / без shuffle
TRAIN41 320 дней1884-01-08 → 1998-04-04
TEST10 330 дней1998-04-05 → 2026-07-16

Будущие наблюдения не попадают в train. Порядок времени сохраняется.

04 Гибридный прогноз / live API

Двенадцать систем.
Один слой коррекции.

Численные прогнозы задают baseline. Исторические аналоги добавляют локальный контекст, а ridge ML учит оставшуюся ошибку, не затрагивая recent audit.

LIVE-ПРОГОН / 18 ИЮЛ 2026Прогноз на календарный день
HYBRID ГОТОВ
19 ИЮЛ 2026 21.02°C

Эмпирический интервал 80%20.20 — 21.83°C

ЭВРИСТИКА22.22° + API BASELINE21.08° + ML-КОРРЕКЦИЯ−0.066° = ПРОГНОЗ21.02°
BACKTEST / MAE Validation против независимого recent audit
МЕНЬШЕ — ЛУЧШЕ / °C
validation recent audit Последний изолированный прогон · 919 дней калибровки
01API-АРХИВс 01 янв 2024

Прошлые прогоны моделей сопоставляются с наблюдениями станции.

02TRAINдо 30 сен 2024

Residual target обучается только на более ранних датах.

03VALIDATION01 окт 2024 — 30 июн 2025

Здесь выбираются alpha и доля residual-коррекции.

04RECENT AUDITс 01 июл 2025

Итоговая проверка качества не меняет настройки модели.

05 Изученные веса / локальная модель

Что двигает
прогноз.

Компактная модель с шестью признаками показывает интерпретируемые коэффициенты. Справа — положительные, слева — отрицательные, ноль остается видимым.

WEATHER FEATURES GRADIENTКомпактная модель · изолированный прогон
bias +0.078

06 Архитектура / два пути

Локально — когда нужно.
Hybrid — когда доступен API.

Оба прогноза начинают с одной длинной локальной истории. Первый сохраняет результат в файл, второй получает календарное «завтра» через live API.

01data.py

Загрузить и собрать признаки

pandas читает 142 года, заполняет пропуски ветра и создает лаги, rolling windows и три сезонные гармоники.

52 062 → 51 650
02preprocessing.py

Хронологический split

Первые 80% идут в train, последние 20% остаются нетронутой проверкой на будущем отрезке.

порядок сохранен
03training.py

Один контур оценки

Семь моделей обучаются и сравниваются через общий слой оркестрации.

7 кандидатов
04gradient_model.py

Advanced-градиенты

Модель с 14 признаками использует матричные операции NumPy, свой цикл loss и early stopping.

векторизовано
05api_weather_model.py

Собрать API baseline

Двенадцать численных систем корректируются по смещению и взвешиваются по свежей реальной ошибке.

12 источников
06api_weather_model.py

Выучить residual

Исторические аналоги и 66 сигналов из API предсказывают то, что baseline все еще пропускает.

ridge ML
07reporting.py

Сохранить проверяемый результат

Local-режим пишет след в forecast.txt, hybrid выводит свой интервал и backtest.

два выхода
ПУТЬ / 01LOCAL ML
исторический CSV7 моделейtest MAEforecast.txt

Детерминированный offline-режим, привязанный к следующей дате датасета.

ПУТЬ / 02HYBRID API + ML
локальная история+12 прогнозов+эвристикаresidual ML

Прогнозирует календарное завтра и откатывается к локальным аналогам, если API недоступны.

07 Последний сохраненный local-прогноз

Одно число.
Полный след.

Это последний результат, сохраненный main.py. Он не смешивается с live hybrid-прогнозом выше.

Последнее наблюдение
16 июл 2026 / 21.8°C
Прогноз
17 июл 2026 / 21.41°C
Выбранная модель
Advanced weather gradient
Проверка текущего кода
17 июл 2026 / 21.33°C · изолировано
forecast.txtсохранен

01Next day forecast

02-----------------

03Model: Advanced weather gradient

04Last known date: 2026-07-16 00:00:00

05Forecast date: 2026-07-17

06Last temp avg: 21.8

07Predicted next temp avg: 21.41

08 Почему результат можно проверить

Доверяйте test.
Не заголовку.

Это проверяемый срез проекта, а не обещание постоянной точности.

01

Без утечки из будущего

Лаги и rolling mean используют только прошлые дни через shift(1).

02

Test идет после train

Без перемешивания: оценка показывает работу модели позже по времени.

03

Одна общая метрика

MAE приводит все семь local-подходов к одной средней ошибке в градусах.

04

Audit остается нетронутым

Hybrid-параметры выбираются на validation, свежий audit только измеряет результат.

ВЫБОР МОДЕЛИ MAE= 1n i=1n |ŷiyi|

Средняя ошибка модели, измеренная в градусах

ГРАДИЕНТНОЕ ОБУЧЕНИЕ MSE= 1n i=1n (ŷiyi)2

Loss-функция для градиентного обучения

RESIDUAL TARGET rt= yt bAPI,t

Ridge ML учит только то, что еще не поймал адаптивный API baseline

09 Бета / следующий цикл

Уже работает.
Но еще не закончено.

Текущая версия показывает оба реальных прогноза. Дальше — повторяемые результаты, тесты и история.

ГОТОВО01

Рабочий ML pipeline

Данные → признаки → модели → оценка → прогноз.

ГОТОВО02

Веб-досье проекта

Метрики, графики, веса и архитектура в одном интерфейсе.

ГОТОВО03

Hybrid API-модель

12 прогнозов + аналоги + адаптивный baseline + residual ridge.

ДАЛЬШЕ04

Машиночитаемые запуски

Сохранять local и hybrid-метрики, чтобы сайт обновлялся автоматически.

ДАЛЬШЕ05

История прогнозов

Сравнивать каждый прогноз с реальностью и следить за ошибкой во времени.

ДАЛЬШЕ06

Тесты и кеширование

Покрыть pipeline тестами и кешировать исторические ответы API.