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

10

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

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

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

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

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

user308827
источник
даже я пытаюсь построить модель для прогнозирования урожайности. Не могли бы вы поделиться подробностями о подходе, которому вы придерживаетесь?
Ницца
Удалось ли вам получить полный ответ? Если нет, пожалуйста, дайте мне знать, и я с удовольствием напишу подробный ответ о том, как это сделать, если я работаю в том же домене
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

Вы можете использовать Bayesian Belief Network для прогнозирования. Ее ссылка для базового объяснения. Байесовская сеть

Доктор Туркуаз
источник
1

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

yuqian
источник