Construire un modèle d'apprentissage automatique pour prédire les rendements des cultures en fonction des données environnementales

10

J'ai un ensemble de données contenant des données sur la température, les précipitations et les rendements de soja pour une ferme pendant 10 ans (2005 - 2014). Je voudrais prédire les rendements pour 2015 sur la base de ces données.

Veuillez noter que l'ensemble de données a des valeurs QUOTIDIENNES pour la température et les précipitations, mais seulement 1 valeur par an pour le rendement, car la récolte de la récolte a lieu à la fin de la saison de croissance de la culture.

Je veux construire une régression ou un autre modèle basé sur l'apprentissage automatique pour prédire les rendements de 2015, basé sur une régression / un autre modèle dérivé en étudiant la relation entre les rendements et la température et les précipitations des années précédentes.

Je connais bien le machine learning avec scikit-learn. Cependant, je ne sais pas comment représenter ce problème. La partie délicate ici est que la température et les précipitations sont quotidiennes mais que le rendement n'est que de 1 valeur par an.

Comment puis-je aborder cela?

user308827
la source
même j'essaie de construire un modèle pour prédire le rendement des cultures. Pourriez-vous s'il vous plaît partager les détails de l'approche que vous suivez?
Nitz
Avez-vous pu obtenir une réponse complète. Si non, faites-le moi savoir et je serai heureux d'écrire une réponse détaillée sur la façon de procéder, étant donné que je travaille dans le même domaine
89_Simple
@ Crop89, ce serait génial! dans l'attente de votre réponse
user308827
L'as-tu compris? Je fais face au même problème. Pourriez-vous partager les détails si vous avez travaillé? merci beaucoup
eric huang

Réponses:

3

Pour commencer, vous pouvez prédire le rendement de l'année à venir en fonction des données quotidiennes de l'année précédente. Vous pouvez estimer les paramètres du modèle en considérant la valeur des données de chaque année comme un "point", puis valider le modèle en utilisant la validation croisée. Vous pouvez étendre ce modèle en considérant plus que l'année dernière, mais regardez trop loin et vous aurez du mal à valider votre modèle et votre tenue.

Emre
la source
merci @Emre, ma confusion est que comment puis-je traiter la valeur d'une année entière de données comme 1 point? Chaque ligne de données (représentant un jour) ne constitue-t-elle pas un échantillon dans la nomenclature scikit-learn? Comment puis-je traiter une année entière comme un seul échantillon plutôt que 365?
user308827
1
Je n'abordais pas les spécificités de sklearn, mais comme vous l'avez demandé, vous souhaitez utiliser les sklearn.cross_validationméthodes avec "Label" dans le nom, telles que sklearn.cross_validation.LabelKFold .
Emre
merci @Emre, donc l'idée est d'attribuer chaque année un seul label, non?
user308827
Oui, @ user308827.
Emre
merci encore @Emre, veuillez consulter la question de suivi: datascience.stackexchange.com/questions/9612/…
user308827
1

Vous pouvez utiliser Bayesian Belief Network pour la prédiction. C'est un lien pour une explication de base. Réseau Bayésien

Dr. Turkuaz
la source
1

Vous avez 10 points de données avec chaque point de données ayant 365 (température pour chaque jour) + 365 (précipitations pour chaque jour) dimensions. Idéalement, je réduirais d'abord les dimensions via des méthodes d'apprentissage automatique, par exemple PCA. Utilisez ensuite des méthodes d'apprentissage automatique pour créer un modèle de prédiction. Cependant, en raison du petit ensemble de données, je ne pense pas que les techniques d'apprentissage automatique soient appropriées à votre problème.

Yuqian
la source