Procedimiento, sistema, sistema informático y programa informático para generar datos de una predicción de acopio de un producto agrícola
La presente invención se refiere a un procedimiento implementado en un sistema 5 informático para generar datos de una predicción de acopio de un producto agrícola para una entidad receptora de dicho producto.
La presente invención también se refiere a un sistema, sistema informático, y programa informático adecuados para realizar dicho procedimiento de predicción de acopio.
ESTADO DE LA TÉCNICA ANTERIOR
Existen diversos tipos de entidades que reciben cantidades importantes de uno o más productos agrícolas como parte del ciclo de vida de dichos productos con fines de, por 15 ejemplo, distribución de los mismos. Dentro de estas entidades se pueden distinguir, por ejemplo, comercializadoras, cooperativas, lonjas, alhóndigas, etc.
Estas entidades reciben normalmente un porcentaje significativo del volumen global de productos agrícolas, que muchas veces es desconocido (por el personal de la entidad) hasta 20 poco tiempo antes de su recepción. Estas entidades gestionan, por lo tanto, grandes volúmenes de producto cuyo almacenaje, mantenimiento y, en definitiva, distribución debe planificarse con varias semanas de antelación.
La recepción de cantidades inesperadas puede generar problemas importantes en cuanto a 25 la previsión de medios técnicos necesarios para hacer frente a dicho acopio. Por ejemplo, ante una recepción inminente de productos agrícolas, conviene haber previsto correctamente un espacio de almacenamiento adecuado, medios de transporte y personal necesario, herramientas/productos para la conservación de los productos en los almacenes, etc. con cierto tiempo de antelación. Especial importancia adquiere en dicho escenario una 30 conservación adecuada de los productos agrícolas para evitar o minimizar su deterioro.
El acopio que recibe, por ejemplo, una comercializadora depende de la producción agrícola de los productores que están asociados o suelen comercializar a través de dicha entidad, ya sea por motivos de cercanía, logística, calidad de servicio, etc. Una predicción fiable de
acopio puede implicar claramente la prestación de un servicio de mayor calidad, con una logística más adecuada y, en definitiva, con unos costes menores (y más competitivos).
EXPLICACIÓN DE LA INVENCIÓN
Por lo tanto, existe una necesidad de nuevos procedimientos, sistemas, sistemas informáticos y productos de programa informático para estimar un acopio de productos agrícolas que permita determinar, con una cierta antelación, una configuración eficiente de recursos técnicos para hacer frente al acopio final.
En un primer aspecto, se proporciona un procedimiento implementado en un sistema informático para generar datos de una predicción de acopio de un producto agrícola (que tiene un ciclo de vida) para una entidad receptora de dicho producto.
El procedimiento comprende recibir datos históricos correspondientes a parámetros del ciclo de vida del producto agrícola y a un acopio que se produjo bajo dichos parámetros (históricos). Los datos históricos incluyen al menos datos procedentes de sensores instalados en una explotación agrícola en la que se produjo el producto agrícola.
El procedimiento comprende además generar un conjunto de datos de aprendizaje a partir de los datos históricos recibidos, y realizar un procedimiento de aprendizaje automático (machine learning) a partir del conjunto de datos de aprendizaje con el fin de producir o ajustar un módulo informático que implementa un modelo predictivo de acopio del producto agrícola.
El procedimiento también comprende recibir datos actuales correspondientes a parámetros del ciclo de vida del producto agrícola, y proporcionar los datos actuales recibidos al módulo informático (o software) para generar la predicción de acopio de acuerdo con el modelo predictivo implementado por el software. Los datos actuales incluyen al menos datos 30 procedentes de sensores instalados en una explotación agrícola en la que se está produciendo el producto agrícola.
La explotación que ha originado los datos históricos y la explotación de la que provienen los datos actuales pueden ser la misma explotación agrícola o diferentes explotaciones con
características similares. Asimismo, los sensores instalados en una y otra explotación pueden ser de tipos semejantes y pueden estar dispuestos en ubicaciones equivalentes.
El procedimiento propuesto se basa en generar o ajustar un software a partir de datos 5 (históricos) y resultados (acopio real) conocidos con el fin de generalizar comportamientos a partir de dicha información suministrada en forma de ejemplos. El software resultante implementa un modelo predictivo basado en, por ejemplo, una función que define una correspondencia o correlación entre entradas (datos históricos) y salidas (acopio real) deseadas del software.
El software ajustado (o entrenado con datos históricos y acopios reales) es utilizado posteriormente para generar nuevos resultados (acopio estimado) a partir de datos actuales (compatibles con los datos usados en el aprendizaje) que tienen, a priori, una influencia desconocida en el resultado. Sin embargo, diversos experimentos han revelado que dicho 15 software "predictivo", entrenado con volúmenes adecuados de datos históricos y correspondientes acopios reales, es capaz de generar unas estimaciones de acopio razonablemente precisas.
En particular, el procedimiento propuesto ha mostrado una fiabilidad aceptable con datos 20 procedentes de sensores instalados in situ, es decir, en el propio campo de cultivo o explotación agrícola. Más concretamente, el procedimiento se ha mostrado eficaz con datos de medidas procedentes de sensores de temperatura, humedad, presión, riego, fertilización, lluvia, viento, luz solar, etc. instalados in situ. Es decir, estos factores ambientales han revelado una buena correlación o correspondencia con la producción agrícola o acopio final 25 y, por consiguiente, su aplicación a técnicas de machine learning (en el procedimiento propuesto) ha resultado ciertamente eficaz.
Las estimaciones de acopio resultantes pueden usarse para definir, con suficiente tiempo de antelación, una configuración eficiente de recursos técnicos necesarios para hacer frente al 30 acopio final. Dicha configuración eficiente de recursos técnicos puede comprender, por ejemplo, un espacio de almacenamiento adecuado, transporte suficiente dentro de o entre los almacenes, personal necesario, herramientas/productos para manipular/conservar el producto o productos almacenados, etc.
Los acopios reales utilizados para el proceso de aprendizaje pueden comprender datos relativos a, por ejemplo, la cantidad de producto recolectado, momento óptimo de recolección en función de, por ejemplo, un grado de maduración adecuado, etc. El acopio estimado también puede comprender, por lo tanto, datos correspondientes a dichas condiciones, dependiendo del entrenamiento recibido por el software "predictivo".
El momento óptimo de recolección puede tener una repercusión importante en la conservación adecuada del producto posteriormente a su recolección y, en concreto, durante su almacenamiento. Un producto agrícola excesivamente maduro puede requerir unos cuidados más complejos, mientras que un punto de maduración óptimo puede facilitar la conservación del producto. Una estimación precisa de datos de acopio que incluyan el momento óptimo de recolección puede permitir una mejor estimación de recursos técnicos para la conservación del producto y, por lo tanto, su posterior distribución en condiciones óptimas.
En algunas implementaciones, el procedimiento puede comprender además la determinación de dicha estimación de recursos técnicos para hacer frente al acopio final. Esta estimación de recursos puede realizarse por medio de tablas (por ejemplo: lookup tables) que relacionan acopios históricos totales y/o parciales con recursos técnicos necesarios para hacer frente a dichos acopios totales y/o parciales. Estas tablas pueden haber sido alimentadas a partir de datos procesados en ejecuciones anteriores del procedimiento, junto con la definición por parte de un operador del sistema de configuraciones de recursos adecuadas para los acopios (totales y/o parciales) resultantes. Estas configuraciones de recursos predefinidas pueden comprender recursos para conservar el producto, los cuales pueden depender de al menos un momento óptimo de recolección estimado incluido en los datos de acopio estimados.
En algunos ejemplos, el procedimiento puede comprender además seleccionar el procedimiento de aprendizaje automático (o machine learning) de entre un conjunto de procedimientos de machine learning predefinidos. Dicha selección puede depender de un indicador predefinido representativo de un grado de influencia de los parámetros/datos recibidos en la predicción del acopio. Este indicador predefinido puede ser obtenido a partir de una tabla (por ejemplo: lookup table) que define relaciones entre, por ejemplo, el volumen y tipo de datos recibidos con la técnica o combinación de técnicas de machine learning que han ofrecido una mayor fiabilidad o precisión en ejecuciones previas del procedimiento. Esta
precisión puede definirse, por ejemplo, en función de una desviación entre el acopio real y el acopio estimado producido en ejecuciones anteriores del procedimiento.
De acuerdo con ejemplos del procedimiento, el conjunto de procedimientos de aprendizaje automático comprende procedimientos basados en al menos uno de los siguientes enfoques: redes neuronales artificiales, árboles de decisiones, reglas de asociación, algoritmos genéticos, máquinas de vectores de soporte, algoritmos de agrupamiento, redes bayesianas, o en una combinación de todos o algunos de dichos enfoques (o técnicas).
En algunas implementaciones, la generación del conjunto de datos de aprendizaje puede comprender calcular, para cada parámetro del ciclo de vida, un valor medio o estadístico representativo de los datos recibidos correspondientes a dicho parámetro, y determinar aquellos datos recibidos que tengan una desviación respecto al valor medio/estadístico calculado que supera un umbral de desviación predefinido. Una vez detectados estos valores atípicos (o outliers) pueden ser descartados o corregidos con el fin de evitar distorsiones no deseadas en los resultados. Este principio puede aplicarse tanto a los datos históricos como a los datos actuales.
De acuerdo con ejemplos del procedimiento, la generación del conjunto de datos de aprendizaje puede comprender determinar, para cada parámetro del ciclo de vida, datos correspondientes a dicho parámetro que no han sido recibidos en función de una relación predefinida con datos que sí han sido recibidos. Por ejemplo, si se reciben datos de temperatura bajo una relación de 100 medidas generadas cada hora y, en cambio, para una hora determinada se recibe un número inferior a 100 medidas, se puede concluir que faltan datos de temperatura. En este caso se puede lanzar, por ejemplo, una petición al sistema proveedor de dichos datos para que los devuelva completos. Este criterio se puede aplicar tanto a datos históricos como a datos actuales.
En algunos ejemplos, la generación de los datos de aprendizaje puede comprender determinar datos derivados a partir de datos recibidos, incluyendo dichos datos derivados medias, varianzas, restricciones o índices calculados por medio de relaciones matemáticas o estadísticas predefinidas o una combinación de ambas. Es decir, se pueden generar diferentes niveles de agregación, acumulación o resumen de datos recibidos con el fin de agilizar y, en definitiva, mejorar el proceso de aprendizaje. Estos diferentes niveles de agregación, acumulación o resumen pueden ser multidimensionales, en los que cada
dimensión puede corresponder a una determinada tipología (o parámetro) de los datos procesados. La generación del conjunto de datos de aprendizaje puede comprender seleccionar datos derivados por medio de procedimientos de búsqueda heurísticos o meta- heurísticos o una combinación de ambos.
En algunas implementaciones, los datos históricos/actuales recibidos pueden corresponder a uno o varios de los siguientes parámetros del ciclo de vida del producto agrícola: parámetros de un proceso de producción del producto agrícola, parámetros climatológicos de una zona en la que se encuentra la explotación agrícola, parámetros fitopatológicos, parámetros de la entidad receptora del producto agrícola, parámetros de un sector del producto agrícola, parámetros de un productor u operador de la explotación agrícola, parámetros de proveedores del sector agrícola, parámetros de mercado, etc. Todos estos parámetros han revelado una cierta correlación o correspondencia con el acopio final estimado/real.
Los datos correspondientes a los parámetros del proceso de producción del producto agrícola pueden comprender uno o más de los siguientes tipos de datos: sobre tipo de semillas, fertilizantes, tratamientos anti plagas, frecuencia de riego, tratamientos fitosanitarios, fecha de siembra. Se ha comprobado que estos datos también suelen tener una influencia destacable en la recolección final y, por lo tanto, en el acopio resultante. Por ejemplo, unas semillas más resistentes, unos fertilizantes más efectivos, unas medidas antiplagas más estrictas, etc. pueden derivar en cosechas más abundantes.
Los datos correspondientes a los parámetros climatológicos de la zona en la que se encuentra la explotación agrícola pueden comprender uno o más de los siguientes tipos de datos: sobre precipitaciones ocurridas/previstas, cantidad de agua precipitada medida/prevista, viento medido/previsto, temperatura medida/prevista, humedad medida/prevista. Estos datos pueden proceder de una estación meteorológica de la zona o incluso de una empresa dedicada a la provisión de medidas y/o previsiones meteorológicas históricas y/o actuales. Los parámetros climatológicos de la zona también se han mostrado claramente influyentes en el acopio estimado/final a lo largo del ciclo de vida del procedimiento y software propuestos.
Los datos correspondientes a los parámetros fitopatológicos pueden comprender uno o más de los siguientes tipos de datos: sobre plagas ocurridas/previstas, afectación
ocurrida/prevista a la producción del producto agrícola. Estos datos pueden proceder de los propios productores, laboratorios agrarios o cualquier entidad productora de datos sobre plagas ocurridas/previstas. Se ha corroborado también que datos sobre plagas pueden ser de gran utilidad a la hora de pronosticar cosechas y acopios asociados. La existencia o 5 inexistencia de una plaga con efectos negativos en un campo de cultivo puede condicionar especialmente la recolección final y, por lo tanto, el acopio de productos agrícolas que se deriven.
Los datos correspondientes a los parámetros de la entidad receptora del producto agrícola 10 (por ejemplo: comercializadora) pueden comprender uno o más de los siguientes tipos de
datos: sobre recepción, precios, stock, calidades, costes. Todos estos factores se han
revelado como habitualmente influyentes en el acopio que pueda experimentar una determinada entidad con dicho cometido. Por ejemplo, si una comercializadora tiene más o menos capacidad de almacenaje, más o menos costes asociados, etc. el acopio final se
verá claramente afectado por dichas circunstancias. Diversos experimentos con el procedimiento/software han mostrado que estos datos presentan una clara correlación o correspondencia con el acopio resultante.
Los datos correspondientes a los parámetros de un productor u operador de la explotación 20 agrícola pueden comprender uno o más de los siguientes tipos de datos: sobre producción específica; rendimientos pasados, presentes, previstos; poda; cuidados de la plantación, superficie.
Los datos correspondientes a los parámetros de proveedores del sector agrícola pueden 25 comprender uno o más de los siguientes tipos de datos: sobre tipo, coste, cantidad, eficacia de fertilizantes, pesticidas, semillas. Los datos correspondientes a los parámetros de mercado pueden comprender uno o más de los siguientes tipos de datos: sobre precios históricos/actuales del producto, previsiones de precios del producto.
Los datos correspondientes a los parámetros del sector relacionado con el producto agrícola pueden comprender uno o más de los siguientes tipos de datos: sobre producción de la zona, país, continente; exportación; costes logísticos; producción de otras zonas, países, continentes; producción de sustitutivos del producto agrícola.
En un segundo aspecto, se proporciona un sistema para generar datos de una predicción de acopio de un producto agrícola (que tiene un ciclo de vida) para una entidad receptora de dicho producto.
El sistema comprende medios para recibir datos históricos correspondientes a parámetros del ciclo de vida del producto agrícola y a un acopio que se produjo bajo dichos parámetros, incluyendo dichos datos históricos al menos datos procedentes de sensores instalados en una explotación agrícola en la que se produjo el producto agrícola.
El sistema comprende además medios para generar un conjunto de datos de aprendizaje a partir de los datos históricos recibidos, y medios para realizar un procedimiento de aprendizaje automático (o machine learning) a partir del conjunto de datos de aprendizaje con el fin de producir o ajustar un módulo informático (o software) que implementa un modelo predictivo de acopio del producto agrícola.
El sistema también comprende medios para recibir datos actuales correspondientes a parámetros del ciclo de vida del producto agrícola, incluyendo dichos datos actuales al menos datos procedentes de sensores instalados en una explotación agrícola en la que se está produciendo el producto agrícola, y medios para proporcionar los datos actuales recibidos al software "predictivo" para generar la predicción de acopio de acuerdo con el modelo predictivo implementado por el software "predictivo".
En un tercer aspecto, se proporciona un sistema informático que comprende una memoria y un procesador, en el que la memoria almacena instrucciones de programa informático ejecutables por el procesador, comprendiendo estas instrucciones funcionalidades para ejecutar uno cualquiera de los procedimientos de predicción de acopio de un producto agrícola descritos anteriormente.
En un cuarto aspecto, la invención proporciona un programa informático que comprende instrucciones de programa para hacer que un sistema (informático) ejecute uno cualquiera de los procedimientos anteriores de predicción de acopio de un producto agrícola.
Dicho programa informático puede estar almacenado en unos medios de almacenamiento físico, tales como unos medios de grabación, una memoria de ordenador, o una memoria de solo lectura, o puede ser portado por una onda portadora, tal como eléctrica u óptica.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
A continuación se describirán ejemplos particulares de la presente invención a título de ejemplo no limitativo, con referencia a los dibujos adjuntos, en los cuales:
La figura 1 muestra una representación esquemática de un sistema para generar una predicción de acopio en un determinado contexto de aplicación, de acuerdo con ejemplos de la invención;
La figura 2 muestra un diagrama de flujo de un procedimiento de generación de una predicción de acopio, de acuerdo con un ejemplo de la invención;
La figura 3 muestra un diagrama de flujo de un procedimiento de generación de una predicción de acopio, de acuerdo con otro ejemplo de la invención; y
La figura 4 muestra un diagrama de flujo de un bloque generación de datos de aprendizaje que puede formar parte de cualquiera de los procedimientos ilustrados por las figuras 2 y 3 o similares.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN
A continuación, se describirán numerosos detalles concretos de la invención con el fin de proporcionar una comprensión completa de la misma. Sin embargo, un experto en la materia debe entender que la presente invención puede ponerse en práctica sin alguno o todos estos detalles concretos. Por otro lado, ciertos elementos bien conocidos no se han descrito en detalle para no complicar innecesariamente la descripción de la presente invención.
La figura 1 muestra una representación esquemática de un sistema para generar una predicción de acopio en un determinado contexto de aplicación, de acuerdo con ejemplos de la invención. Según se muestra en la figura, un sistema informático principal 100 para generar una predicción de acopio de un producto agrícola puede residir en la nube 102 o puede dar servicio a través de la nube 102. Este sistema informático principal 100 puede comprender una memoria 101 y un procesador (no mostrado) , en el que la memoria 101 almacena instrucciones de programa informático ejecutables por el procesador, 5
comprendiendo estas instrucciones funcionalidades para ejecutar un procedimiento de predicción de acopio tal como, por ejemplo, los descritos con referencia a otras figuras.
La figura 1 también muestra una explotación agrícola 103 que puede tener diversos sensores 110 - 112 instalados en correspondiente (s) campo (s) de cultivo. Estos sensores 110 - 112 pueden estar conectados a través de unas conexiones adecuadas 113 - 115 con el sistema informático principal 100. Estas conexiones 113 - 115 pueden ser inalámbricas o cableadas o de cualquier tipo que permita la transferencia de medidas tomadas o datos obtenidos por los sensores 110 - 112 al sistema informático principal 100. Las citadas conexiones 113 - 115 pueden comprender una conexión a través de una red de comunicaciones tal como, por ejemplo, Internet. Los sensores 110 - 112 pueden ser, por ejemplo, sensores de temperatura y/o humedad y/o presión y/o riego y/o fertilización y/o lluvia y/o viento y/o luz solar (duración, intensidad, etc.). Diversos experimentos han revelado que dichos parámetros ambientales pueden tener una gran influencia en el volumen de producto agrícola producido/recolectado y, por consiguiente, en el acopio que deberá hacer frente una determinada entidad receptora del producto (comercializadora, cooperativa, lonja, alhóndiga, etc.).
Alternativamente, los sensores 110 - 112 pueden proporcionar los datos de medida a un sistema informático intermedio (no mostrado) dedicado simplemente a, por ejemplo, la recepción, almacenamiento y (pre) procesamiento de datos procedentes de los sensores. Este sistema informático intermedio puede estar asociado exclusivamente a la explotación agrícola 103 o a diversas explotaciones agrícolas de, por ejemplo, la misma zona. El sistema informático intermedio puede, por lo tanto, ofrecer servicios de tratamiento de datos y su posterior transmisión al sistema principal 100, ya sea como datos históricos (para aprendizaje) o datos actuales (para estimación del acopio).
La figura 1 también muestra que el sistema informático principal 100 puede estar conectado con respectivos sistemas 106, 108 asociados a respectivas entidades receptoras de productos agrícolas 104, 105, a través de respectivas conexiones 107, 109. Estas conexiones pueden ser inalámbricas o cableadas o de cualquier tipo que permitan un intercambio adecuado de datos entre el sistema principal 100 y los sistemas 106, 108 de las entidades receptoras 104, 105. Estas conexiones 107, 109 pueden incluir una conexión a través de una red de comunicaciones tal como, por ejemplo, Internet.
De acuerdo con la configuración mostrada en la figura 1, el sistema principal 100 también puede recibir datos de acopio procedentes de, por ejemplo, los sistemas 106, 108 de las entidades receptoras 104, 105 para su cruce posterior con los datos históricos procedentes de los sensores. Estos datos de acopio pueden ser, por lo tanto, datos históricos del acopio que se produjo bajo determinados parámetros del ciclo de vida del producto agrícola correspondientes al menos a los datos procedentes de los sensores.
El sistema principal 100 también puede estar conectado con otros sistemas (no mostrados) dedicados a la producción/transmisión de datos correspondientes a otros parámetros del ciclo de vida del producto o productos agrícolas. Ejemplos de dichos otros parámetros pueden ser parámetros climatológicos, fitopatológicos, de un proceso de producción, de una zona en la que se encuentra la explotación agrícola, de la entidad receptora, de un sector del producto, de un productor u operador de la explotación agrícola, de proveedores del sector agrícola, de mercado, etc. Cada uno de dichos parámetros puede incluir diversos tipos de datos con una cierta influencia en el resultado final, según se comenta en otras partes de la descripción.
De acuerdo con lo descrito en relación a la figura 1, se puede proporcionar una red de sistemas informáticos que transmiten datos históricos y actuales al sistema principal 100, para que éste último realice procedimientos de predicción de acopio (s) de producto (s) agrícola (s) tal como, por ejemplo, los propuestos en otras partes de la descripción con referencia a otras figuras.
La figura 2 muestra un diagrama de flujo de un procedimiento de generación de una predicción de acopio, de acuerdo con un ejemplo de la invención. El procedimiento puede ser implementado, por ejemplo, en un sistema informático y en un contexto tecnológico igual o similar al ilustrado por la figura anterior. El procedimiento puede generar datos de una predicción de acopio de un producto agrícola (que tiene un ciclo de vida) para una entidad receptora de dicho producto. Dichos datos de predicción de acopio pueden comprender una cantidad de producto estimada, un momento óptimo de recolección estimado, etc.
En el bloque 200, el procedimiento puede iniciarse como resultado de la detección de una determinada condición de inicio. Esta condición de inicio puede comprender, por ejemplo, la recepción de una petición de procesamiento de datos históricos (y acopio asociado) junto con los propios datos a procesar. Estas peticiones y datos asociados pueden ser
procesados al instante o en diferido. En el segundo caso, la petición y datos asociados pueden ser almacenados en, por ejemplo, una cola de espera hasta que se produzca el lanzamiento del proceso encargado de su tratamiento según se describe a continuación. Este lanzamiento se puede producir, por ejemplo, a una hora predefinida de inicio de un procesamiento masivo de todos los datos recibidos, cuando ha finalizado una ejecución en curso iniciada anteriormente, etc.
En el bloque 201, se pueden recibir los datos históricos correspondientes a parámetros del ciclo de vida del producto agrícola y a un acopio (cantidad, momento óptimo de recolección, etc.) que se produjo bajo dichos parámetros. Estos datos pueden proceder de un sistema transmisor de los mismos, de la cola de entrada mencionada anteriormente, etc. Dichos datos históricos pueden incluir datos procedentes de sensores instalados en una explotación agrícola en la que se produjo el producto agrícola y, opcionalmente, otros datos como los indicados en otras partes de la descripción.
En el bloque 202, se puede generar un conjunto de datos de aprendizaje a partir de los datos históricos recibidos. Esta generación de datos de aprendizaje puede comprender diferentes procesamientos según se indica en otras partes de la descripción (ver, por ejemplo, figura 4 y descripción de la misma).
En el bloque 203, se puede realizar un procedimiento de aprendizaje automático (machine learning) a partir del conjunto de datos de aprendizaje con el fin de producir o ajustar un módulo informático (o software) que implementa un modelo predictivo de acopio del producto agrícola. Este modelo predictivo puede haber sido evolucionado a lo largo de diversas fases de aprendizaje. En concreto, los bloques 201 - 203 pueden constituir un subproceso de entrenamiento que puede ejecutarse tantas veces como se considere necesario, a partir de distintos conjuntos de datos históricos y acopio asociado. Por consiguiente, el software "predictivo" puede ser sometido a un profundo entrenamiento mediante la repetición de dicho subproceso tantas veces como se estime oportuno, con el fin de maximizar la fiabilidad del procedimiento. El procedimiento de aprendizaje automático puede basarse en uno o más enfoques conocidos tal como, por ejemplo, redes neuronales artificiales, árboles de decisiones, reglas de asociación, algoritmos genéticos, máquinas de vectores de soporte, algoritmos de agrupamiento, redes bayesianas, o en una combinación de todos o algunos de dichos enfoques (o técnicas).
En el bloque 204, se pueden recibir datos actuales correspondientes a parámetros del ciclo de vida del producto agrícola. Dichos datos actuales pueden incluir datos procedentes de sensores instalados en una explotación agrícola en la que se está produciendo el producto agrícola y, opcionalmente, otros datos como los indicados en otras partes de la descripción. Esta explotación y la que ha originado los datos históricos (recibidos en el bloque 201) pueden ser o no ser la misma explotación agrícola. En el segundo caso, las explotaciones pueden presentar características similares, y los sensores pueden ser equivalentes y estar dispuestos de forma similar en ambas explotaciones. Los datos históricos y actuales recibidos pueden ser del mismo tipo y referidos a los mismos conceptos con el fin de maximizar la consistencia entre el conocimiento adquirido por el software predictivo y los datos actuales tratados por dicho conocimiento para determinar la correspondiente estimación de acopio. Por ejemplo, si se prevé que los datos actuales incluirán datos sobre semillas utilizadas, conviene que el software "predictivo" sea entrenado con datos de aprendizaje que incluyan datos sobre semillas utilizadas equivalentes a los datos usados en el entrenamiento.
En el bloque 205, se pueden proporcionar los datos actuales recibidos al módulo informático (software predictivo) para que genere los datos de la predicción de acopio de acuerdo con el modelo predictivo implementado por el módulo informático. Se pueden definir métricas por medio de cualquier técnica conocida que permita validar la fiabilidad de los resultados que va produciendo el procedimiento. Estas métricas pueden ser determinadas a partir de datos generados en ejecuciones anteriores del procedimiento.
En el bloque 206, el procedimiento puede ser finalizado con la provisión de los resultados del proceso a un destinatario predefinido. Los resultados (acopio estimado para una entidad determinada) pueden proporcionarse, por ejemplo, mostrándolos por pantalla, guardándolos en un repositorio para su posterior visualización como respuesta a una petición de usuario, transmitiéndolos a un sistema informático asociado con la entidad receptora del producto agrícola, etc.
La figura 2 muestra un ejemplo concreto del procedimiento de estimación de acopio de un producto determinado para una entidad en particular. Sin embargo, el experto entenderá que dicho procedimiento puede procesar datos de diversos productos agrícolas para generar estimaciones de acopio para varias entidades, de acuerdo con los principios expuestos en referencia a dicha figura.
La figura 3 muestra un diagrama de flujo de un procedimiento de generación de una predicción de acopio, de acuerdo con otro ejemplo de la invención. El procedimiento ilustrado por esta figura puede ser significativamente similar al de la figura anterior. En concreto, los bloques 300 - 302 y 303 - 306 de esta figura pueden ser iguales o similares a los bloques 200 - 202 y 203 - 206 de la figura 2, respectivamente. Una diferencia es que el procedimiento de la figura 3 comprende un bloque adicional 307 de selección del procedimiento de aprendizaje automático (o machine learning) de acuerdo con, por ejemplo, el criterio que se describe a continuación.
Dicha selección puede depender de un indicador representativo del grado de influencia en el resultado final de los datos históricos y acopio recibidos y procesados por un algoritmo de aprendizaje en particular. Este (sub) proceso de selección puede basarse en una estructura de datos (por ejemplo, una tabla de búsqueda o lookup table) que relaciona diferentes combinaciones de datos recibidos y procedimiento de aprendizaje utilizado con valores concretos de dicho indicador de influencia. Esta estructura de datos se puede haber construido a partir de datos usados y resultados obtenidos en ejecuciones anteriores del procedimiento en las que se ha utilizado un determinado procedimiento de aprendizaje. Cada valor atribuido al indicador se puede haber determinado, por ejemplo, en función de una desviación entre el acopio estimado y el acopio real correspondientes a cada combinación de datos recibidos y algoritmo de aprendizaje utilizado.
La figura 4 muestra un diagrama de flujo de un bloque de generación de datos de aprendizaje que puede formar parte de cualquiera de los procedimientos ilustrados por la figura 2 (bloque 202) y la figura 3 (bloque 302) , o similares. Dicha generación de datos de aprendizaje puede tener como input unos datos históricos y acopio asociado 400 procedentes de un bloque similar a, por ejemplo, el bloque 201 de la figura 2 o el bloque 301 de la figura 3. Los datos de aprendizaje resultantes 405 pueden ser proporcionados a un bloque similar a, por ejemplo, el bloque 203 de la figura 2 o al bloque 307 de la figura 3.
En el bloque 401, se puede calcular, para cada parámetro del ciclo de vida recibido, un valor medio o estadístico representativo de los datos recibidos correspondientes a dicho parámetro, y determinar aquellos datos recibidos que tengan una desviación respecto al valor medio/estadístico calculado que supera un umbral de desviación predefinido. Un dato que presente una desviación excesiva puede ser considerado como valor atípico (o outlier).
Esta identificación de valores atípicos puede realizarse aplicando cualquier procedimiento o técnica conocida de detección de valores atípicos.
En el bloque 402, los valores atípicos detectados pueden ser procesados con el fin de minimizar su eventual influencia negativa en los resultados de estimación de acopio (s). Por ejemplo, todos o algunos de los valores atípicos detectados pueden ser descartados con el fin de evitar distorsiones en los resultados, y/o pueden ser devueltos a su origen para su corrección y retorno posterior al sistema que realiza el procedimiento de estimación de acopio (s).
En el bloque 403, se pueden determinar, para cada parámetro del ciclo de vida, datos correspondientes a dicho parámetro que no han sido recibidos en función de una relación predefinida con datos que sí han sido recibidos. Por ejemplo, si una determinada medida recibida sigue un patrón temporal de generación por parte de un sensor (por ejemplo: generación de 200 medidas cada hora) , y se detecta una irregularidad en las medidas procedentes del sensor (por ejemplo: sólo se han generado 50 medidas en una hora concreta) , se puede concluir que faltan medidas. En este caso, la ausencia de dichas medidas puede ser ignorada si se considera que su influencia en el resultado puede ser insignificante, o los datos recibidos pueden ser remitidos a su origen para corrección e incorporación ulterior al procedimiento, etc. Esta lógica puede ser implementada, por ejemplo, a través de reglas de conocimiento usando cualquier enfoque de inteligencia artificial conocido.
En el bloque 404, se pueden determinar datos derivados a partir de datos recibidos, incluyendo dichos datos derivados medias, varianzas, restricciones o índices calculados por medio de relaciones matemáticas y/o estadísticas predefinidas. Esta determinación de datos derivados puede incluir, por ejemplo, la realización de procedimientos de búsqueda heurísticos y/o meta-heurísticos. Los datos derivados pueden comprender, por ejemplo, diferentes agregaciones de datos a distintos niveles con el fin de agilizar el proceso de aprendizaje y maximizar su eficacia. Otros datos derivados pueden ser, por ejemplo, valores promedio de medidas de temperatura, humedad, viento, etc. si se considera que algún aspecto del aprendizaje puede no requerir medidas concretas y el uso de valores medios (o resumen) puede acelerar dicho aprendizaje.
La figura 4 muestra los diferentes bloques 401 - 404 que componen la generación de datos
de aprendizaje en un determinado orden. Sin embargo, dichos bloques pueden ser ejecutados en un orden diferente al reflejado en la figura. Por ejemplo, en algunas implementaciones, el conjunto de bloques 401 y 402 (valores atípicos) , el bloque 403 (datos no recibidos) y el bloque 404 (datos derivados) se podrían ejecutar en paralelo. O, en otros ejemplos, el bloque 403 (datos no recibidos) podría ejecutarse antes que el conjunto de bloques 401 y 402 (valores atípicos). Etcétera.
Cualquiera de los procedimientos de estimación de acopio (s) descritos puede incluir un bloque final (no mostrado) dedicado a determinar una estimación de recursos técnicos para hacer frente a la predicción de acopio (s) generada. Esta estimación de recursos técnicos puede comprender la estimación de un espacio de almacenamiento y/o medios de transporte y/o cantidad de producto para una conservación adecuada del producto agrícola, etc. La estimación de recursos puede realizarse por medio de un proceso de análisis de una BD multidimensional, en la que cada dimensión puede corresponder a un determinado producto agrícola, un valor de acopio del producto, un espacio de almacenaje, una cuantificación del transporte necesario, etc. Cada combinación diferente de valores correspondientes a las dimensiones consideradas puede comprender, en la BD, un valor de estimación de recursos que puede ser un valor concreto, un rango de valores, un conjunto de valores discretos, etc. El análisis de la BD multidimensional puede producir una estimación de recursos necesarios en función de, por ejemplo, una correspondencia entre la estimación de acopio producida y una combinación multidimensional existente en la BD junto con el correspondiente valor de estimación determinado por dicha combinación multidimensional.
Los diferentes ejemplos descritos en la presente memoria se refieren a procedimientos, sistemas y programas informáticos basados en técnicas de inteligencia artificial para la predicción de acopios y, por lo tanto, una gestión comercial, de compras, de servicios, de producción y de existencias eficiente. Estos procedimientos, sistemas y programas informáticos pueden ser, por lo tanto, de gran utilidad en la prestación de servicios (en dichos ámbitos) a entidades receptoras de productos agrícolas tal como, por ejemplo, alhóndigas, lonjas, cooperativas y comercializadoras agrícolas.
A pesar de que se han descrito aquí sólo algunos ejemplos particulares de la invención, el experto en la materia comprenderá que son posibles otros ejemplos alternativos y/o usos de la invención, así como modificaciones obvias y elementos equivalentes. Además, la
presente invención abarca todas las posibles combinaciones de los ejemplos concretos que se han descrito. Los signos numéricos relativos a los dibujos y colocados entre paréntesis en una reivindicación son solamente para intentar aumentar la comprensión de la reivindicación, y no deben ser interpretados como limitantes del alcance de la protección de la reivindicación. El alcance de la presente invención no debe limitarse a ejemplos concretos, sino que debe ser determinado únicamente por una lectura apropiada de las reivindicaciones adjuntas.
A pesar también de que los ejemplos descritos de la invención con referencia a los dibujos comprenden sistemas informáticos y procedimientos realizados en sistemas informáticos, la invención también se extiende a programas informáticos, más particularmente a programas informáticos en o sobre unos medios portadores, adaptados para poner en práctica la invención. El programa informático puede estar en forma de código fuente, de código objeto o en un código intermedio entre código fuente y código objeto, tal como en forma parcialmente compilada, o en cualquier otra forma adecuada para usar en la implementación de los procesos de acuerdo con la invención. El medio portador puede ser cualquier entidad o dispositivo capaz de portar el programa.
Por ejemplo, el medio portador puede comprender un medio de almacenamiento, tal como una ROM, por ejemplo un CD ROM o una ROM semiconductora, o un medio de grabación magnético, por ejemplo un floppy disc o un disco duro. Además, el medio portador puede ser un medio portador transmisible tal como una señal eléctrica u óptica que puede transmitirse vía cable eléctrico u óptico o mediante radio u otros medios.
Cuando el programa informático está contenido en una señal que puede transmitirse directamente mediante un cable u otro dispositivo o medio, el medio portador puede estar constituido por dicho cable u otro dispositivo o medio.
Alternativamente, el medio portador puede ser un circuito integrado en el que está encapsulado (embedded) el programa informático, estando adaptado dicho circuito integrado para realizar o para usarse en la realización de los procedimientos relevantes.
Por otro lado, la invención también puede ser implementada mediante sistemas informáticos, tales como ordenadores personales, servidores, una red informática de ordenadores, ordenadores portátiles, tabletas o cualquier otro dispositivo programable o
procesador informático. Complementaria o alternativamente también pueden usarse dispositivos electrónicos programables, tales como controladores lógicos programables (ASICs, FPGAs, autómatas programables, etc.).
Por consiguiente, la invención puede implementarse tanto en hardware como en software o en firmware, o cualquier combinación de ellos.