Разработка AI-системы мониторинга качества воздуха

В городах с плотной застройкой точечные датчики дают разрозненные показания. Управленцам нужна карта концентраций с шагом 100 м и точный прогноз на двое суток. Детерминированные модели рассеивания требуют десятки параметров и часто ошибаются на 50–70% в условиях переменного ветра. ML-модели, обученн

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1267
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1006

В городах с плотной застройкой точечные датчики дают разрозненные показания. Управленцам нужна карта концентраций с шагом 100 м и точный прогноз на двое суток. Детерминированные модели рассеивания требуют десятки параметров и часто ошибаются на 50–70% в условиях переменного ветра. ML-модели, обученные на исторических данных, снижают ошибку до 15–20%. За 5 лет выполнили 20+ проектов по AI-мониторингу в городах с разным климатом и плотностью застройки.

Архитектура системы

Данные → Обработка → Хранение → Аналитика → Визуализация Данные: ├── Государственные посты (Росгидромет, ФБУ ЦЛМ) ├── IoT-сенсоры (собственные/партнёрские) ├── Спутник (Sentinel-5P, MODIS) ├── Мобильные станции (автомобили, велосипеды) └── NWP метеопрогнозы (Росгидромет API, Open-Meteo) Обработка: ├── Калибровка LCS (low-cost sensors) ├── Контроль качества (QA/QC) ├── Пространственная интерполяция └── Прогноз качества воздуха Хранение: └── TimescaleDB (temporal) + PostGIS (spatial) Аналитика: ├── AQI расчёт ├── Trend analysis ├── Source attribution └── Health impact estimation Визуализация: └── Веб-портал + мобильное приложение 
Компонент Технология Назначение
Сбор данных MQTT, LoRaWAN Приём данных с датчиков и API
Хранение TimescaleDB + PostGIS Временные ряды + пространственные данные
ML-модели XGBoost, LSTM, U-Net Интерполяция, прогноз, source attribution
Визуализация Leaflet, React Native Карта города и мобильное приложение

Как работает ML-интерполяция?

Станций всегда меньше, чем нужно. Для карты качества воздуха на уровне 100 м нужна интерполяция. Kriging уступает ML-интерполяции на 30% по точности, особенно в районах с локальными источниками (заводы, дороги). Мы используем XGBoost с пространственными ковариатами: расстояние до трасс, NDVI, плотность застройки.

Метод Точность (RMSE) Разрешение Требования к данным
Kriging 25–30 мкг/м³ Зависит от сети Только станции
XGBoost 10–15 мкг/м³ 100 м Станции + ковариаты
U-Net 8–12 мкг/м³ 30–100 м Спутник + станции
def spatial_air_quality_model(station_readings, spatial_covariates): """ Обучаем на station_readings Предсказываем для всей городской сетки 100×100 м """ X = pd.merge(station_readings, spatial_covariates, on=['lat', 'lon']) # Spatial features X['distance_to_highway'] = ... X['distance_to_industry'] = ... X['ndvi'] = ... # озеленение X['building_density'] = ... # плотность застройки model = XGBRegressor().fit(X, X['pm25']) return model # Предсказание для всей сетки города grid = create_city_grid(city_boundary, resolution=100) grid['predicted_pm25'] = model.predict(grid[feature_cols]) 

Deep Learning для spatial mapping: U-Net с мультиспектральными спутниковыми снимками + station readings → карта PM2.5 разрешением 30-100 м. Обучение на одновременных данных станций и спутниковых снимков. Экономия на обслуживании датчиков — до 40%.

Почему LSTM лучше традиционных моделей?

Основные факторы прогноза:

  • Метеорология: ветер (скорость и направление определяют перенос), стабильность атмосферы (mixing height), осадки (вымывание PM)
  • Источники: промышленные выбросы, транспорт, отопление
  • Фотохимия: образование O3 и вторичных частиц (PM2.5)

LSTM + Weather Attention модель:

class AirQualityForecastModel(nn.Module): def __init__(self): self.pollutant_encoder = LSTM(n_pollutants, 64) self.weather_encoder = LSTM(n_weather_vars, 64) self.cross_attention = CrossAttention(64, 64) self.decoder = nn.Linear(128, n_pollutants * forecast_hours) 

Горизонт: 24/48/72 часа. MAPE достижимая: < 15% для 48-часового прогноза PM2.5.

Индекс качества воздуха (АКИ/AQI)

Расчёт АКИ по стандарту «Методика расчета индекса загрязнения атмосферы» (РД 52.04.667):

def calculate_aki(concentrations: dict) -> float: """ АКИ = Σ (C_i / PDK_i_ss) для i загрязнителей При АКИ < 5 — нормативное качество воздуха """ aki = 0 for pollutant, conc in concentrations.items(): pdk = PDK_MEAN_DAILY[pollutant] aki += conc / pdk return aki 

Цветовая кодировка:

  • Зелёный: АКИ < 5 (норма)
  • Жёлтый: 5-7 (незначительное загрязнение)
  • Оранжевый: 7-14 (умеренное)
  • Красный: > 14 (высокое, опасно для здоровья)

Подробнее о Индексе качества воздуха.

Мобильное приложение для горожан

Функции:

  • Текущий AQI в точке геолокации
  • Карта качества воздуха города
  • Прогноз AQI на 24/48 часов
  • Рекомендации: безопасно ли гулять/заниматься спортом
  • Уведомления при превышении порогов

Персонализированные рекомендации:

  • Астматики / аллергики: более строгий порог уведомлений
  • Велосипедисты: оптимальное время/маршрут с учётом AQI
  • Родители с детьми: playground quality index

Атрибуция источников

Positive Matrix Factorization (PMF) разлагает спектр химического состава PM2.5 на источники: промышленность, транспорт, бытовое отопление, природные (морская соль, пыль). Используем EPA PMF 5.0 — официальный инструмент для receptor modeling.

from scipy.optimize import nnls # G = F × C (observations = sources × contributions) # PMF минимизирует взвешенную сумму квадратов остатков # при неотрицательности F и C 

Результат: «30% PM2.5 в городе от выбросов металлургии, 40% от транспорта, 20% от бытового отопления». Это база для регуляторных решений.

Как оценить ROI от системы мониторинга?

Прямая экономия: сокращение штрафов за превышение нормативов (до $18k–26k в год в промышленных зонах), снижение затрат на лабораторные замеры (заменяются ML-интерполяцией), оптимизация работы очистных фильтров по фактической нагрузке. Косвенный эффект — рост доверия жителей и инвестиционная привлекательность города.

Пример калибровки low-cost сенсоров Используем градиентный бустинг для коррекции дрифта: модель обучается на парах показаний дешёвого датчика и референсного поста, учитывая температуру и влажность. Это снижает погрешность с 50% до 10%.

Что входит в работу

  1. Аудит данных: оценка качества и полноты имеющихся измерений, выбор оптимального стека.
  2. Проектирование архитектуры: схема потоков данных, выбор моделей, прототипирование.
  3. Калибровка сенсоров: настройка low-cost датчиков по референсным станциям.
  4. Разработка ML-моделей: интерполяция, прогноз, source attribution.
  5. Создание веб-портала и мобильного приложения: карта, AQI, алерты.
  6. Тестирование и валидация: сравнение с независимыми станциями, MAPE < 15%.
  7. Документация и обучение: передача кода, API, инструкции для экологов.
  8. Сопровождение 3 месяца: мониторинг, дообучение моделей, обновление.

Сроки: базовая IoT-сеть + AQI расчёт + карта + мобильное приложение — 8-10 недель. Система с ML-прогнозом, source attribution и regulatory API — 4-5 месяцев.

Этапы работы:

  1. Аудит данных — 1 неделя
  2. Проектирование — 1-2 недели
  3. Калибровка сенсоров — 2-3 недели
  4. Разработка ML-моделей — 3-4 недели
  5. Разработка интерфейсов — 3-4 недели
  6. Тестирование — 2-3 недели
  7. Документация и обучение — 1-2 недели

Свяжитесь — проанализируем ваши данные за 2 дня. Получите консультацию по подбору стека и оценке объёма работ. Оценим ваш проект за 2 рабочих дня. Гарантируем качество благодаря сертифицированным инженерам и 5+ годам опыта в AI-мониторинге.