Creación de un modelo de aprendizaje automático para predecir los rendimientos de los cultivos en función de los datos ambientales.

10

Tengo un conjunto de datos que contiene datos sobre temperatura, precipitación y rendimiento de soja para una granja durante 10 años (2005 - 2014). Me gustaría predecir los rendimientos para 2015 en función de estos datos.

Tenga en cuenta que el conjunto de datos tiene valores DIARIOS para temperatura y precipitación, pero solo 1 valor por año para el rendimiento, ya que la cosecha del cultivo ocurre al final de la temporada de cultivo.

Quiero construir una regresión o algún otro modelo basado en el aprendizaje automático para predecir los rendimientos de 2015, basado en una regresión / algún otro modelo derivado del estudio de la relación entre los rendimientos y la temperatura y la precipitación en años anteriores.

Estoy familiarizado con el aprendizaje automático usando scikit-learn. Sin embargo, no estoy seguro de cómo representar este problema. La parte difícil aquí es que la temperatura y la precipitación son diarias, pero el rendimiento es de solo 1 valor por año.

¿Cómo me acerco a esto?

usuario308827
fuente
incluso estoy tratando de construir un modelo para predecir el rendimiento del cultivo. ¿Podría por favor compartir los detalles sobre el enfoque que está siguiendo?
Nitz
¿Pudiste obtener una respuesta completa? En caso negativo, hágamelo saber y me complacerá escribir una respuesta detallada sobre cómo hacerlo, dado que trabajo en el mismo dominio
89_Simple
@ Crop89, ¡eso sería genial! esperando su respuesta
user308827
¿Lo has resuelto? Estoy enfrentando el mismo problema. ¿Podría compartir los detalles si lo ha resuelto? muchas gracias
eric huang

Respuestas:

3

Para empezar, puede predecir el rendimiento para el próximo año en función de los datos diarios del año anterior. Puede estimar los parámetros del modelo considerando el valor de los datos de cada año como un "punto", luego valide el modelo mediante validación cruzada. Puede extender este modelo considerando más que el año pasado, pero si mira hacia atrás demasiado, tendrá problemas para validar su modelo y su sobreajuste.

Emre
fuente
gracias @Emre, mi confusión es que, ¿cómo trato los datos de todo un año como 1 punto? ¿No constituye cada fila de datos (que representa un día) una muestra en la nomenclatura de scikit-learn? ¿Cómo trato un año entero como una muestra en lugar de 365?
user308827
1
No estaba abordando los detalles específicos de sklearn, pero desde que me lo pidió, desea utilizar los sklearn.cross_validationmétodos con "Etiqueta" en el nombre, como sklearn.cross_validation.LabelKFold .
Emre
gracias @Emre, así que la idea es asignar cada año una sola etiqueta, ¿verdad?
user308827
Sí, @ user308827.
Emre
gracias de nuevo @Emre, eche un vistazo a la pregunta de seguimiento: datascience.stackexchange.com/questions/9612/…
user308827
1

Puede usar Bayesian Belief Network para la predicción. Ella es un enlace para una explicación básica. Red Bayesiana

Dr. turkuaz
fuente
1

Tiene 10 puntos de datos con cada punto de datos que tiene 365 (temperatura para cada día) + 365 (precipitación para cada día) dimensiones. Idealmente, primero reduciría las dimensiones a través de métodos de aprendizaje automático, por ejemplo, PCA. Luego use métodos de aprendizaje automático para construir un modelo de predicción. Sin embargo, debido al pequeño conjunto de datos, no creo que las técnicas de aprendizaje automático sean apropiadas para su problema.

Yuqian
fuente