Costruire un modello di apprendimento automatico per prevedere i raccolti in base ai dati ambientali


10

Ho un set di dati contenente dati su temperatura, precipitazioni e rese di soia per un'azienda agricola per 10 anni (2005-2014). Vorrei prevedere i rendimenti per il 2015 sulla base di questi dati.

Si noti che il set di dati ha valori GIORNALIERI per temperatura e precipitazioni, ma solo 1 valore all'anno per la resa, poiché la raccolta delle colture avviene alla fine della stagione di crescita delle colture.

Voglio costruire una regressione o qualche altro modello basato sull'apprendimento automatico per prevedere i rendimenti del 2015, basato su una regressione / qualche altro modello derivato studiando la relazione tra rese, temperatura e precipitazioni negli anni precedenti.

Ho familiarità con l'esecuzione dell'apprendimento automatico utilizzando scikit-learn. Tuttavia, non sono sicuro di come rappresentare questo problema. La parte difficile qui è che la temperatura e le precipitazioni sono quotidiane ma la resa è solo 1 valore all'anno.

Come posso affrontarlo?


sto anche provando a costruire un modello per prevedere la resa del raccolto. Potresti condividere i dettagli sull'approccio che stai seguendo?
Nitz

Sei riuscito a ottenere una risposta completa. Se no, per favore fatemi sapere e sarò felice di scrivere una risposta dettagliata su come procedere dato che lavoro nello stesso dominio
89_Semplice

@ Crop89, sarebbe fantastico! in attesa di una vostra risposta
user308827

L'hai capito? Sto affrontando lo stesso problema. Potresti condividere i dettagli se li hai elaborati? molte grazie
eric huang

Risposte:


3

Per i principianti, è possibile prevedere la resa per l'anno prossimo in base ai dati giornalieri dell'anno precedente. È possibile stimare i parametri del modello considerando il valore dei dati di ogni anno come un "punto", quindi convalidare il modello utilizzando la convalida incrociata. È possibile estendere questo modello considerando più dell'anno passato, ma guardare troppo indietro e avrai difficoltà a convalidare il tuo modello e il tuo equipaggiamento.


grazie @Emre, la mia confusione è che come posso trattare un valore di un anno intero di dati come 1 punto? Ogni riga di dati (che rappresenta un giorno) non costituisce un campione nella nomenclatura di scikit-learn? Come posso trattare un intero anno come un campione anziché 365?
user308827

1
Non stavo affrontando le specifiche di sklearn, ma poiché hai chiesto, vuoi usare i sklearn.cross_validationmetodi con "Etichetta" nel nome, come sklearn.cross_validation.LabelKFold .
Emre,

grazie @Emre, quindi l'idea è di assegnare ogni anno una singola etichetta, giusto?
user308827

Sì, @ user308827.
Emre,

grazie ancora @Emre, dai un'occhiata alla domanda di follow-up: datascience.stackexchange.com/questions/9612/…
user308827


1

Hai 10 punti dati con ogni punto dati con dimensioni 365 (temperatura per ogni giorno) + 365 (precipitazioni per ogni giorno). Idealmente, ridurrei innanzitutto le dimensioni tramite metodi di apprendimento automatico, ad esempio PCA. Quindi utilizzare i metodi di apprendimento automatico per creare un modello di previsione. Tuttavia, a causa del piccolo set di dati, non credo che le tecniche di apprendimento automatico siano appropriate al tuo problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.