minerÍa de datos e inteligencia de negocio una...

52
Escuela Politécnica Superior de Linares UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO: UNA APLICACIÓN A LA ESTIMACIÓN DEL PRECIO DEL ACEITE DE OLIVA Alumno: Francisco Javier Montoro Salas Tutor: Prof. D. Pedro Nuñez-Cacho Utrilla Depto.: Organización de Empresas, Marketing y Sociología

Upload: others

Post on 21-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

1

Escuela

Polit

écnic

a S

uperior

de L

inare

s

UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares

Trabajo Fin de Grado

______

MINERÍA DE DATOS E

INTELIGENCIA DE NEGOCIO: UNA

APLICACIÓN A LA ESTIMACIÓN

DEL PRECIO DEL ACEITE DE

OLIVA

Alumno: Francisco Javier Montoro Salas

Tutor: Prof. D. Pedro Nuñez-Cacho Utrilla Depto.: Organización de Empresas, Marketing y

Sociología

Page 2: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

2

ESCUELA POLITÉCNICA SUPERIOR DE LINARES

DEPARTAMENTO DE ORGANIZACIÓN DE EMPRESAS, MARKETING y

SOCIOLOGÍA

D. Pedro Núñez-Cacho Utrilla, tutor del Proyecto Fin de Carrera titulado: “Minería de

datos e inteligencia de negocio: una aplicación a la estimación del precio del aceite de

oliva” que presenta D. Francisco Javier Montoro Salas, autoriza su presentación para

defensa y evaluación en la Escuela Politécnica Superior de Linares.

Linares, Junio 2016

El Alumno: El Tutor:

Francisco Javier Montoro Salas D. Pedro Núñez-Cacho Utrilla

Page 3: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

3

ÍNDICE

CAPÍTULO 1: INTRODUCCIÓN ............................................................................................... 6

1.1 Aproximación ....................................................................................................................... 6

1.2 Objetivo .................................................................................................................................. 7

1.3 Estructura .............................................................................................................................. 8

CAPÍTULO 2: BUSINESS INTELLIGENCE ...................................................................................... 9

2.1 Business Intelligence, ¿qué es? ......................................................................................... 9

2.2 ¿Por qué elegir un programa de Business Intelligence? ............................................... 9

2.3 Beneficios del Business Intelligence ............................................................................... 10

2.4 Datos, información y conocimiento ............................................................................... 10

2.5 Arquitectura de Business Intelligence .......................................................................... 11

2.6 Cuadro de mando integral o dashboard ........................................................................ 12

2.6.1 Tipos de cuadro de mando y características ................................................................... 12

2.6.2 Beneficios del cuadro de mando integral ........................................................................ 14

2.7 Datamart .............................................................................................................................. 14

2.8 Data warehouse .................................................................................................................. 15

2.9 Evolución de Business Intelligence ................................................................................ 16

2.10 Data mining ...................................................................................................................... 17

2.10.1 ¿Qué tipos de datos pueden ser minados? .................................................................... 18

2.10.2 ¿Qué tipos de patrones pueden ser minados? ............................................................... 18

CAPÍTULO 3: FACTORES INFLUYENTES EN EL PRECIO DEL ACEITE DE OLIVA ................. 20

CAPÍTULO 4: METODOLOGÍA ..................................................................................................... 22

4.1 Introducción ....................................................................................................................... 22

4.2 Obtención de datos ............................................................................................................ 22

4.3 WEKA .................................................................................................................................... 24

CAPÍTULO 5: RESULTADOS ......................................................................................................... 30

CAPÍTULO 6: CONCLUSIONES ..................................................................................................... 48

6.1 Conclusiones ....................................................................................................................... 48

Page 4: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

4

6.2 Limitaciones y líneas de futuro ....................................................................................... 49

REFERENCIAS Y BIBLIOGRAFÍA ................................................................................................. 51

ÍNDICE DE FIGURAS

Figura 2.1 Datos, información y conocimiento……………………………………………11

Figura 2.2 Arquitectura de Business Intelligence………………………………………….11

Figura 2.3 CMI…………………………………….…………………………………...….14

Figura 2.4 Data Warehouse………………………………………………...……………...15

Figura 2.5 Data Mining……………………………………………………………………17

Figura 4.1 Gráfico evolución mensual Abril 2016 del precio de aceite………….………..23

Figura 4.2 Interfaz Explorer de WEKA…………………………………………………..25

Figura 4.3 Interfaz Knowledge Flow...……………………………………………………26

Figura 4.4 Interfaz Experimenter………………………………………………………….27

Figura 4.5 Visión Explorer inicial……………………………………………….………...28

Figura 5.1 Datos obtenidos con KStar en el primer caso………….………………………30

Figura 5.2 Datos obtenidos con Tablas de decisión en el primer caso………...………….30

Figura 5.3 Datos obtenidos con Regresión por discretización en el primer caso…………31

Figura 5.4 Modelo generado con regresión por discretización para el primer caso………31

Figura 5.5 Datos obtenidos con KStar en el segundo caso………………………………..32

Figura 5.6 Datos obtenidos con Tablas de decisión en el segundo caso……………….….32

Figura 5.7 Datos obtenidos con Regresión por discretización en el segundo caso………..33

Figura 5.8 Modelo generado con regresión por discretización en el segundo caso…….…33

Page 5: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

5

Figura 5.9 Interfaz en estado inicial………………………………………………………34

Figura 5.10 Interfaz con resultado……………………………………………….………..44

ÍNDICE DE TABLAS

Tabla 4.1 Movimientos mensuales de aceite de oliva (en miles de toneladas) en la campaña

2011/12, a 29 de febrero ………………………………………………………………….29

Page 6: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

6

CAPÍTULO 1: INTRODUCCIÓN

1.1 Aproximación

En los últimos 20 años el mundo, ha experimentado un gran avance en tecnología.

Se ha pasado de los ordenadores más primitivos, por la Web y hasta poder tener acceso a

Internet y mucha más información desde la mano con los smartphones–. Estas facilidades

de acceso a Internet y aplicaciones han propiciado que se genere una gran cantidad de

información, que es lo que se conoce actualmente como Big Data.

El término Big Data se define en 2012 y hace referencia a una cantidad de datos tal

que supera la capacidad de software actual para capturarlos, administrarlos y procesarlos

en un tiempo razonable [16]. Estos datos engloban a los datos que generan las personas

como enviar un correo, transacciones, Web, o datos biométricos. Existen diversas

herramientas para tratar estas cantidades de datos como Hadoop, NoSQL o Cassandra entre

otros. Las herramientas que tratan con Big data se van centrar en tres tipos de datos [16]:

Datos estructurados: datos que tienen bien definidos formato y longitud. Por

ejemplo las bases de datos relacionales y hojas de cálculo.

Datos no estructurados: datos que en su momento de tomarlos no tienen un formato

específico, no se pueden almacenar dentro de una tabla. Por ejemplo archivos PDF.

Datos semiestructurados: no contienen campos determinados, pero sí marcadores

para separar los campos. No siguen una estructura regular como para ser tratados de

forma habitual. Ejemplos de estos datos son los archivos HTML, JSON o XML.

Los estudios proyectan que el Big Data va a tener una repercusión en el mercado de

48.6 billones de dólares de inversión anual para 2019 [17]. Actualmente y vistos los

beneficios potenciales en una empresa, los esfuerzos en las áreas de Business Intelligence

se centran en el Big Data: técnicas y herramientas para procesar los datos (cuando se habla

de Big Data hablamos de él en términos de Petabytes y Hexabytes de datos). Se quiere

obtener una información valiosa de ellos lo más rápido posible, y esto, con las técnicas

tradicionales, no es posible.

Las empresas que manejan tales cantidades de datos pueden utilizar tecnologías de

Business Intelligence aplicadas al Big Data para evolucionar y obtener beneficios. Antes

con los conjuntos de datos que manejaban, se tomaban decisiones a nivel operativo. Ahora

Page 7: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

7

con un tratamiento adecuado, estas grandes cantidades de datos pueden resultar de vital

importancia en las decisiones estratégicas de la empresa.

Vistos los beneficios que supone la inserción de Business Intelligence en la empresa

se abren nuevas líneas de investigación sobre metodologías y tecnologías en este campo.

Mediante congresos como Business Intelligence Congress (BIC), que se celebran en

Estados Unidos, las distintas universidades se ponen en contacto entre ellas y con las

empresas para lograr avances en distintas áreas, como en el ámbito empresarial, realizar el

análisis de datos en redes sociales; en el deportivo, obtener las estadísticas de un partido de

fútbol profesional; o en temas de investigación como datos obtenidos de la gripe en el

mundo.

1.2 Objetivo

A pesar de toda la repercusión que tiene el Business Intelligence, este Trabajo de

Fin de Grado se centra en un área poco estudiada como es el precio del aceite. Si bien el

Business Intelligence se aplica para mejorar procesos de la empresa a todos los niveles,

cabe resaltar que dentro de las empresas que se dedican al sector, rara vez emplean estas

técnicas de inteligencia de negocio.

Este Trabajo de Fin de Grado tiene como objetivo investigar los patrones que hay

ocultos en las grandes colecciones de datos que manejan las empresas (Big Data); es lo que

se conoce como Data Mining. Concretamente nos vamos a centrar en ver que patrones

definen el comportamiento del precio del aceite para estimar una predicción. Una vez

investigados los patrones se va a proceder a hacer una aplicación para visualizar la

predicción en función de estos patrones.

La predicción de estos valores del precio del aceite puede contribuir a la empresa a

estimar más rápidamente qué balance financiero provisional va a tener en la campaña y así

por ejemplo poder establecer un plan de gasto anticipado. También se puede estimar el

precio en otras regiones geográficas para ver el comportamiento del mercado en otras

regiones y analiza a la competencia no solo a nivel local, si no también global.

Para la predicción de estos valores se ha escogido la herramienta de software

WEKA, que está enfocada en la minería de datos. Es una herramienta innovadora en el

sector y que permite trabajar con grandes cantidades de datos.

Page 8: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

8

1.3 Estructura

La estructura del trabajo se divide en un primera parte teórica en los capítulos 2 y 3

que incluye un marco teórico donde vamos a asentar las bases del Business Intelligence,

beneficios que aporta, su arquitectura describiendo cada una de las partes que la componen

de forma general y en particular del Data Mining. Tras esto, en el capítulo 3, vamos a

estudiar qué factores son influyentes en el precio del aceite para poder obtener los datos

que van a generar los patrones de precios.

A continuación, en los capítulos 4 y 5 se incluye la parte más práctica del Trabajo

de Fin de Grado. Procederemos mediante el programa WEKA 3.7, que es una herramienta

de Data Mining, a obtener los patrones que buscamos en nuestra predicción basándonos en

los datos obtenidos anteriormente. Para ello, tenemos que proporcionar al programa los

datos en los que nos hemos basado para realizar el estudio y WEKA una vez los tenga y

mediante un análisis adecuado obtendrá los patrones que buscamos. Una vez obtenidos

estos patrones procederemos al desarrollo de nuestra aplicación que está basada en

lenguaje JAVA. Tras esto analizaremos los resultados de los patrones que se han obtenido

para ver si son acordes a las tendencias que sigue el mercado.

Por último, en el capítulo 6 expondremos las conclusiones a las que hemos llegado,

así como las limitaciones que hemos encontrado y las líneas de investigación futuras.

Page 9: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

9

CAPÍTULO 2: BUSINESS INTELLIGENCE

2.1 Business Intelligence, ¿qué es?

A pesar de que en los últimos años se han dado grandes avances en el manejo de

datos, la capacidad de extraer información de negocio valiosa de las grandes cantidades de

datos siempre es deseable. Es lo que llama Business Intelligence (BI) que se puede definir

como el conjunto de procesos, herramientas, y tecnologías usadas para extraer resultados

de un conjunto de datos para cobrar una ventaja en la empresa/negocio [2]. También se

conoce al BI como la habilidad para transformar los datos en información, y la información

en conocimiento, de forma que se pueda optimizar el proceso de toma de decisiones en los

negocios [4].

Existe un valor oculto en las colecciones de datos. Históricamente estos datos se

usaban únicamente para tomar decisiones en el ámbito operativo. Actualmente y con el

análisis adecuado a estas colecciones de datos, sirven no solo para tomar decisiones a nivel

operativo de la empresa, sino que también son muy útiles para las decisiones a nivel

táctico y estratégico.

2.2 ¿Por qué elegir un programa de Business Intelligence?

Un programa de Business Intelligence, puede contribuir en la empresa en los

siguientes puntos [2]:

Valor financiero asociado al aumento de rentabilidad, que puede venir de una

bajada en los costes o de un aumento de los beneficios que haya causado el

programa.

Productividad, por ejemplo disminuyendo el tiempo de los procesos extremo a

extremo y/o incrementado la calidad de los productos.

Confianza, tanto de empleados como de clientes.

Riesgos como la exposición a endeudarse o confianza en el capital e inversión en

activos.

Usando un programa de BI no solo podríamos responder a preguntas como:

¿Quiénes son nuestros 10 mejores clientes? Además tenemos una herramienta para

cambiar la forma de hacer negocio y una gran ayuda a la hora de tomar decisiones críticas

Page 10: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

10

en la empresa, siempre y cuando se hayan usado colecciones de datos con buena calidad

que no conduzcan a conclusiones defectuosas y por tanto a decisiones erróneas en la

empresa.

2.3 Beneficios del Business Intelligence

Con la implantación de BI en nuestra empresa podemos conseguir los siguientes

beneficios [7]:

Con BI, las empresas pueden analizar cuáles son los clientes más rentables y las

razones de la fidelidad a la empresa.

Analizar el flujo de clics en una página Web para implementar estrategias de e-

commerce.

Descubrir actividades criminales de lavado de dinero.

Detectar rápidamente problemas en productos que están en garantía para minimizar

las deficiencias de diseño.

Ajustar las tarifas de una forma más rentable para las primas de seguros.

Determinar por qué los clientes abandonan la competencia y se convierten en

clientes de nuestra empresa.

Determinar qué productos y servicios van a comprar los consumidores y cuándo lo

van a hacer.

2.4 Datos, información y conocimiento

¿Cómo podemos diferenciar el conocimiento de los datos y de la información? Una

forma de distinguirlos puede ser pensar que los datos se encuentran en el mundo, el

conocimiento se encuentra en individuos de cualquier tipo y la información tendría un

papel intermedio entre ambos [8]. Una aproximación se puede ver en la figura 2.1:

Page 11: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

11

Figura 2.1. Datos, información y conocimiento. Fuente: [8]

En la base de la pirámide se encuentran los datos que podemos definir como unidad

semántica mínima y elementos primarios de información. Los datos por sí solos no nos

dicen nada relevante sobre la toma de decisiones o sobre el porqué de las cosas.

En el siguiente nivel se ubica la información, conjunto procesado de datos que

tienen un significado, por tanto sirven de ayuda a la hora de tomar decisiones.

Y por último el conocimiento que es una mezcla de experiencia, valores e

información que sirve como marco para la incorporación de nuevas experiencias e

información, y es útil para la acción.

2.5 Arquitectura de Business Intelligence

Figura 2.2. Arquitectura de Business Intelligence. Fuente: [5]

Si nos fijamos en la figura 2.2, la primera parte de la arquitectura consta de los

datos, que pueden proveer de distintas fuentes tales como las bases de datos de los

Page 12: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

12

departamentos de la empresa o de los vendedores externos. Estos datos pueden ser

inconsistentes, estar en distintos formatos o presentar distintos niveles de calidad. Es por

ello que a continuación intervienen las herramientas Extract-Transform-Load (ETL), que

tienen la función de preparar los datos para realizar las tareas de BI.

Una vez se ha hecho la preparación de los datos pasamos a la siguiente parte de la

arquitectura: los Data Warehouse. Los datos que llegan preparados necesitan ser

almacenados y es aquí donde entran en juego los servidores warehouse que son

típicamente Relational DataBase Management Systems (RDBMS) .

Estos servidores warehouse se apoyan en unos servidores intermedios que

proporcionan funcionalidades específicas para la práctica de BI. Por ejemplo los servidores

de proceso analítico online (OLAP) proporcionan una vista multidimensional a los

usuarios o aplicaciones y permite realizar operaciones de BI como el filtrado o agregación.

El Data Mining consiste en profundizar más allá de la información que nos dan los

servidores OLAP y permite establecer modelos predictivos para responder a preguntas

como: "¿Qué clientes van a responder a mi campaña de catálogos por correo?".

Existen diversas aplicaciones para que los usuarios finales realicen tareas de BI

como hojas de cálculo, portales para realizar una búsqueda, cuadros de mando o

dashboards. Todas estas herramientas permiten realizar consultas ad hoc, visualizar los

modelos de data mining y entre otras funciones.

2.6 Cuadro de mando integral o dashboard

El cuadro de mando integral (CMI) es una herramienta de control empresarial que

permite establecer y monitorizar los objetivos de una empresa y sus diferentes áreas o

unidades [9]. Es muy útil para medir la evolución de la actividad de una compañía y sus

resultados desde un punto de vista estratégico y con una perspectiva general.

2.6.1 Tipos de cuadro de mando y características

El Cuadro de Mando Operativo (CMO), es una herramienta de control centrada en

seguir variables operativas, que pertenecen a distintas áreas de la empresa. Su periodicidad

puede ser diaria, semanal o mensual y se centra en procesos. Tiene una implantación

sencilla y rápida y debe estar ligado siempre a un sistema de soporte de decisiones (DSS).

Page 13: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

13

El cuadro de mando integral (CMI) representa la estrategia global de una empresa

desde el punto de vista de la Dirección General. Hay distintos subtipos de CMI aunque los

más utilizados son los que usan la metodología de Kaplan & Norton. Como características

propias de este subtipo se puede indicar que usan indicadores financieros y no financieros

y que se organizan en 4 áreas o perspectivas como se puede apreciar en la figura 2.3:

aprendizaje y conocimiento, procesos internos, cliente y financiera [6] [9].

La perspectiva de aprendizaje y conocimiento está enfocada en los recursos que

importan en la creación de valor, las personas y la tecnología. Trata de resaltar la

importancia que tiene el aprendizaje sobre la formación tradicional. Los roles más

importantes en esta perspectiva los desempeñan los tutores y mentores de la compañía, así

como la actitud y la comunicación fluida entre los empleados.

En la perspectiva de procesos internos se recoge información acerca del grado en

que las áreas del negocio se desarrollan correctamente. Dentro de esta perspectiva los

indicadores más importantes de procesos son de innovación, calidad o productividad dada

la influencia comercial y financiera que tienen.

Siguiendo con la perspectiva del cliente, aquí se usa la satisfacción del cliente como

indicador y se configura como un dato de gran relevancia. Va a tener repercusión en el

posicionamiento de la compañía respecto de la competencia y en la percepción de la marca

por parte de los consumidores.

Por último la perspectiva financiera está centrada en el proceso de las empresas con

ánimo de lucro, maximizar el beneficio de las inversiones realizadas. Se mide la capacidad

de generar valor por parte de la empresa, maximizar beneficios y minimizar costes.

Page 14: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

14

Figura 2.3. CMI. Fuente: [10]

2.6.2 Beneficios del cuadro de mando integral

Permite definir estrategias a corto, medio y largo plazo.

Hace que la toma de decisiones sea más rápida.

Permite que haya un consenso global en la empresa para la consecución de

objetivos conjuntos, indicando el camino a seguir y cómo alcanzarlo.

Detecta de forma automática desviaciones en el plan estratégico u operativo.

2.7 Datamart

Un datamart es una herramienta del almacenamiento de información a nivel

departamental. Al estar especializada en ese departamento, posee una estructura óptima de

datos para analizar desde todas las perspectivas posibles los procesos de ese departamento

en concreto. El datamart puede tomar los datos de un data warehouse o tomar los datos de

distintas fuentes de información.

Page 15: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

15

Para crear esta estructura óptima en el datamart se pueden usar OLAP u OLTP

(On-Line Transtactional Processing):

Datamart OLAP: se basan en los cubos OLAP, para cada departamento se

construye un cubo con las dimensiones e indicadores necesarios. [11]

Datamart OLTP: suelen ser extractos de un warehouse pero suelen

implementar mejoras (operaciones de agregación y filtrado por ejemplo)

particularizando estas mejoras en función del área de la empresa.

2.8 Data warehouse

Un data warehouse es un almacén de datos que recopila información de una o más

fuentes distintas, ya que puede abarcar varias áreas de la empresa, y que permite un manejo

fluido de los datos para su análisis. La instalación de un data warehouse suele ser el primer

paso que da la empresa cuando quiere implantar una solución BI. Un ejemplo de Data

warehouse se muestra en la figura 2.4.

Figura 2.4. Data Warehouse [12]

Un data warehouse se caracteriza por ser:

Integrado: los datos que se almacenan deben ser integrados en la estructura de

forma consistente y las inconsistencias se deben eliminar.

Page 16: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

16

Temático: los datos se organizan por temas para facilitar el acceso a los usuarios

finales.

Histórico: el almacenar datos históricos permite realizar un análisis de tendencia.

De esta forma el data warehouse se carga con los valores que toma una variable en

el tiempo para poder compararla.

No volátil: en el data warehouse una actualización implica la inserción de nuevos

datos sin borrar o modificar los datos anteriores, haciendo de esta manera que la

información sea permanente.

2.9 Evolución de Business Intelligence

El BI ha pasado por distintas etapas. La primera de ellas se denomina BI 1.0 en la

cual las raíces de la inteligencia de negocio se encuentran en la administración de grandes

bases de datos. Las tecnologías y aplicaciones que se usan actualmente en la industria

pueden ser consideradas BI 1.0 donde los datos son estructurados y almacenados en

RDBMS. Las técnicas para el análisis se basan en métodos estadísticos de la década 1970 y

técnicas de data mining de la década 1980 [3].

La siguiente etapa, BI 2.0 surgió con la aparición de Internet y la Web. El mercado

ofrecía nuevas colecciones de datos y oportunidades únicas. En esta etapa a los sistemas

RDBMS tradicionales se añade información detallada mediante IP que se almacena

mediante cookies. Esto supone una nueva forma de detectar las nuevas oportunidades de

negocio y las necesidades de los clientes [3].

La etapa más reciente se le llama BI 3.0 y es una etapa emergente aún. Se basa en el

creciente aumento de dispositivos móviles que el mercado está experimentando y

experimentará próximamente. Mediante los nuevos dispositivos móviles se ha abierto otra

forma de intercambio de datos mediante las aplicaciones que se descargan los usuarios en

sus smartphones o los dispositivos con tecnologías RFID. Las técnicas para analizar y

visualizar a larga escala los datos de dispositivos móviles y de sensores son todavía

desconocidas [3].

Page 17: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

17

2.10 Data mining

Normalmente se suele tomar como sinónimo de data mining otro término muy

popular que es knowledge discovery from data (KDD), aunque otros ven en data mining

un paso esencial en el proceso de conocimiento de los datos [1]. Este proceso de

descubrimiento de conocimiento se muestra en la figura 2.5:

Figura 2.5 Data Mining. Fuente: [1]

1. Limpieza de datos: para remover datos inconsistentes y ruido.

2. Integración de los datos: en esta etapa se combinan datos de múltiples fuentes.

3. Selección de los datos: se toman los datos que van a ser relevantes para el análisis

requerido.

4. Transformación de los datos: los datos se formatean para poder realizar el análisis.

Las operaciones de agregación y resumen son comunes en esta etapa.

Page 18: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

18

5. Data Mining: en esta etapa se aplican los métodos para extraer los patrones que

buscamos.

6. Evaluación de patrones: se identifican los patrones que realmente son útiles para el

negocio.

7. Presentación del conocimiento: el conocimiento adquirido se presenta a los

usuarios.

2.10.1 ¿Qué tipos de datos pueden ser minados?

El data mining puede ser aplicado a cualquier tipo de dato siempre que el dato

resulte significativo en el objetivo que perseguimos. Así pues, los distintos tipos de datos

que podemos minar son:

Datos de Bases de Datos: colecciones de datos interrelacionadas.

Data warehouses.

Datos de transacciones: compras de un cliente, "clics" en una página web.

Otros tipos de datos

2.10.2 ¿Qué tipos de patrones pueden ser minados?

Existen distintos tipos de patrones que podemos obtener con data mining:

Caracterización y discriminación, patrones comunes, clasificación y regresión, análisis de

grupo y análisis de valores atípicos.

En primer lugar tenemos la caracterización y discriminación. La caracterización es

un resumen de las características generales de una clase de datos y la discriminación es una

comparación de las características generales de una clase datos con las características

generales de otra clase.

Otro tipo son los patrones comunes en los datos. Se trata de buscar patrones que

suelen ocurrir cuando se estudian los datos como por ejemplo, qué tienden a buscar los

usuarios que por primera vez compran un portátil.

En cuanto a la clasificación y regresión para análisis predictivo podemos decir que

la clasificación es el concepto que hace que distingamos distintas clases de datos. La

regresión permite predecir valores numéricos desconocidos en lugar de clases, como hace

la clasificación.

Page 19: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

19

El análisis de grupo consiste en la formación de grupos entre los datos sin consultar la que

clase corresponden. Los grupos se forman maximizando parecidos y minimizando

diferencias que tengan los datos entre ellos.

Por último el análisis de valores atípicos: se centra en aplicar el estudio en los valores

atípicos de las colecciones de datos. Este tipo de análisis se conoce también como anomaly

mining (minería anómala).

Page 20: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

20

CAPÍTULO 3: FACTORES INFLUYENTES EN EL PRECIO DEL ACEITE DE

OLIVA

Para determinar en función de qué datos vamos a obtener los patrones de

comportamiento del precio del aceite, tenemos que saber qué factores son influyentes en el

precio de éste. Entre estos factores podemos citar:

Producción. Una producción escasa siempre va a acarrear una menor oferta del

producto, y por tanto, una subida de su precio. Así por ejemplo en verano 2015

alcanzó máximos el precio de aceite de oliva virgen extra, rozando los 4€/litro,

dada la producción escasa de la campaña anterior (840.000 Toneladas, 1 millón

menos que un año antes) [13]. La producción de aceituna genera unos costes muy

elevados derivados de la recolección, la poda y tratamientos químicos [14]. Es por

tanto el factor más influyente en el precio.

Precipitaciones. Escasas precipitaciones suponen menor cosecha, lo que lleva a un

menor precio. Sin embargo si las precipitaciones ocurren durante la última fase de

crecimiento de la aceituna influyen muy positivamente en la producción.

Nivel de polen [15]: un alto nivel de polen es indicador de una buena campaña, ya

que simboliza que ha habido mucha floración de olivos.

Importaciones: Un precio alto de aceite supone como ya hemos dicho, una menor

oferta de él. Es por ello que las importaciones suben cuando el precio del aceite esta

alto.

Exportaciones: Al contrario que las importaciones cuando hay más oferta de

producto que de demanda el precio baja y las exportaciones de este suben.

Ajustes de precios por otras empresas [14]. La empresa se fijará en lo que haga la

competencia y actuará de la misma forma con mayor o menor retraso. Si se ajustan

los precios se llevan las siguientes acciones a cabo:

o Los costes de ajuste impiden que se transmita el aumento de los costes.

o La empresa, de forma individual, ajustará sus precios si espera que el resto

de competidores lo hagan.

o Si al final se lleva a cabo el ajuste, hay un cambio en el nivel de los precios.

Información de mercado. Abarca dos dimensiones [14]:

o Cantidad: cuanto mayor es la cantidad de información disponible sobre, por

ejemplo, precios o comportamiento de compra, mejores estrategias y ajustes

se podrán elaborar en relación a los precios.

Page 21: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

21

o Calidad: cuanta más calidad tenga la información mejor se adecuarán las

estrategias a la realidad del mercado.

Variación estacional: los precios más bajos suelen encontrarse en el mes de abril,

justo un mes después de la recolección, con los picos máximos de oferta y los más

altos en los meses de septiembre y octubre, justo antes de empezar la recolección,

con los picos mínimos de oferta.

Existencias: ante una campaña mala, se puede hacer frente a la demanda sacando

producto almacenado, evitando así que los precios se disparen.

Precio de otros tipos de aceites: en función del tipo de aceite de oliva, lampante,

virgen, o virgen extra vamos a obtener un precio directamente relacionado con los

otros dos tipos. Cuando el mercado responde con subidas todos estos aceites suben

y lo mismo ocurre cuando los precios bajan. En nuestro caso nos sería útil conocer

el precio de un tipo de aceite que no estemos estudiando para acelerar la

publicación de ese precio en base al publicado.

Además de obtener los datos del precio del aceite de oliva virgen y virgen extra,

hemos seleccionado 4 factores en función de su influencia sobre el precio del aceite y la

disponibilidad de los datos. Estos factores han sido la producción, precipitaciones,

exportaciones de aceite de oliva e importaciones de aceite de oliva, que son los que el

observatorio de precios de agricultura de la Junta de Andalucía siempre referencia a la hora

de referirse a ellos, por tanto podemos considerarlos los más destacados y disponibles.

Page 22: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

22

CAPÍTULO 4: METODOLOGÍA

4.1 Introducción

Para la realización de la predicción de precios vamos a usar la herramienta de

Business Intelligence WEKA 3.7. Hemos considerado que es la más apropiada dado el

potencial que tiene para tratar grandes cantidades de datos, los múltiples algoritmos de

predicción, es una aplicación que usa data mining y permite hacer preprocesado de los

datos con los que trabajamos.

En cuanto a metodología en primer lugar, realizamos una búsqueda de los datos que

nos iban a ser útiles en la web y le dimos el formato adecuado para que WEKA pudiera

trabajar con ellos. Una vez introducidos los datos se preprocesan para eliminar datos o

atributos que sean innecesarios. A continuación se procede a aplicar algunos métodos que

ofrece WEKA para elaborar nuestra predicción. Por último una vez encontrado el

mecanismo óptimo elaboramos nuestra aplicación que va a estimar el precio de aceite en

función de unos datos introducidos por el usuario.

4.2 Obtención de datos

Los datos usados como se ha comentado en el punto 3 han sido los de precio de

aceite oliva virgen y virgen extra, producción, exportaciones, importaciones y

precipitaciones.

Los datos del precio se han obtenido a través del Sitio Web

http://www.poolred.com/, que es donde se encuentran los precios oficiales a nivel nacional

actualizados día a día. En la figura 4.1 se muestra la evolución del precio en el mes de

Abril de 2016.

Page 23: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

23

Figura 4.1 Gráfico evolución mensual Abril 2016 de precio de aceite. Fuente:

http://www.poolred.com/Publico/GraficoEvolucion.aspx?tipo=0

Para los demás datos hemos consultado el observatorio de precios de la junta de

Andalucía que realiza informes de manera semanal de la evolución del mercado del aceite

de oliva a nivel nacional. En la siguiente tabla se muestran datos del mercado de aceite de

oliva a nivel nacional:

Tabla 4.1. Movimientos mensuales de aceite de oliva (en miles de toneladas) en la

campaña 2011/12, a 29 de febrero. Fuente:

http://www.juntadeandalucia.es/agriculturaypesca/observatorio/servlet/FrontController?act

ion=List&ec=subsector&subsector=33&table=11030&CODTIPOESTUDIO=3&page=10

Por último comentar que el periodo de los datos con los que vamos a trabajar

comprende desde Enero de 2012 a Diciembre de 2015, 4 años.

Page 24: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

24

4.3 WEKA

En este capítulo vamos a realizar una breve descripción de la herramienta que

hemos usado para la minería de datos WEKA. WEKA es un acrónimo que proviene de

Waikato Environment for Knowledge Analysis, consiste en un entorno en cual podemos

aplicar, analizar y evaluar las técnicas más importantes de análisis de datos, centrándose

en las de aprendizaje automático, sobre unos datos que introduce el usuario.

WEKA puede manejar 4 tipos principales de problemas:

Clasificación: dada una serie de observaciones etiquetadas, predecir nuevas

etiquetas para nuevas observaciones.

Regresión: en este caso se usan valores numéricos en lugar de etiquetas.

Selección de atributos: encontrar atributos en las observaciones que son

importantes para la predicción.

"Clusters": consiste en identificar grupos de observaciones similares, "clusters" o

racimos.

WEKA tiene 3 formas de acceso mediante interfaz gráfica:

Explorer: la interfaz más popular para procesar conjuntos de datos. Su interfaz se

compone de pestañas.

Page 25: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

25

Figura 4.2. Interfaz Explorer de WEKA. Fuente: elaboración propia

Knowledge flow: el usuario diseña y conecta herramientas que representan los

componentes de WEKA.

Page 26: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

26

Figura 4.3. Interfaz Knowledge Flow. Fuente: elaboración propia

Experimenter: permite realizar una comparación a larga escala del rendimiento de

los algoritmos de aprendizaje.

Page 27: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

27

Figura 4.4. Interfaz Experimenter. Fuente: elaboración propia

En nuestro caso vamos a trabajar con la interfaz "Explorer". Para que WEKA

trabaje mejor con los datos almacenados, estos se van a convertir a formato ".arff". Es un

formato creado por los desarrolladores de WEKA que no solo incluye los datos en bruto,

también meta-información sobre ellos como el nombre y tipo.

Page 28: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

28

Figura 4.5. Visión Explorer Inicial. Fuente: elaboración propia.

En esta opción se puede realizar un preprocesado de los datos, filtrando datos o

atributos innecesarios por ejemplo. En nuestro caso vamos a realizar dos predicciones:

La primera va a estimar el precio sin conocer los datos, es decir se va a escoger un

mes y para ese mes vamos a obtener un precio estimado en función de unos datos

también estimados. En este caso vamos a tener que realizar preprocesado de datos

para eliminar el precio de aceite oliva virgen para que no influya sobre la

predicción, ya que este precio es desconocido.

El segundo caso va a servir para agilizar la publicación del precio del aceite ya que

una vez conocidos todos los datos del mercado, podemos obtener una estimación

fiable de un tipo concreto al conocer el precio de otro. En este caso no necesitamos

preprocesado ya que conocemos todos los datos.

Page 29: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

29

Una vez realizado el procesado o no pasamos a la pestaña "Classify". En esta

pestaña se encuentran los distintos algoritmos configurables para realizar la predicción, así

como las opciones para realizar el test predictivo.

Como ya hemos dicho vamos a estudiar dos casos. Para los dos casos hemos usado

los algoritmos de regresión por discretización, KStar y tabla de decisión, ya que son

apropiados a las características de los datos con los que trabajamos.

Regresión por discretización: basado en regresión, emplea cualquier clasificador en

una copia de los datos que tiene el atributo discretizado. El valor predictivo es el

resultado del valor esperado para la media de cada intervalo discretizado (basado en

probabilidades estimadas para cada intervalo).

KStar: clasificador basado en instancias. La diferencia con los demás clasificadores

de su tipo es que usa una función basada en la distancia de entropía.

Tabla de decisión: los algoritmos basados en una tabla de decisión constan de una

serie de reglas que permiten agrupar las instancias en una serie de clases, para cada

una de las cuales se calcula de una forma el valor estimado de la instancia

Page 30: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

30

CAPÍTULO 5: RESULTADOS

A continuación en este capítulo vamos a exponer los resultados obtenidos para el

primer caso:

KStar

Figura 5.1. Datos obtenidos con KStar en el primer caso. Fuente: elaboración propia

Con las opciones de configuración por defecto y usando la opción "Training set",

que evalúa el clasificador sobre el mismo conjunto sobre el que se construye el modelo,

podemos observar en la figura 5.1 que la correlación es total y que el porcentaje de error es

muy bajo. No obstante este algoritmo no nos proporciona una salida implementable en

nuestra aplicación, pero sirve para comprobar que efectivamente existe dependencia entre

los atributos estudiados.

Tabla de decisión

Figura 5.2. Datos obtenidos con Tablas de decisión en el primer caso. Fuente: elaboración

propia

Con las opciones de configuración por defecto y usando la opción "Training set"

podemos observar en la figura 5.2 que obtenemos peores resultados que con "KStar". La

correlación no es tan buena y el error medio rondaría 0.3€/kg.

Regresión por discretización

Page 31: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

31

Figura 5.3. Datos obtenidos con Regresión por discretización en el primer caso. Fuente:

elaboración propia

En este último caso, figura 5.3, obtenemos una correlación alta y un error medio de

0.2€/kg, cuando el precio medio del aceite suele rondar los 3€/kg, por tanto es un error

bajo. Además nos proporciona el siguiente modelo implementable en nuestra aplicación,

que podemos ver en la figura 5.4:

Figura 5.4. Modelo generado con regresión por discretización para el primer caso. Fuente

elaboración propia

Page 32: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

32

Por tanto para el primer caso vamos a elegir la regresión por discretización como

algoritmo a usar en nuestra aplicación, dado que ofrece mejores resultados que las tablas

de decisión y ofrece una salida implementable a diferencia de KStar.

Para el segundo caso obtenemos los siguientes resultados:

KStar

Figura 5.5. Datos obtenidos con KStar en el segundo caso. Fuente: elaboración propia

Podemos ver en la figura 5.5 que la correlación es total y el error absoluto medio es

igual a 0, pero seguimos teniendo el problema de que no nos proporciona una salida

implementable.

Tabla de decisión

Figura 5.6. Datos obtenidos con Tablas de decisión en el segundo caso. Fuente:

elaboración propia.

Con este algoritmo según la figura 5.6 obtenemos resultados muy buenos, pero

inferiores como vamos a ver a continuación a la regresión por discretización.

Page 33: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

33

Regresión por discretización

Figura 5.7. Datos obtenidos con Regresión por discretización en el segundo caso. Fuente:

elaboración propia.

Fijándonos en la figura 5.7 vemos que la correlación es prácticamente óptima y el

error absoluto medio es muy bajo, tan sólo de 0.05€/kg de aceite. Con este algoritmo

obtenemos la siguiente salida:

Figura 5.8. Modelo generado con regresión por discretización para el segundo caso. Fuente

elaboración propia

Page 34: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

34

En la figura 5.8 podemos ver que el precio del aceite oliva virgen depende

directamente del precio de aceite de oliva, es por ello que este caso se usa para poder

agilizar la publicación del precio de un tipo de aceite una vez conocemos el otro.

Estos resultados los vamos a implementar en nuestra aplicación. La aplicación va a

estar desarrollada en lenguaje JAVA y con el entorno de trabajo NetBeans IDE 7.3.1. Se va

a componer de una interfaz de usuario con el aspecto de la figura 5.5:

Figura 5.9. Interfaz en estado inicial. Fuente: elaboración propia

Y cuyo código sería el siguiente:

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package prediccion;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

Page 35: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

35

import java.awt.event.KeyEvent;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

/**

*

* @author javi

*/

public class Interfaz extends javax.swing.JFrame implements

ActionListener {

String precip,exportacion,importacion,pr,precio;

/**

* Creates new form Interfaz

*/

public Interfaz() {

initComponents();

//Titulo de la interfaz

this.setTitle("Estimación precio aceite");

//Borramos la lista por defecto del desplegable y añadimos los

nuevos componentes

tipo.removeAllItems();

tipo.addItem("Oliva virgen");

tipo.addItem("Oliva virgen extra");

Calcular.addActionListener(this);

//Los metodos keyTyped controlan que no se introduzcan letras en

los campos de relleno

Precip.addKeyListener(new KeyAdapter()

{

public void keyTyped(KeyEvent e)

{

char caracter = e.getKeyChar();

// Verificar si la tecla pulsada no es un digito

if(((caracter < '0') ||

(caracter > '9'))&&

(caracter != '\b' /*corresponde a BACK_SPACE*/))

{

e.consume(); // ignorar el evento de teclado

}

}

});

export.addKeyListener(new KeyAdapter()

{

public void keyTyped(KeyEvent e)

{

char caracter = e.getKeyChar();

// Verificar si la tecla pulsada no es un digito

if(((caracter < '0') ||

(caracter > '9'))&&

(caracter != '\b' /*corresponde a BACK_SPACE*/) && (caracter

!='.'))

{

e.consume(); // ignorar el evento de teclado

}

}

});

impor.addKeyListener(new KeyAdapter()

Page 36: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

36

{

public void keyTyped(KeyEvent e)

{

char caracter = e.getKeyChar();

// Verificar si la tecla pulsada no es un digito

if(((caracter < '0') ||

(caracter > '9'))&&

(caracter != '\b' /*corresponde a BACK_SPACE*/) && (caracter

!='.'))

{

e.consume(); // ignorar el evento de teclado

}

}

});

prec.addKeyListener(new KeyAdapter()

{

public void keyTyped(KeyEvent e)

{

char caracter = e.getKeyChar();

// Verificar si la tecla pulsada no es un digito

if(((caracter < '0') ||

(caracter > '9'))&&

(caracter != '\b' /*corresponde a BACK_SPACE*/) && (caracter

!='.'))

{

e.consume(); // ignorar el evento de teclado

}

}

});

prod.addKeyListener(new KeyAdapter()

{

public void keyTyped(KeyEvent e)

{

char caracter = e.getKeyChar();

// Verificar si la tecla pulsada no es un digito

if(((caracter < '0') ||

(caracter > '9'))&&

(caracter != '\b' /*corresponde a BACK_SPACE*/) && (caracter

!='.'))

{

e.consume(); // ignorar el evento de teclado

}

}

});

}

/**

* This method is called from within the constructor to initialize

the form.

* WARNING: Do NOT modify this code. The content of this method is

always

* regenerated by the Form Editor.

*/

Page 37: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

37

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

tipo = new javax.swing.JComboBox();

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

Precip = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

export = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

impor = new javax.swing.JTextField();

jLabel5 = new javax.swing.JLabel();

prod = new javax.swing.JTextField();

jLabel6 = new javax.swing.JLabel();

Calcular = new javax.swing.JButton();

result = new javax.swing.JTextField();

jLabel7 = new javax.swing.JLabel();

prec = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

tipo.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

"Item 1", "Item 2", "Item 3", "Item 4" }));

jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel1.setText("Indica el tipo de aceite al que quieres estimar

precio");

jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel2.setText("Cantidad de precipitaciones en el mes en L/m2");

jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

Precip.setHorizontalAlignment(javax.swing.JTextField.CENTER);

Precip.addPropertyChangeListener(new

java.beans.PropertyChangeListener() {

public void propertyChange(java.beans.PropertyChangeEvent

evt) {

PrecipPropertyChange(evt);

}

});

jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel3.setText("Cantidad de exportaciones en el mes en miles de

toneladas");

export.setHorizontalAlignment(javax.swing.JTextField.CENTER);

export.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

exportActionPerformed(evt);

}

});

export.addPropertyChangeListener(new

java.beans.PropertyChangeListener() {

public void propertyChange(java.beans.PropertyChangeEvent

evt) {

Page 38: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

38

exportPropertyChange(evt);

}

});

jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel4.setText("Cantidad de importaciones en el mes en miles de

toneladas");

impor.setHorizontalAlignment(javax.swing.JTextField.CENTER);

jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel5.setText("Cantidad producida en el mes en miles de

toneladas");

prod.setHorizontalAlignment(javax.swing.JTextField.CENTER);

prod.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

prodActionPerformed(evt);

}

});

jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel6.setText("Precio aceite oliva virgen");

jLabel6.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

Calcular.setText("Calcular");

Calcular.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

CalcularActionPerformed(evt);

}

});

result.setEditable(false);

jLabel7.setText("Resultado");

prec.setHorizontalAlignment(javax.swing.JTextField.CENTER);

prec.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

precActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new

javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR

AILING)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

layout.createSequentialGroup()

.addGap(177, 177, 177)

.addComponent(jLabel7)

Page 39: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

39

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(result))

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addGroup(layout.createSequentialGroup()

.addGap(188, 188, 188)

.addComponent(Precip,

javax.swing.GroupLayout.PREFERRED_SIZE, 35,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(188, 188, 188)

.addComponent(export,

javax.swing.GroupLayout.PREFERRED_SIZE, 35,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGap(187, 187, 187)

.addComponent(impor,

javax.swing.GroupLayout.PREFERRED_SIZE, 35,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGap(0, 0, Short.MAX_VALUE))

.addGroup(layout.createSequentialGroup()

.addGap(190, 190, 190)

.addComponent(prec,

javax.swing.GroupLayout.PREFERRED_SIZE, 35,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(Calcular)

.addGap(18, 18, 18)))

.addContainerGap())

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addGroup(layout.createSequentialGroup()

.addGap(65, 65, 65)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING)

.addComponent(jLabel5,

javax.swing.GroupLayout.PREFERRED_SIZE, 283,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE

ADING, false)

.addComponent(tipo, 0,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel1,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel2,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel3,

javax.swing.GroupLayout.Alignment.TRAILING,

Page 40: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

40

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jLabel4,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addComponent(jLabel6,

javax.swing.GroupLayout.PREFERRED_SIZE, 283,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createSequentialGroup()

.addGap(188, 188, 188)

.addComponent(prod,

javax.swing.GroupLayout.PREFERRED_SIZE, 35,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGap(0, 74, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(tipo,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(Precip,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(export,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jLabel4)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(impor,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jLabel5)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(prod,

javax.swing.GroupLayout.PREFERRED_SIZE,

Page 41: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

41

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jLabel6)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(Calcular)

.addComponent(prec,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 25,

Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA

SELINE)

.addComponent(result,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel7)))

);

pack();

}// </editor-fold>

private void exportActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void prodActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

prod.setHorizontalAlignment(JTextField.CENTER);

}

private void PrecipPropertyChange(java.beans.PropertyChangeEvent evt)

{

// TODO add your handling code here:

Precip.setHorizontalAlignment(SwingConstants.CENTER);

}

private void exportPropertyChange(java.beans.PropertyChangeEvent evt)

{

// TODO add your handling code here:

export.setHorizontalAlignment(SwingConstants.CENTER);

}

private void CalcularActionPerformed(java.awt.event.ActionEvent evt)

{

// TODO add your handling code here:

}

private void precActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

Page 42: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

42

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel

setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay

with the default look and feel.

* For details see

http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :

javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Interfaz.class.getName()).log(java.uti

l.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Interfaz.class.getName()).log(java.uti

l.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Interfaz.class.getName()).log(java.uti

l.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Interfaz.class.getName()).log(java.uti

l.logging.Level.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Interfaz().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton Calcular;

private javax.swing.JTextField Precip;

private javax.swing.JTextField export;

private javax.swing.JTextField impor;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JTextField prec;

private javax.swing.JTextField prod;

Page 43: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

43

private javax.swing.JTextField result;

private javax.swing.JComboBox tipo;

// End of variables declaration

@Override

//Este método actúa cuando se pulsa el botón "Calcular"

public void actionPerformed(ActionEvent e) {

//Caso en el que algún/os campos esten vacios

if(Precip.getText().isEmpty()||export.getText().isEmpty()||impor.getText(

).isEmpty()||prod.getText().isEmpty()||prec.getText().isEmpty()){

//Mostramos un aviso para que el usuario rellene todos los

campos

JOptionPane.showMessageDialog(null, "Rellena todos los

campos");

}

//Caso en el que todos los campos están rellenos

else{

//Almacenamos los datos introducidos por el usuario

precip=Precip.getText();

exportacion=export.getText();

importacion=impor.getText();

pr=prod.getText();

precio=prec.getText();

String selec=(String)tipo.getSelectedItem();

Funciones f= new Funciones();

//Conversion de valores introducidos a int o float

int preci=Integer.parseInt(precip);

float ex=Float.parseFloat(exportacion);

float im=Float.parseFloat(importacion);

float p=Float.parseFloat(pr);

float pre=Float.parseFloat(precio);

//Caso en el que el tipo seleccionado es el Oliva virgen extra

if ("Oliva virgen extra".equals(selec)){

//Llamada a la función "WEKA2" que devuelve una cadena de

texto

String resultado=f.WEKA2(ex,pre,p);

//Se expone el resultado en el campo de texto "result"

result.setText(resultado);

}

//Caso en el que el tipo seleccionado es el Oliva virgen

else{

//Llamada a la función "WEKA2" que devuelve una cadena de

texto

String resultado=f.WEKA(preci,ex,im,p);

//Se expone el resultado en el campo de texto "result"

result.setText(resultado);

}

}

}

}

Page 44: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

44

En ella el usuario introduce los datos y pulsa el botón calcular que mediante las

funciones de predicción elegidas en el punto 4 van a estimar un precio en función del tipo

de aceite como se muestra en la figura 5.6.

Figura 5.10. Interfaz con resultado. Fuente: elaboración propia

Las funciones se encuentran en otro archivo cuyo código es el siguiente:

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package prediccion;

/**

*

* @author javi

*/

public class Funciones {

Page 45: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

45

public String WEKA(int precipitaciones,float exportaciones,float

importaciones, float produccion){

//Intervalos que WEKA predice que se va a encontrar el precio del

aceite en función de los parámetros introducidos

String in1="Menor que 1.882";

String in2="Entre 1.882 y 2.116";

String in3="Entre 2.35 y 2.584";

String in4="Entre 2.116 y 2.35";

String in5="Entre 2.584 y 2.818";

String in6="Entre 3.052 y 3.286";

String in7="Entre 2.818 y 3.052";

//Predicción en función de regresión por discretización

if (importaciones <=10.1){

if (importaciones<=8.1){

if(produccion<=87.7){

if(precipitaciones<=20){

if(importaciones<=3.6){

return in1;

}

else return in2;

}

else{

if(produccion<=0){

return in3;

}

else{

if(precipitaciones<=52){

return in1;

}

else return in3;

}

}

}

else {

if(precipitaciones<=88)

return in1;

else return in2;

}

}

else{

if(exportaciones<=63.3){

return in3;

}

else return in4;

}

}

else{

if(exportaciones<=52){

if(importaciones<=14.8){

return in5;

}

else return in3;

}

else {

if(precipitaciones<=42){

if(exportaciones<=66.4){

Page 46: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

46

return in6;

}

else return in7;

}

else{

return in7;

}

}

}

}

public String WEKA2(float exportaciones, float paceite,float

produccion){

//Intervalos que WEKA predice que se va a encontrar el

precio del aceite en función de los parámetros introducidos

String in1="Menor que 2.003€/kg";

String in2="Entre 2.003 y 2.246€/kg";

String in3="Entre 2.246 y 2.489€/kg";

String in4="Entre 2.489 y 2.732€/kg";

String in5="Entre 2.732 y 2.975€/kg";

String in6="Entre 3.218 y 3.461€/kg";

String in7="Entre 2.975 y 3.218€/kg";

String in8="Entre 3.461 y 3.704€/kg";

String in9="Entre 3.704 y 3.947€/kg";

String in10="Mayor que 3.947";

//Predicción en función de regresión por discretización

if(paceite<=2.147){

if(paceite<=1.806)

return in1;

else {

if(paceite<=2.111){

return in2;

}

else return in3;

}

}

else{

if(paceite<=2.735){

if(paceite<=2.49)

return in4;

else return in5;

}

else{

if(paceite<=3.015){

if(exportaciones<=48.8){

return in5;

}

else {

if(produccion<=87.7){

return in6;

}

else{

if(paceite<=2.845){

Page 47: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

47

return in6;

}

else return in7;

}

}

}

else{

if(paceite<=3.216){

return in8;

}

else{

if(paceite<=3.511){

return in9;

}

else return in10;

}

}

}

}

}

}

Page 48: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

48

CAPÍTULO 6: CONCLUSIONES

6.1 Conclusiones

Para acabar, se van a exponer los objetivos de este Trabajo de Fin de Grado y las

conclusiones a las que hemos llegado tras la realización del mismo.

Como objetivo principal de este Trabajo de Fin de Grado podemos decir que ha

consistido en el procesado de una serie de datos para la obtención de información que nos

permita predecir el precio del aceite para la empresa o negocio. La información se ha

obtenido mediante técnicas de minería de datos con ayuda del software WEKA.

También podemos destacar como objetivos secundarios la realización de una

aplicación para la predicción de precios en el aceite de oliva usando la información que nos

proporciona WEKA, así como analizar las distintas posibilidades que nos ofrece WEKA

para el procesado de los datos.

En cuanto a las conclusiones, comentar que el trabajo hace hincapié en los distintos

conceptos que componen el Business Intelligence, fijándonos en las tecnologías que

abarca, en particular, la minería de datos.

Como conclusiones de este Trabajo de Fin de Grado cabe destacar en primer lugar

que el Business Intelligence es un instrumento muy útil para el apoyo en los procesos de

toma de decisión de los directivos de una empresa. Decisiones a todos los niveles desde el

operativo hasta el estratégico.

Estas técnicas de Business Intelligence van a tener gran relevancia en los próximos

años dado que el Big Data va a tener un impacto muy importante en el mercado en los

próximos años. Así lo demuestran los estudios, como el de International Data Corporation

[17] que estiman que la inversión anual en Big Data se va a ir incrementando

progresivamente hasta alcanzar los 48.6 billones de dólares anuales para el año 2019.

Particularizando de entre las técnicas de Business Intelligence para nuestro caso, la

minería de datos es una herramienta muy eficiente para predecir comportamientos en el

mercado. En nuestro caso aplicando esta técnica sobre un conjunto de datos se llegan a

predecir comportamientos futuros del precio del producto.

Page 49: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

49

Siguiendo con las técnicas de Business Intelligence, WEKA es un potente software

válido para la minería de datos. Alberga múltiples algoritmos de minería de datos con

diferentes configuraciones, además de opciones de preprocesado de datos, visualización de

resultados, etc; todo ello desde una interfaz sencilla de manejar para el usuario.

Además, el software WEKA es innovador para el caso de estudio, ya que no se han

encontrado referencias u otros casos que usen en este software para estimar el precio en

aceites de oliva, por tanto es una herramienta a tener en cuenta por las empresas del sector

oleícola.

Como hemos comentado anteriormente, dada la inminente necesidad de nuevas

técnicas o mejorar las existentes sobre el procesado de Big Data, podemos concluir que

WEKA tiene un gran potencial con el mercado emergente de Big Data al poder tratar

grandes cantidades de datos y aplicar técnicas de minería de datos obteniendo resultados de

su proceso en un tiempo eficiente.

Las predicciones que ofrece WEKA como resultado al aplicar un algoritmo sobre

un conjunto de datos son fácilmente implementables en una aplicación.

Para acabar y siguiendo con la aplicación, decir que la interfaz de la aplicación

desarrollada es muy intuitiva y fácil de manejar. Simplemente con rellenar los datos que se

piden y pulsando un botón obtenemos el resultado que buscamos con ella.

6.2 Limitaciones y líneas de futuro

En este apartado se van a exponer las limitaciones que hemos encontrado a lo largo

de la elaboración del proyecto.

En primer lugar no hay un criterio definido para decir que factores son influyentes y

en qué medida influyen en el precio. Como línea de futuro o de investigación, se puede

realizar un estudio más en profundidad, aplicando minería de datos por ejemplo y ver en

qué medida influyen los distintos factores que se mencionan en el Trabajo o incluir otros

distintos.

Tampoco existe un criterio definido para decidir que error es aceptable a la hora de

realizar una predicción con WEKA. Como en el caso de los factores se puede abrir una

Page 50: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

50

línea de investigación para limitar a partir de que valores podemos considerar un algoritmo

apropiado para realizar una predicción.

Los datos con los que hemos trabajado para elaborar las predicciones comprenden

desde el año 2012 hasta el año 2015. Elaborar en un futuro un registro más amplio así

como las actualizaciones pertinentes a medida que se vayan publicando nuevos datos en las

fuentes, proporcionarán mejores resultados en las predicciones.

WEKA trabaja con los datos en múltiples formatos, pero no dispone de la

capacidad de acceder a los que están almacenados en una base de datos que se actualiza

periódicamente. Es decir si surge un cambio en los datos o se quiere actualizar el conjunto,

habría que introducir manualmente la nueva base de datos o conjunto de datos en WEKA.

Como línea de futuro se puede implementar en WEKA la conexión a una base datos, como

por ejemplo SQL, que administre una empresa para facilitar el acceso a los datos desde

WEKA.

Por último, la aplicación desarrollada trabaja con dos tipos de aceite y en dos casos

distintos. En ella se pueden ir incorporando distintos tipos de aceite además de los

propuestos o distintos casos que se quieran investigar.

Page 51: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

51

REFERENCIAS Y BIBLIOGRAFÍA

[1]Jiawei Han, Jian Pei, Micheline Kamber, Data Mining: Concepts and Techniques,

Elsevier, 9 jun. 2011

[2]David Loshin, Business Intelligence: The Savvy Manager's Guide, Newnes, 27 Nov.

2012

[3]Hsinchun Chen, Roger H. L. Chiang, Veda C. Storey, BUSINESS INTELLIGENCE

AND ANALYTICS: FROM BIG DATA TO BIG IMPACT, MIS Quarterly, Diciembre

2012, Vol. 36 No. 4, páginas 1165-1188. Disponible en:

http://hmchen.shidler.hawaii.edu/Chen_big_data_MISQ_2012.pdf

[4]http://www.sinnexus.com/business_intelligence/

[5]Surajit Chaudhuri, Umeshwar Dayal, Vivek Narasayya, An overview of business

intelligence technology, Communications of the ACM CACM ,Agosto 2011, Volumen 54,

Páginas 88-98. Disponible en:

http://dl.acm.org/citation.cfm?id=1978562

[6]http://www.lantares.com/blog/bid/331346/Cuadro-de-Mando-Integral-Todo-lo-que-

Debes-Saber

[7]Jayanthi Ranjan, BUSINESS INTELLIGENCE: CONCEPTS, COMPONENTS,

TECHNIQUES AND BENEFITS, Journal of Theoretical and Applied Information

Technology, Vol. 9 No. 1, páginas 60-70. Disponible en:

http://www.joinville.udesc.br/portal/professores/avanilde/materiais/Ranjan_Busines

s_Intelligence__Concepts__Components__Techniques_and_Benefits_.pdf

[8]http://www.sinnexus.com/business_intelligence/piramide_negocio.aspx

[9]http://www.sinnexus.com/business_intelligence/cuadro_mando_integral.aspx

Page 52: MINERÍA DE DATOS E INTELIGENCIA DE NEGOCIO UNA …tauja.ujaen.es/bitstream/10953.1/3487/1/TFG... · Datos semiestructurados: no contienen campos determinados, pero sí marcadores

52

[10]http://vectorstudy.com/management-theories/balanced-scorecard

[11]http://www.sinnexus.com/business_intelligence/datamart.aspx

[12]http://www.stratebi.com/datawarehouse

[13] http://www.elespanol.com/economia/20151113/78992135_0.html

[14] María Gutiérrez Salcedo, La transmisión de precios en la cadena agroalimentaria: el

mercado español de los aceites de oliva.

[15] García-Mozo H., Pérez-Badía R,,y GalánC., "Aerobiological and meteorological

factors’ influence on olive (Olea europaea L.) crop yield in Castilla-La Mancha (Central

Spain)", Aerobiologia, 24:13–18, 2008.

[16] https://www.ibm.com/developerworks/ssa/local/im/que-es-big-data/

[17] http://www.idc.com/getdoc.jsp?containerId=prUS40560115