В этом репозитории хранится исходный код по построению предиктивной модели на основе градиентного бустинга концентрации загрязняющих веществ (CO, NO2, NO, PM2.5, PM10) по городу Москва за 2020 календарный год рамках задачи хакатона ЛЦТ. А также исходный код по моделированию распространения загрязняющих веществ на территории города Москва. В папке models
хранятся обученные модели.
Для моделирования загрязняющих вещества по территории города была впервые применена уникальная архитектура нейронной сети на основе модифицированных автоэнкодеров. Процесс обучения проходил в два шага:
- Интерполяция данных со спутниковых снимков космической программы Copernicus
- Прогон модели на парах векторов (измерения со спутника и с датчиков)
Архитектура сети - 4 линейных слоя с активационой функцией reLu. Размерность каждого слоя следующая: 60-128-256-800. Несмотря на относительно простую архитектуру, нейросеть продемонстрировала хорошую способность к воспроизведению динамики движения газа в атмосфере города. На графике ниже показана динамика концентраций СО в городе Москва вечером 21 сентября 2020 года:
При дальнейшем продолжении исследований в этой области, качество моделирования вырастит.
Скачайте и настроение виртуальное окружение:
git clone https://github.com/cut4cut/air_tracer.git
cd air_tracer
python -m venv venv
. venv/bin/acivate
pip install -r requirements.txt
Для запуска обучения достаточно ввести комманду:
python air_tracer -f y -d <путь к папке с данными> -s <путь к папке, где сохранить модель>
Для тестовго предсказания c дефольтными параметрами:
python air_tracer -f n
Чтобы получить предсказания по NO для поста 'Марьино' на момент времени 21-09-2021 15:00:
python air_tracer -f n -a "Марьино" "NO" "21-09-2021 15:00"
Также можно запросить описание всех комманд:
python air_tracer -h
Решение собиралось и тестировалось на macOS 10.15.7 (19H1419) 1,6 GHz 2‑ядерный процессор Intel Core i5.
Скачайте и настроение виртуальное окружение:
git clone https://github.com/cut4cut/air_tracer.git
cd air_tracer
python -m venv venv
. venv/bin/acivate
pip install -r requirements.txt
Запустить сервер с jupyter lab
командой:
jupyter lab
В папке notes
хранятся файлы:
03_prep_data_AEnetwork.ipynb
- процесс подготовки датасета для обучения04_AEnetwork.ipynb
- процесс обучения и сохранения модели
Решение собиралось и тестировалось на macOS 11.3.1 (20E241) 2,6 GHz 6‑ядерный процессор Intel Core i7.