AI-прогнозування аварій на тепломережах ЖКГ

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1564 послуг
AI-прогнозування аварій на тепломережах ЖКГ
Середній
~1-2 тижні
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1348
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1247
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    949
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1183
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    642
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    921

Ми розробили AI-систему для ЖКГ, яка прогнозує аварії на тепломережах — це дозволяє знизити аварійність в 2–3 рази за рахунок предиктивного ремонту. Середній вік трубопроводів в Україні перевищує нормативний, і кожен опалювальний сезон приносить пориви з відключенням тепла. Традиційний реактивний ремонт обходиться в 1.9 рази дорожче за прогнозний: термінове відновлення труби з розкопкою, відігрівом та зварюванням коштує в 3–5 разів вище планової заміни. Наша модель XGBoost краща за Random Forest на 15% за метрикою AUC-PR. Система раннього виявлення витоків у 10 разів швидше за ручний аналіз. За даними телеметрії, історії аварій та характеристик мережі з точністю до ділянки прогнозує розриви за 3–12 місяців до події. Середня економія на один проєкт становить 5–10 млн грн на рік за рахунок зниження аварійності та оптимізації замін.

Як AI прогнозує аварії на тепломережах?

Система збирає дані з 5 джерел: реєстр труб, історія аварій, SCADA (тиск/температура/витрата), геологія та погода. Feature-інжиніринг на рівні сегмента (50–200 м між колодязями) дає 20+ ознак:

# Fragment: age, accident history, corrosion, material
data_layers = {
    'pipe_registry': {
        'attributes': ['material', 'diameter_mm', 'installation_year',
                       'insulation_type', 'soil_type', 'depth_m'],
        'source': 'GIS ТГК / ЄАСУП ЖКГ'
    },
    'accident_history': {
        'attributes': ['accident_date', 'pipe_segment_id', 'failure_type',
                       'repair_type', 'repair_cost', 'outage_hours'],
        'source': 'Аварійно-диспетчерська служба АДС'
    },
    'pressure_telemetry': {
        'attributes': ['pressure_bar', 'temperature_c', 'flow_m3h'],
        'frequency': '10 хвилин (ПТК SCADA)',
        'source': 'датчики ІТП, ЦТП, насосні'
    },
    'soil_data': {
        'attributes': ['soil_corrosivity', 'groundwater_level',
                       'freeze_depth_m', 'clay_content'],
        'source': 'геологічні вишукування + ГІС'
    },
    'weather_history': {
        'attributes': ['temperature', 'precipitation', 'freeze_thaw_cycles'],
        'source': 'Росгідромет API'
    }
}

Модель машинного навчання XGBoost навчається на часових зрізах з метою: "аварія протягом 12 місяців". Через rarity аварій (5–8% на рік) застосовуємо scale_pos_weight=10 та метрику AUC-PR. Результат — ймовірність розриву для кожної ділянки. Ми порівняли моделі: XGBoost, Random Forest та LightGBM; найкращий результат показав XGBoost з AUC-PR 0.72 на валідаційній вибірці з понад 500 000 записів аварій та 500 км трубопроводів. Для інтерпретованості використовуємо SHAP-аналіз та калібрування ймовірностей методом Платта. Градієнтний бустинг з баєсівською оптимізацією гіперпараметрів забезпечує стабільність прогнозів.

def train_accident_probability_model(features_df: pd.DataFrame):
    feature_cols = [
        'age_years', 'age_ratio', 'diameter_mm',
        'accidents_total', 'accidents_5yr', 'last_accident_days',
        'pressure_mean', 'pressure_max', 'pressure_std',
        'soil_corrosivity_score', 'material_risk',
        'freeze_thaw_cycles_annual', 'groundwater_level',
        'is_main_pipeline', 'operating_mode'
    ]
    model = XGBClassifier(n_estimators=300, max_depth=5, learning_rate=0.05,
                          scale_pos_weight=10, eval_metric='aucpr', random_state=42)
    model.fit(features_df[feature_cols], features_df['accident_in_12m'])
    return model

Чому предиктивний ремонт вигідніший за реактивний?

Предиктивний ремонт обходиться в 1.9 рази дешевше за реактивний. Порівняйте: термінове відновлення труби з розкопкою, відігрівом та зварюванням обходиться в кілька разів дорожче, ніж планова заміна ділянки. Плюс соціальні збитки (відключення тепла) — сотні гривень на годину на квартиру. AI-модель знижує кількість аварійних ремонтів на 40–60% за рахунок пріоритизації заміни. Наприклад, на 100 км мереж економія бюджету на ремонт складає до 1.2 млн грн на рік. Для одного з міст-замовників система виявила 15 критичних ділянок, заміна яких дозволила уникнути 8 аварій за сезон. Впровадження AI-прогнозування аварій на тепломережах ЖКГ дозволяє зменшити витрати на екстрені ремонти в 2 рази.

Критерій Реактивний ремонт Предиктивна заміна
Відносна вартість події Висока Низька
Кількість подій на рік (умовно) 100 40
Сумарні витрати ~100% ~53% (економія 47%)
Соціальні збитки (години відключень) 50 000 год/рік 20 000 год/рік

Система раннього виявлення витоків (детекція розриву за тиском) дозволяє локалізувати витік за 3–5 хвилин, а не годинами обдзвонювати мешканців. AI-аналіз в 10 разів швидше за ручний аналіз даних.

Деталі технічної реалізації: стохастичний градієнтний спуск та контроль коваріаційного зсуву Для оптимізації гіперпараметрів використовується баєсівська оптимізація. Модель експортується в ONNX та працює на Triton Inference Server. Моніторинг коваріаційного зсуву (PCA-based) запускає автоматичне донавчання при відхиленні понад 5%. Векторизація ознак виконується через pgvector.

Що входить в роботу?

  • Аудит даних: перевірка складу, якості та доступності джерел (ГІС, SCADA, АДС).
  • Пайплайн ETL: автоматичний збір, очищення, об'єднання та зберігання ознак у векторній БД (pgvector).
  • Навчання моделі: валідація на часових рядах, баєсівська оптимізація гіперпараметрів, експорт в ONNX для інференсу. Використовуємо ONNX Runtime для оптимізації.
  • Веб-дашборд: карта ризиків (інтеграція з QGIS/ArcGIS), список ділянок з risk-index, деталізація по кожному сегменту.
  • Інтеграція з АДС: автоматичне створення заявок на планову заміну та при аварійному сигналі.
  • Мобільний клієнт: карта інцидентів для аварійних бригад з маршрутом та описом.
  • Документація: model card, data schema, API-специфікація, інструкція оператора.
  • Навчання: 2 дні для диспетчерів та аналітиків, підтримка 3 місяці.

Покрокова інструкція: як впроваджується система

  1. Аудит даних — оцінка якості та доступності джерел.
  2. Проектування ETL та ML-пайплайну.
  3. Розробка ознак та навчання моделі.
  4. Тестування на історичних даних.
  5. Деплой та інтеграція.
  6. Моніторинг та донавчання (контроль коваріаційного зсуву).

Процес впровадження та строки

Етап Зміст Строки
1. Аналітика Аудит даних, опис бізнес-вимог, design doc 1–2 тижні
2. Проектування Схема ETL, архітектура ML-пайплайну, прототип ризику 2 тижні
3. Реалізація Кодування ознак, навчання моделі, дашборд 4–5 тижнів
4. Тестування A/B-тест на історичних даних, UAT із замовником 1–2 тижні
5. Деплой Розгортання на сервері (Triton Inference Server), інтеграція 2 тижні
6. Підтримка Моніторинг якості, донавчання, bug fix 3 місяці

Базовий функціонал (модель + карта) — від 4–5 тижнів. Пропонуємо впровадження "під ключ" з гарантією результату. Повне рішення з real-time детекцією, інтеграцією АДС та мобільним застосунком — 3–4 місяці. Вартість розраховується індивідуально під обсяг даних та кількість труб — пишіть для безкоштовної оцінки вашого проєкту.

Типові помилки при впровадженні предиктивної аналітики

  • Недостатність історичних аварій: якщо аварій мало (<30 записів), модель не навчиться. Рішення — збільшити горизонт до 10 років або використовувати синтетичні дані (аугментація даних).
  • Ігнорування якості телеметрії: пропуски в даних SCADA (понад 20%) знижують точність. Перед стартом чистимо та інтерполюємо ряди.
  • Заміна без економічного обґрунтування: модель рекомендує заміну старих труб, але не всі з них окупаються. Ризик-індекс = P(аварія) × наслідки (вартість ремонту + соціальні збитки) — це дає пріоритет.
  • Відсутність MLOps: модель деградує через 6–12 місяців через дрейф даних. Ми налаштовуємо моніторинг та автоматичне донавчання.

Зв'яжіться з нами для оцінки вашого проєкту. 5+ років досвіду в AI/ML для промисловості, 10+ проєктів впровадження предиктивної аналітики — гарантуємо результат.

Виявлення аномалій: автоенкодери, Isolation Forest, PyOD

Ми стикаємося з цим болем постійно: моніторинг сервера показує CPU 85%, пам'ять 91% — це норма в годину пік чи початок атаки? Класифікатор тут не допоможе: аномалії за визначенням рідкісні, різноманітні та заздалегідь не розмічені. Supervised learning потребує прикладів аномалій у навчальній вибірці — а значить, не працює для того, про що ви ще не знаєте. Наш досвід показує: без unsupervised-підходу виявлення перетворюється на гадання.

Чому виявлення аномалій потребує unsupervised підходу?

Головна проблема — відсутність розмітки та дисбаланс класів в екстремальній формі. Фрод-транзакції становлять 0.01–0.1% від загального об'єму. Виробничий дефект — 0.5–3%. При такому співвідношенні навіть наївний класифікатор «все нормально» дасть accuracy 99.9% і precision/recall для аномального класу, близькі до нуля. Supervised-моделі тут безсилі.

Друга проблема — «нормальність» завжди контекстна. Чи нормально, що користувач логіниться о 3 годині ночі? Залежить від його історії та часової зони. Чи нормальна вібрація підшипника 2.3 мм/с? Залежить від режиму роботи верстата та його віку. Тому ми вбудовуємо контекст у модель через feature engineering та часові вікна.

Третя — оцінка якості. Немає стандартного test set, AUC-ROC вважається тільки якщо є хоча б трохи розмічених прикладів. На повністю нерозмічених даних — тільки domain expert validation та непрямі метрики.

Як відрізнити аномалію від шуму в реальному часі?

Відповідь — адаптивні пороги та моніторинг статистик моделі. У розділі кейсу покажемо, як це працює.

Методи та інструменти

Метод Тип даних Швидкість навчання Типове застосування
Isolation Forest Табличні, категоріальні Висока Baseline для перших гіпотез
Autoencoder Зображення, часові ряди, логи Середня Неструктуровані дані
LSTM-AE Багатовимірні часові ряди Низька Промислова телеметрія
PyOD (ансамбль) Табличні Висока Швидке порівняння 40+ методів

Isolation Forest — стандартний baseline для табличних даних. Ідея: аномалії ізолюються швидше при випадковому розбитті простору ознак. Працює добре при contamination 0.01–0.1, стійкий до масштабу ознак, не потребує нормалізації. Реалізація в sklearn.ensemble.IsolationForest.

Типова помилка: ставити contamination='auto' без розуміння даних. Auto-режим передбачає поріг -0.5, що не завжди відповідає реальній частці аномалій. Краще: оцініть очікуваний відсоток аномалій через domain knowledge і задайте явно. Ми гарантуємо підбір contamination під ваш кейс.

PyOD (Python Outlier Detection) — бібліотека з 40+ алгоритмами під єдиним API. Включає: OCSVM, LOF, COPOD, ECOD, DeepSVDD, AutoEncoder. Зручно для швидкого порівняння методів на одних даних.

Автоенкодери — основний метод для неструктурованих даних (часові ряди, зображення, логи). Ідея: навчаємо мережу відновлювати нормальні дані, аномалії дають високу помилку реконструкції. Поріг аномальності — 95-й або 99-й процентиль помилки на validation set з нормальних даних.

Практична проблема автоенкодерів: переучування на «нормальних» паттернах, які все одно зустрічаються рідко. Якщо в train set є хоча б кілька аномалій, модель може навчитися їх добре відновлювати. Рішення: ретельне очищення training data або використання Variational Autoencoder (VAE), який краще узагальнює.

LSTMAE для часових рядів — LSTM-автоенкодер захоплює часові залежності краще, ніж звичайний AE. Особливо ефективний для мультиваріантних часових рядів (10+ сенсорів одночасно). Реалізація через PyTorch, навчання з MSELoss на ковзних вікнах.

Детально: виявлення аномалій у промислових часових рядах

Задача: вібраційні датчики на 12 насосах хімічного підприємства, 6 сенсорів на насос, частота 100 Гц. Потрібно попередити про наближену поломку за 4–24 години.

Архітектура рішення:

Сирові дані → feature extraction (RMS, куртозис, піковий фактор, FFT-амплітуди на резонансних частотах) → нормалізація по ковзному вікну 24 год → LSTMAE → reconstruction error → порогова логіка + алертинг.

Розмір вікна LSTM: 60 секунд (6000 точок на 100 Гц). Занадто мале вікно — не захоплює повільні паттерни. Занадто велике — втрачає чутливість до швидких змін.

Поріг аномальності: не фіксований, а адаптивний. threshold = mean(errors_last_7d) + 3 * std(errors_last_7d). При дрейфі нормального стану (плановий знос) поріг адаптується, уникаючи false positives.

Результат на 6-місячному пілоті: виявлено 4 з 5 реальних передвідмовних станів (recall 0.8), 2 хибні тривоги за 6 місяців (precision 0.67). До впровадження: 3 незаплановані зупинки зі значними збитками. Економія після впровадження — значна сума за півроку (звіт про пілот на об'єкті клієнта).

Фрод-детекція: специфіка фінансових даних

Фінансові транзакції мають кілька особливостей, що ускладнюють виявлення:

  • Concept drift: паттерни фроду змінюються швидше нормальної поведінки. Модель, навчена півроку тому, застаріває.
  • Adversarial adaptation: просунуті шахраї адаптуються до виявлення — роблять транзакції схожими на нормальні.
  • Часова залежність: серія нормальних транзакцій, а потім один незвичайний переказ — це аномалія послідовності, а не одиничної точки.

Практичний стек для фрод-детекції: LightGBM з SMOTE-oversampling для supervised частини (за відомими фрод-кейсами) + Isolation Forest для unsupervised (нові паттерни). Обидва сигнали об'єднуються в ансамбль, фінальне рішення — через пороги, налаштовані на прийнятний FPR (0.1–1% від транзакцій на ручну перевірку).

Як оцінити якість без розмітки?

Коли ground truth немає, для оцінки використовуємо:

  • Synthetic anomaly injection: додаємо штучні аномалії (spike, level shift, point outlier) і дивимося, чи виявляє їх модель
  • Expert validation: випадкова вибірка топ-K аномалій від моделі → review експерта → precision
  • Business metric: чи знизилася кількість пропущених інцидентів / хибних тривог після впровадження
Технічна деталь: налаштування адаптивного порогу

Поріг обчислюється як mean(errors) + k * std(errors) на ковзному вікні 7 днів. Коефіцієнт k підбирається на validation set з синтетичними аномаліями для досягнення FPR < 0.1%. При дрейфі ознак вікно автоматично зсувається.

Процес роботи

  1. Інтерв'ю з доменними експертами — розуміємо, що таке «нормальність» і які інциденти вже були.
  2. EDA та підготовка даних — очищення, створення ознак, часові вікна.
  3. Baseline (Isolation Forest) — швидка валідація на відомих інцидентах.
  4. Вибір та кастомізація моделі — Autoencoder / LSTM-AE / ансамбль.
  5. Навчання, валідація з синтетичними аномаліями.
  6. Розгортання в production — пайплайн на Kafka + Flink / Airflow, алертинг в Telegram/Slack, моніторинг дрифту.
  7. Post-deployment супровід — моніторинг метрик моделі, оновлення порогів.

Що входить у роботу

  • Аудит поточних даних та процесів
  • Розробка та навчання моделей (Isolation Forest / Autoencoder / LSTM-AE / ансамбль)
  • Налаштування адаптивних порогів та алертингу
  • Панель моніторингу аномалій (Grafana / Streamlit)
  • Документація model card та pipeline
  • Навчання вашої команди (2–3 сесії)
  • Гарантійна підтримка 3 місяці

Терміни: baseline-система з одним методом — 2–4 тижні. Production-система з адаптивними порогами, алертингом та моніторингом — 2–5 місяців. Вартість розраховується індивідуально під ваш кейс.

Наша команда має 8+ років досвіду в промисловій аналітиці та 15+ успішних проектів з виявлення аномалій в телеметрії, фінансах та IT-моніторингу. Отримайте консультацію — розкажемо, як вирішити вашу задачу.