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?


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.


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 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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.