Aufbau eines maschinellen Lernmodells zur Vorhersage der Ernteerträge auf der Grundlage von Umweltdaten

10

Ich habe einen Datensatz mit Daten zu Temperatur, Niederschlag und Sojabohnenerträgen für einen Betrieb für 10 Jahre (2005 - 2014). Basierend auf diesen Daten möchte ich die Renditen für 2015 vorhersagen.

Bitte beachten Sie, dass der Datensatz TÄGLICHE Werte für Temperatur und Niederschlag enthält, jedoch nur 1 Wert pro Jahr für den Ertrag, da die Ernte am Ende der Vegetationsperiode der Ernte erfolgt.

Ich möchte eine Regression oder ein anderes auf maschinellem Lernen basierendes Modell erstellen, um die Erträge für 2015 vorherzusagen, basierend auf einer Regression / einem anderen Modell, das aus der Untersuchung der Beziehung zwischen Erträgen und Temperatur und Niederschlag in früheren Jahren abgeleitet wurde.

Ich bin mit maschinellem Lernen mit Scikit-Learn vertraut. Ich bin mir jedoch nicht sicher, wie ich dieses Problem darstellen soll. Der schwierige Teil hier ist, dass Temperatur und Niederschlag täglich sind, aber der Ertrag nur 1 Wert pro Jahr beträgt.

Wie gehe ich das an?

user308827
quelle
Ich versuche sogar, ein Modell zu erstellen, um den Ernteertrag vorherzusagen. Könnten Sie bitte die Details zu dem Ansatz, den Sie verfolgen, mitteilen?
Nitz
Konnten Sie eine vollständige Antwort erhalten? Wenn nein, lassen Sie es mich bitte wissen und ich werde gerne eine detaillierte Antwort schreiben, wie ich
vorgehen soll,
@ Crop89, das wäre toll!
Ich
Hast du es herausgefunden? Ich stehe vor dem gleichen Problem. Könnten Sie die Details teilen, wenn Sie es ausgearbeitet haben?
Vielen

Antworten:

3

Für den Anfang können Sie den Ertrag für das kommende Jahr anhand der täglichen Daten für das Vorjahr vorhersagen. Sie können die Modellparameter schätzen, indem Sie den Datenwert jedes Jahres als einen "Punkt" betrachten und das Modell dann mithilfe einer Kreuzvalidierung validieren. Sie können dieses Modell erweitern, indem Sie mehr als das vergangene Jahr berücksichtigen. Wenn Sie jedoch zu weit zurückblicken, haben Sie Probleme, Ihr Modell und Ihre Überanpassung zu validieren.

Emre
quelle
danke @Emre, meine Verwirrung ist, wie ich Daten im Wert von einem ganzen Jahr als 1 Punkt behandle? Stellt nicht jede Datenzeile (die einen Tag darstellt) eine Stichprobe in der Scikit-Learn-Nomenklatur dar? Wie behandle ich ein ganzes Jahr als eine Probe anstatt als 365?
user308827
1
Ich habe mich nicht mit den Besonderheiten von sklearn befasst, aber da Sie gefragt haben, möchten Sie die sklearn.cross_validationMethoden mit "Label" im Namen verwenden, z. B. sklearn.cross_validation.LabelKFold .
Emre
danke @Emre, also ist die Idee, jedes Jahr ein einzelnes Label zuzuweisen, oder?
user308827
Ja, @ user308827.
Emre
Nochmals vielen Dank @Emre, bitte werfen Sie einen Blick auf die Folgefrage: datascience.stackexchange.com/questions/9612/…
user308827
1

Sie können das Bayesian Belief Network zur Vorhersage verwenden. Sie ist ein Link zur grundlegenden Erklärung. Bayesianisches Netzwerk

Dr. Turkuaz
quelle
1

Sie haben 10 Datenpunkte, wobei jeder Datenpunkt 365 (Temperatur für jeden Tag) + 365 (Niederschlag für jeden Tag) Dimensionen hat. Idealerweise würde ich zuerst die Dimensionen durch maschinelles Lernen reduzieren, z. B. PCA. Verwenden Sie dann Methoden des maschinellen Lernens, um ein Vorhersagemodell zu erstellen. Aufgrund des kleinen Datensatzes denke ich jedoch nicht, dass Techniken des maschinellen Lernens für Ihr Problem geeignet sind.

Yuqian
quelle