Разработка нейросетевой модели для анализа спутниковых данных для оценки урожайности сельскохозяйственных культур в районах РФ.
Сычков Александр Александровчи � Научный консультанта на курсе MSU.AI - Ганичев Антон Александрович �Научный руководитель - Трошко Ксения Анатольевна
Курс: «Нейронные сети и их применение в научных исследованиях»
Введение в тему
Задача состоит в том, чтобы имея в распоряжении спутниковые снимки и данные о погоде иметь возможность оценить текущее состояние посевов, выраженное через расчетную урожайность, в любое время сезона. С помощью спутниковых снимков расчитывают т.н. Normalized Difference Vegetation Index. Это спектральный индекс, коррелирующий с густотой растительности и с содержанием хлорофила. Традиционно используется для оценки состояния растений по мультиспектральным снимкам.
С помощью метеорологических спутников и системы реанализа, можно получать сведения о погодных условиях в любой точке мира. Задача состоит в том, чтобы научиться анализировать эти данные и давать заблаговременный прогноз.
Разработка нейросетевой модели для прогнозирования урожайности
Разработка нейросетевой модели для прогнозирования урожайности
Данные, которые необходимо научиться обрабатывать, представляют собой временные ряды спектрального индекса NDVI и набора погодных параметров, доступных в системе реанализа National Centers for Environmental Prediction. Целевые значения - значения урожайности озимой пшеницы в районах России, полученные из Базы Данных Муниципальных Образований. Удалось получить информацию для 797 административных районов в период с 2007 по 2022 год.
Источник временных рядов NDVI – ВЕГА-Science. Временные ряды формируются на конкретных территориях, детектированных как маски земель, занятых озимыми культурами, на основе еженедельных композитов спектрометра MODIS. (Спутники Terra и Aqua)
Важным нюансом является то, что временные ряды имеют разную дискретность и требуют приведение к единому стандарту размерности путем усреднения или интерполяции.
Данные
Разработка нейросетевой модели для прогнозирования урожайности
Примеры временных рядов имеющихся данных
Данные
Разработка нейросетевой модели для прогнозирования урожайности
Модели
Разработка нейросетевой модели для прогнозирования урожайности
Обзор существующих решений
Модель | MSE | MAE | RMSE | R^2 |
Средняя урожайность в районе как прогноз | 69.09 | 6.46 | 8.31 | 0.55 |
Линейно регрессионная модель с индивидуальным построением для регионов, примененная ко всей тестовой выборке. | 63.06 | 6.41 | 7.94 | 0.27 |
Линейно регрессионная модель с индивидуальным построением для регионов, примененная только к регионам с высокой корреляцией ndvi_max / productive | 42.33 | 5.22 | 6.39 | 0.54 |
Разработка нейросетевой модели для прогнозирования урожайности
Предварительные опыты по использованию классических методов машинного обучения для озимой пшеницы .
Модели классического ml и их метрики для озимой пшеницы.
Модель | Комментарий | MSE | MAE | RMSE | R^2 |
Линейная модель | - | 77.324 | 6.988 | 8.793 | 0.509 |
Случайное дерево | Максимальная глубина: 30 | 45.866 | 5.179 | 6.772 | 0.696 |
Случайный лес | Глубина: 50 Деревьев: 200 | 22.436 | 3.61 | 4.737 | 0.851 |
Случайный лес | Глубина: 100 Деревьев: 200 | 22.161 | 3.603 | 4.708 | 0.853 |
Разработка нейросетевой модели для прогнозирования урожайности
Датасет v1
Модель | Комментарий | MSЕ | MAЕ |
Полносвязная нейронная сеть | Кол-во слоев: 8. Функция активации: Softplus. Эпох обучения: 200. Конфигурация: 500 нейронов в каждом скрытом слое | 26.61 | 4.03 |
Полносвязная нейронная сеть | Кол-во слоев: 15. Функция активации: Softplus. Эпох обучения: 200. Конфигурация: Первый скрытый слой имеет 200 нейронов и их количество постепенно снижается до 10 | 30.34 | 4.27 |
Полносвязная нейронная сеть | Кол-во слоев: 15. Функция активации: RеLu. Эпох обучения: 200 Конфигурация: Первый скрытый слой имеет 200 нейронов и их количество постепенно снижается до 10 | 29.32 | 4.12 |
Разработка нейросетевой модели для прогнозирования урожайности
В первом датасете одним из входных параметров была средняя урожайность в районе в прошлые годы. Она была заменена на скользящую среднюю урожайность за 5 последних лет. Кроме того, в список входных данных был добавлен скользящий тренд изменения урожайности.
В дальнейшем была написана единая библиотека, которая используется для подготовки данных для обучения и для непосредственных расчетов будущей урожайности. Это важный момент, так как использование одной библиотеки позволяет снизить риск отличий в процедуре подготовки данных. Данные для предсказания и данные для обучения должны быть подготовлены идентичным образом.
Изменения в датасете
Разработка нейросетевой модели для прогнозирования урожайности
Корреляция при традиционном методе
Разработка нейросетевой модели для прогнозирования урожайности
MSE при традиционном методе
Разработка нейросетевой модели для прогнозирования урожайности
Модель | MAE | MSE | RMSE | R^2 |
Нейронная сеть (Тестовая выборка до изменений в датасете) | 3,43 | 20,54 | 4,53 | - |
Нейронная сеть (Тестирование на ретроспективных данных до изменений в алгоритме подготовки данных) | 5,477 | 49,924 | 7,06 | 0,413 |
Нейронная сеть (Тестирование на ретроспективных данных после улучшений в коде подготовке данных) | 3.629 | 23.436 | 11.781 | - |
Линейная регрессия | 6,731 | 75,120 | 8,66 | 0,154 |
Результаты нового опыта
Разработка нейросетевой модели для прогнозирования урожайности
Модель | Комментарий | MSE | MAE | RMSE | R^2 |
Линейная модель | - | 25.74 | 3.863 | 5.074 | 0.866 |
Случайное дерево | Максимальная глубина: 50 | 53.93 | 5.511 | 7.344 | 0.719 |
Случайный лес | Глубина: 70 Деревьев: 25 | 25.144 | 3.825 | 5.014 | 0.869 |
Случайный лес | Глубина: 50 Деревьев: 200 | 24.195 | 3.727 | 4.919 | 0.874 |
Модели классического ml и их метрики для озимой пшеницы
Предварительные опыты по использованию классических методов машинного обучения после изменений в датасете
Разработка нейросетевой модели для прогнозирования урожайности
Разработка нейросетевой модели для прогнозирования урожайности
Информативность параметров для сои согласно случайному лесу
Разработка нейросетевой модели для прогнозирования урожайности
Возможности заблаговременного прогноза для озимой пшеницы
Разработка нейросетевой модели для прогнозирования урожайности
Модель | Комментарий | MSE | MAE | RMSE | R^2 |
Линейная модель | - | 10.347 | 2.496 | 3.217 | 0.685 |
Случайное дерево | Максимальная глубина: 50 | 22.285 | 3.666 | 4.721 | 0.322 |
Случайный лес | Глубина: 70 Деревьев: 25 | 11.146 | 2.58 | 3.339 | 0.661 |
Случайный лес | Глубина: 200 Деревьев: 200 | 10.941 | 2.592 | 3.308 | 0.667 |
Модели классического ml и их метрики для сои
Предварительные опыты по использованию классических методов машинного обучения для сои
Разработка нейросетевой модели для прогнозирования урожайности
Комментарий | Loss train MSE | Loss test MSE | Test MSE |
Нейросетевая модель, принимающая на вход только среднюю продуктивность. Датасет не подвергался очистке. | 18.10 | 24.70 | 3.26 |
Нейросеть, принимающая на вход среднюю скользящую урожайность, дисперсию и тренд. Датасет не подвергался очистке. | 24.65 | 25.76 | 3.88 |
Нейросеть, принимающая на вход все доступные данные. Датасет не подвергался очистке. | 13.31 | 17.24 | 3.07 |
Метрики нейронных сетей для сои
Разработка нейросетевой модели для прогнозирования урожайности
Оценка значимости параметров для сои
Разработка нейросетевой модели для прогнозирования урожайности
Возможности заблаговременного прогноза для сои
Разработка нейросетевой модели для прогнозирования урожайности
Модель | Комментарий | MSE | MAE | RMSE | R^2 |
Случайный лес | Число деревьев:25 Максимальная глубина: 70 | 27.435 | 3.787 | 5.238 | 0.793 |
Случайный лес | Число деревьев:50 Максимальная глубина: 200 | 26.361 | 3.721 | 5.134 | 0.801 |
Решающее дерево | Максимальная глубина: 50 | 53.304 | 5.381 | 7.301 | 0.598 |
Решающее дерево | Максимальная глубина: 200 | 55.051 | 5.518 | 7.420 | 0.585 |
Линейная модель |
| 31.82 | 4.258 | 5.641 | 0.760 |
Модели классического ml и их метрики для яровой пшеницы
Разработка нейросетевой модели для прогнозирования урожайности
Комментарий | Test RMSE | Loss test MSE | Test MAE |
Нейросетевая модель, принимающая на вход только среднюю продуктивность. | 7.01 | 49,04 | 5,28 |
Нейросеть, принимающая на вход все доступные данные | 5.36 | 28,35 | 3,91 |
Метрики нейронных сетей для яровой пшеницы
Разработка нейросетевой модели для прогнозирования урожайности
Оценка значимости параметров для яровой пшеницы
Разработка нейросетевой модели для прогнозирования урожайности
Возможности заблаговременного прогноза для яровой пшеницы
Разработка нейросетевой модели для прогнозирования урожайности
Культура | Скользящее среднее как прогноз [MSE] | Линейная модель [MSE] | Случайный лес [MSE] | Нейронная сеть [MSE] | Прирост точности в [%] |
Озимая пшеница | 69.83 | 25.74 | 24.195 | 22.66 | 67.54 |
Яровая пшеница | 52.06 | 31.82 | 18.985 | 19.06 | 63.38 |
Соя | 18.10 | 13.298 | 10.0491 | 8.54 | 52.81 |
Резюме опытов
Разработка нейросетевой модели для прогнозирования урожайности
Сравнение с другой результатом другой статьи
Модель | Комментарий | MSE [ц/га]^2 | RMSE [ц/га] |
CNN-RNN | Модель из исследования A CNN-RNN Framework for Crop Yield Prediction | 9.59 | 3.097 |
CNN (our) | Модель данного исследования | 8.54 | 2.922 |
Разработка нейросетевой модели для прогнозирования урожайности
План
Разработка нейросетевой модели для прогнозирования урожайности
Журналы
Разработка нейросетевой модели для прогнозирования урожайности
Заключение