Привет, Хабр! Периодически мы делаем посты о проектах наших студентов магистратуры «Наука о данных» НИТУ МИСиС и Zavtra.Online — подразделения SkillFactory по работе с университетами, эти проекты создаются на внутренних хакатонах. Ребята уже за неделю собирали датасеты по коммерческим объектам, музыкальным трекам, вакансиям и даже котикам, пробовали кластеризовать транспорт и побеждали букмекеров с помощью ИИ. Сегодня делимся новым учебным проектом наших студентов об анализе схем севооборота. Далее речь идёт от лица команды.


Начало. Выбор кейса

Выбрать нетривиальный, достаточно сложный, но решаемый кейс бывает непросто, поэтому мы выбирали методом исключения и через консультации. На хакатоне компании-партнёры представили несколько кейсов. Когда хакатон начинался, не было определённости с кейсом «UFC», а представленный РЖД кейс не вызвал у нас большого интереса. Сначала мы планировали работать над задачей Яндекс.Еды, но её датасет показался недостаточным для тестирования гипотез, неизвестно было, как обогатить его данными, не было ссылки на геоданные.

Мы выбрали кейс об анализе схем севооборота во Франции от компании DVHB. Данных было достаточно: около 3,6 млн. наблюдений и более 200 классов культур для предсказаний, также была возможность добавить метрики в датасет.

Бизнес-адаптация задачи

Задача была прикладной, а её бизнес-идея — очевидной. Чтобы увеличить доход, повышая урожайность и снижая издержки, фермеры и агрохолдинги применяют севооборот — поочерёдное выращивание видов культур по годам и полям или только по годам. Чередование культур по времени — это посев разных культур по годам на одном поле. Чередование по полям означает, что каждая культура последовательно проходит через все поля. Севооборот — один из самых эффективных способов повысить урожайность культур и плодородность земли.

Для проекта мы создали модель, имитирующую процесс принятия решения фермером о культуре для посева в текущей ротации. Модель позволяет рекомендовать оптимальную для посева культуру на конкретном поле, что, в свою очередь, позволяет прогнозировать необходимый объём каждой культуры в посевной кампании на конкретный год для всех фермерских хозяйств Франции.

Имея такой прогноз и предлагая более эффективные схемы взаимодействия, можно регулировать объём спроса и предложения в разрезе культур как на всей территории страны, так и на уровне конкретных провинций и городов. 

С дополнительными метриками эффективности по сбору урожая можно предлагать неочевидные рекомендации для поля. Например, если исторически сложилось так, что на поле применяется определённая схема севооборота или выращивается монокультура, но при этом на соседних полях другая схема или культура показывает результат лучше, то это хороший повод задуматься.

Гипотезы и тестирование

В работе над проектом мы сформулировали и протестировали несколько гипотез о причинах формирования конкретного вида ротации культур на полях Франции:

1. Географическое положение и климатический пояс конкретного поля

Перевод координат в соответствии со всемирной системой WGS-84 позволил соотнести координаты каждого уникального поля с климатическим поясом и, соответственно, климатическими данными: температурными режимами,  типом климата по классификации Кёппена (чуть подробнее здесь) и др.

2. Исторически сложившиеся специализация конкретного поля (провинции)

Каждому участку был присвоен идентификатор провинции Франции, идентификатор мы получили с помощью геолокации и доступных сервисов Google. После визуализации мы увидели, что некоторые культуры — специализация определённой провинции или города Франции, которая с бо́льшей вероятностью сохранится в следующие периоды.

3. Типы культур для посева на соседних полях

Гипотеза была протестирована в предположении, что между посевами на соседних полях есть определённая задержка. Мы объединили поля и рассмотрели чередования культур на укрупнённых участках. Явных закономерностей мы не нашли, либо в некотором роде они напоминали закономерности в предыдущей гипотезе. Поля «соседей», на которых культура в предшествующем году совпала с культурой исследуемого поля, представлены ниже. Их оказалось не так много — менее 10 %, поэтому в модель эта закономерность не закладывалась.

4. Видовое разнообразие культур на конкретной территории (страна, регион)

При визуализации всех культур стало очевидно, что по разным причинам некоторые культуры в принципе не засеваются на определённых участках Франции, при этом выявленные закономерности на этом этапе не дублируют пункты исследования 1 и 2.

5. Цикл севооборота на конкретном поле

За цикл севооборота мы взяли чередования культур и обозначили их так: «АААА», «АBАB», «АBCD» и т. д.

6. Готовность допускать изменения в рамках одной ротации севооборота на конкретном поле

Тестирование гипотез проводилось в несколько этапов и включало содержательную и критическую оценки через визуализацию, а также метрики модели, свидетельствующие о влиянии или опровергающие важность конкретного включённого фактора.

Проверка каждой гипотезы сопровождалась, конечно же, обогащением датасета, вначале содержащего только идентификатор поля в виде координат системы RGF-93 / Lambert-93, а также идентификатор посевной культуры в каждые n лет.

Инсайты

Одним из инсайтов стало увеличение качества прогноза за счёт обогащения данных мета-признаками.  Также мы обнаружили очевидные паттерны, которые могут быть предсказаны с точностью, близкой к 100 % (случаи, где культура повторяется из года в год), таких полей оказалось достаточно много — порядка 35 % из всех:

И не столь очевидные, но предсказуемые с точностью около 95 % процентов паттерны, объектов с ними оказалось порядка 15 %: 

А также поля с разнообразными схемами севооборота, предсказать которые через эвристики достаточно сложно:

Явно обнаружилась кластеризованность по географическим признакам: концентрированности, типу местности, влиянию соседей, а также по климатическим признакам: температурным режимам, влажности, типу лета. Мы приступили и к анализу типа почв. 

Чтобы найти паттерны в разрезе групп культур, мы сопоставили неочевидные последовательности имеющихся периодов со смещённым на год периодом. Для повышения урожайности фермеры руководствуются рядом правил, но эта последовательность может начинаться с любого года.

В неочевидных последовательностях подход позволил отобрать последовательности комбинаций в ротации групп культур и предсказывать группы культуры прогнозируемого года по историческим группам этого поля, которые были справедливы не менее чем в 95 % аналогичных исторических комбинаций, а также встречались не менее 100 раз. Общий ход исследования и модификация созданных моделей представлены ниже:

Репозиторий

В результате работы команда сформировала репозиторий на GitHub, где представлен файл README с описанием задачи, идеи для генерации дополнительных признаков, а также ссылки на источники, из которых пополнялся исходный датасет. Ниже о содержании директорий репозитория:

  • data содержит отдельно сгенерированные фичи и ссылку на итоговый датасет для обучения, загрузить который не удалось из-за его размера, также в директории окончательные датасеты для тестирования, а также предсказания на полученных тестовых датасетах.

  • geojson содержит климатические геоданные Франции, они применяются для генерации дополнительных признаков.

  • source содержит данные для тестирования модели.

  • src содержит исходный код по генерации описанных фичей, визуализации, а также код с обучением на тренировочном датасете и предсказанием на тестовом датасете.

Немного про нашу команду

Впервые мы собрались полгода назад и назвали команду "3Ps". Три P — это passion, patience, persistence. 

  • Passion — энтузиазм, пыл, увлечённость, помогающие поставить решение задачи на передний план, поздно ложиться и рано вставать, пока идёт хакатон. 

  • Patience — терпение, касающееся сложных задач и больших объёмов информации, без него никуда. Когда не всё получается сразу (или всё не сразу), ну, и когда не хватает оперативной памяти локальной машины, роняя скупую слезу после kernel died, важно оставаться спокойным. Приходится начинать сначала, и ты начинаешь.

  • Persistence — как раз про это. Упорство, настойчивость, выносливость нужны, чтобы двигаться к цели, даже когда это сложно и приходится противостоять обществу. Обществу мы, конечно, не вредили, но другие обязательства было трудно выполнить одновременно с хакатоном: семья, друзья, все совмещают работу и обучение в магистратуре.

Принцип 3Ps применим к хакатону, ко всему обучению в магистратуре и к Data Science в целом.  Сложности есть всегда: не хватает времени, появляются новые библиотеки, меняются привычные методы и функции, приходится разбираться с новыми фреймворками, но терпение, энтузиазм и упорство позволяют двигаться дальше и выше. 

Узнать больше про магистратуру можно на сайте data.misis.ru и в Telegram канале. А разумная альтернатива — наш флагманский курс о Data Science, где вы научитесь понимать данные, решать задачи бизнеса, выполните 13 проектов и получите специализацию в Machine Learning.

Есть курсы в одной области, например Data Engineering, а также вы можете узнать, как освоить другие специальности или прокачаться:

Data Science и Machine Learning

Python, веб-разработка

Мобильная разработка

Java и C#

От основ — в глубину

А также:

Комментарии (5)


  1. alexxisr
    20.07.2021 19:35

    Я не совсем понял, что получилось в итоге - вы научились предсказывать что у фермера записано посадить на следующий год? или всё-таки - какая последовательность даст максимум урожая?


    1. xFFFF
      20.07.2021 21:05

      я вот тоже не понял)


  1. alex-open-plc
    20.07.2021 23:19

    Н-да... Методы Кирсанова, Чирикова, Мачигина - не, не слышали...


  1. barracude2real
    21.07.2021 02:48

    Поддерживаю предыдущие комментарии! Понятно, что для студентов эти исследования по принципу "Чем бы дитя не тешилось, только бы не руками". Исследование должно иметь определенную цель, перечень выдвинутых гипотез и результат - достигнута ли цель, какие гипотезы подтверждены и т.д.


  1. anonymous
    00.00.0000 00:00