fire_hazard
Описание
Разработка модели по предсказанию природной пожароопасной обстановки в регионах.
Предсказание пожароопасности в Свердловской области
О проекте
Проект представляет собой набор Python функций для оценки пожароопасности. Для предсказания используются географические данные, исторические данные (в виде обученной модели), актуальные температурные данные, а также данные с сервиса windy
Функциональность
- Загрузка данных
иweather.xslx, которые обновляются ежедневноwindy.csv - Загрузка конфигурационных данных, включающих в себя разные модели и настроичные файлы, которые можно редактировать удаленно
- Построение предсказание модели для каждого гекса 5 уровня
Ключевые моменты скрипта
Загрузка нужных данных по ссылкам
- Архив с метаданными, который включает в себя
- набор обученных моделей машинного обучения на исторических данных
- георграфические признаки для всех точек используемых для предсказания
- набор настроичных файлов в которых могут удаленно изменяться коэффициенты признаков добавляемых в модель в ручном формате, а также пороги для перевода предсказания модели в дискретный формат
- Эксель файл с актуальными данными о температуре Файл обновляется ежедневно и хранится на сервере ИРИТ-РтФ УрФУ
Данные содержат в себя погодные показатели на текущую дату, а также прогнозные значение на 5 дней вперёд
- CSV-файл c актуальными данными сервиса windy
- влажность почвы
- засушливость почты
- порывы ветра
- грозовые явления
Данные содержат в себя погодные показатели на текущую дату, а также прогнозные значение на 5 дней вперёд
Считывание данных и предварительная обработка погодных данных
Происходит считывание данных из эксель файла
В результате отработки функции дополнительно происходит:
- расчет относительной влажности и перевод её в Точку Росы по формуле Точка Росы= Температура -(1-Отн.Влажность)/(0.05)
- расчет КППО для текущей даты на основе получаемых данных Температуры, а также вычисляемой Точкой Росы
- расчет кумулятивного КППО за несколько дней, который включает добавление КППО за прошлый день при низком уровне осадков
- расчет оконных значений температурных признаков
- сохранение текущих показателей в файл
чтобы на следующий день была возможность продолжить кумулятивный расчет КППОold_temp_region.csv
Расчет предсказаний модели
Считанные погодные данные используются для построения предсказаний
В результате отработки функции последовательно происходит:
- перебор каждой даты из переменной result
- объединение географических данных с погодными данными для конкретной даты (георграфические данные можно обновлять удаленно, при обновлении нужно указать в переменную
название файла для считывания, а в спискеname_featuresможно изменять набор интересующих нас признаков)features_interest - загрузка текущей модели, обученной на исторических данных (модель можно обновлять удаленно, при обновлении нужно указать в переменную
название файла для считывания)name_model
- модель представляет собой объект
библиотеки scikit-learn и включает в себя блок предварительной обработки числовых и категориальных признаков, а также непосредственно обученная модельPipeline
- получение предсказаний загруженной модели
- объединенные георграфические и погодные данные подставляются в модель
- используется метод
для получения непрерывного распределения предсказаний в диапазоне от 0 до 1predict_proba - далее происходит преобразование обратное логистической функции
- улучшение предсказания модели путем добавления данных из сервиса windy с использованием линейных коэффициентов (именно ради такой возможности и делалось преобразование в предыдущем пункте)
- линейные коэффициенты могут быть также исправлены удаленно, при изменении нужно указать в переменную
название файла для считыванияconfig
- сохранение предсказаний для каждой даты
Подготовка выходных файлов
Полученные предсказания модели подготавливаются для дальнейшей отправки на сервис визуализации
Основной результат отработки функции :
- агрегация предсказаний модели по гексам пятого уровня с использованием минимума, среднего и максимума
- перевод непрервыного предсказания модели в дискретный т.н. КПО ИИ (по аналогии с переводом КППО в КПО)
- пороговые коэффициенты перевода могут быть также исправлены удаленно, при изменении нужно указать в переменную
название файла дляlims
- сохранение агрегированных предсказаний в csv формате