fire_hazard

0

Описание

Разработка модели по предсказанию природной пожароопасной обстановки в регионах.

readme.md

Предсказание пожароопасности в Свердловской области

О проекте

Проект представляет собой набор Python функций для оценки пожароопасности. Для предсказания используются географические данные, исторические данные (в виде обученной модели), актуальные температурные данные, а также данные с сервиса windy

Функциональность

  • Загрузка данных
    weather.xslx
    и
    windy.csv
    , которые обновляются ежедневно
  • Загрузка конфигурационных данных, включающих в себя разные модели и настроичные файлы, которые можно редактировать удаленно
  • Построение предсказание модели для каждого гекса 5 уровня

Ключевые моменты скрипта

Загрузка нужных данных по ссылкам

  1. Архив с метаданными, который включает в себя
  • набор обученных моделей машинного обучения на исторических данных
  • георграфические признаки для всех точек используемых для предсказания
  • набор настроичных файлов в которых могут удаленно изменяться коэффициенты признаков добавляемых в модель в ручном формате, а также пороги для перевода предсказания модели в дискретный формат
  1. Эксель файл с актуальными данными о температуре Файл обновляется ежедневно и хранится на сервере ИРИТ-РтФ УрФУ

Данные содержат в себя погодные показатели на текущую дату, а также прогнозные значение на 5 дней вперёд

  1. CSV-файл c актуальными данными сервиса windy
  • влажность почвы
  • засушливость почты
  • порывы ветра
  • грозовые явления

Данные содержат в себя погодные показатели на текущую дату, а также прогнозные значение на 5 дней вперёд

Считывание данных и предварительная обработка погодных данных

Происходит считывание данных из эксель файла В результате отработки функции

read_new_temp
дополнительно происходит:

  • расчет относительной влажности и перевод её в Точку Росы по формуле Точка Росы= Температура -(1-Отн.Влажность)/(0.05)
  • расчет КППО для текущей даты на основе получаемых данных Температуры, а также вычисляемой Точкой Росы
  • расчет кумулятивного КППО за несколько дней, который включает добавление КППО за прошлый день при низком уровне осадков
  • расчет оконных значений температурных признаков
  • сохранение текущих показателей в файл
    old_temp_region.csv
    чтобы на следующий день была возможность продолжить кумулятивный расчет КППО

Расчет предсказаний модели

Считанные погодные данные используются для построения предсказаний

В результате отработки функции

do_everything
последовательно происходит:

  • перебор каждой даты из переменной
    result
  • объединение географических данных с погодными данными для конкретной даты (георграфические данные можно обновлять удаленно, при обновлении нужно указать в переменную
    name_features
    название файла для считывания, а в списке
    features_interest
    можно изменять набор интересующих нас признаков)
  • загрузка текущей модели, обученной на исторических данных (модель можно обновлять удаленно, при обновлении нужно указать в переменную
    name_model
    название файла для считывания)
  • модель представляет собой объект
    Pipeline
    библиотеки scikit-learn и включает в себя блок предварительной обработки числовых и категориальных признаков, а также непосредственно обученная модель
  • получение предсказаний загруженной модели
  • объединенные георграфические и погодные данные подставляются в модель
  • используется метод
    predict_proba
    для получения непрерывного распределения предсказаний в диапазоне от 0 до 1
  • далее происходит преобразование обратное логистической функции
  • улучшение предсказания модели путем добавления данных из сервиса windy с использованием линейных коэффициентов (именно ради такой возможности и делалось преобразование в предыдущем пункте)
  • линейные коэффициенты могут быть также исправлены удаленно, при изменении нужно указать в переменную
    config
    название файла для считывания
  • сохранение предсказаний для каждой даты

Подготовка выходных файлов

Полученные предсказания модели подготавливаются для дальнейшей отправки на сервис визуализации

Основной результат отработки функции

do_output
:

  • агрегация предсказаний модели по гексам пятого уровня с использованием минимума, среднего и максимума
  • перевод непрервыного предсказания модели в дискретный т.н. КПО ИИ (по аналогии с переводом КППО в КПО)
  • пороговые коэффициенты перевода могут быть также исправлены удаленно, при изменении нужно указать в переменную
    lims
    название файла для
  • сохранение агрегированных предсказаний в csv формате