Построение модели машинного обучения для прогнозирования урожайности на основе экологических данных


10

У меня есть набор данных, содержащий данные о температуре, количестве осадков и урожайности сои для фермы за 10 лет (2005 - 2014). Я хотел бы прогнозировать урожайность на 2015 год на основе этих данных.

Обратите внимание, что набор данных имеет ЕЖЕДНЕВНЫЕ значения для температуры и осадков, но только 1 значение в год для урожая, так как сбор урожая происходит в конце вегетационного периода урожая.

Я хочу построить регрессию или какую-либо другую модель, основанную на машинном обучении, для прогнозирования урожайности в 2015 году, основываясь на регрессии / какой-либо другой модели, полученной путем изучения взаимосвязи между урожайностью, температурой и осадками в предыдущие годы.

Я знаком с выполнением машинного обучения с помощью scikit-learn. Тем не менее, не уверен, как представить эту проблему. Сложность в том, что температура и осадки являются ежедневными, но урожайность составляет всего 1 значение в год.

Как мне подойти к этому?


даже я пытаюсь построить модель для прогнозирования урожайности. Не могли бы вы поделиться подробностями о подходе, которому вы придерживаетесь?
Ницца

Удалось ли вам получить полный ответ? Если нет, пожалуйста, дайте мне знать, и я с удовольствием напишу подробный ответ о том, как это сделать, если я работаю в том же домене
89_Simple

@ Crop89, это было бы здорово! с нетерпением жду вашего ответа
user308827

Вы поняли это? Я сталкиваюсь с той же проблемой. Не могли бы вы поделиться деталями, если вы уже разобрались? Большое спасибо
Эрик Хуан

Ответы:


3

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


спасибо @ Emre, моя путаница заключается в том, как мне обрабатывать данные за весь год как 1 балл? Разве каждая строка данных (представляющая один день) не является образцом в номенклатуре scikit-learn? Как мне рассматривать целый год как один образец, а не как 365?
user308827

1
Я не рассматривал специфику sklearn, но так как вы спросили, вы хотите использовать sklearn.cross_validationметоды с «Label» в названии, такие как sklearn.cross_validation.LabelKFold .
Эмре

спасибо @ Emre, так что идея состоит в том, чтобы назначать каждый год один ярлык, верно?
user308827

Да, @ user308827.
Эмре

еще раз спасибо @Emre, пожалуйста, посмотрите на следующий вопрос: datascience.stackexchange.com/questions/9612/…
user308827


1

У вас есть 10 точек данных, каждая из которых имеет 365 (температура для каждого дня) + 365 (количество осадков для каждого дня). В идеале я бы сначала уменьшил размеры с помощью методов машинного обучения, например, PCA. Затем используйте методы машинного обучения для построения модели прогнозирования. Однако, из-за небольшого набора данных, я не думаю, что методы машинного обучения подходят для вашей проблемы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.