PREDICCIÓN METEOROLÓGICA

PRÁCTICA FINAL DE INTELIGENCIA EN REDES DE ORDENADORES PREDICCIÓN METEOROLÓGICA 5º INGENIERIA DE TELECOMUNICACIÓN Julio Alberto Polo Fernández 100029757 Raúl Muñoz Martínez 100029571 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores INDICE 1. Introducción 2. Preprocesado de los datos a. Análisis b. Selección 3. Aprendizaje a. Aprendizaje para el modelo de predecir la temperatura b. Aprendizaje condiciones 4. para el modelo Anexos a. Script inicial b. Código java para el preprocesado Página 2 de 37 de predecir las PREDICCIÓN METEOROLÓGICA 1. Inteligencia en redes de ordenadores Introducción En esta práctica vamos a desarrollar un sistema de predicción meteorológica usando la herramienta de minería de datos WEKA. El programa WEKA permite realizar minería de datos con una interfaz gráfica lo que facilita su utilización. Además, permite una comparación con los distintos métodos que se utilizan para el pre-procesamiento, clasificación de información, clustering y meta-aprendizaje. Las técnicas de minería de datos están en auge, usándose cada vez más para mejorar el rendimiento de negocios o procesos industriales en los que se manejan grandes volúmenes de información estructurada y almacenada en bases de datos. Mediante estas técnicas de pueden explorar grandes volúmenes de datos con el fin de predecir ciertos modelos de comportamiento y así ayudar en la toma de decisiones. Un proyecto de minería de datos consta de los siguientes pasos: - Filtrado de datos: Los datos tienen que estar en un formato que entienda nuestra herramienta WEKA. Además es necesario eliminar valores no validos o que sobrepasan un umbral y que en el modelo aportarían ruido. - Selección de variables: Una vez filtrados los datos, se siguen teniendo una cantidad de datos innecesaria que ralentiza nuestro análisis. Por ello, es necesario elegir las variables que mas influyen en nuestra predicción sin perjudicar el resultado. Las técnicas mas usadas son las que buscan las variables independientes mediante algoritmos de distancia o heurísticos. - Uso de algoritmos para obtener un modelo de conocimiento: A continuación se aplican diversos algoritmos de conocimiento que mediante patrones de comportamiento que observan en las variables realizan asociaciones de las mismas para finalmente llegar a un modelo. - Interpretación y evaluación: Finalmente es necesario comprobar que los resultados de nuestro modelo son validos. Por ello es importante realizar comparaciones entre los distintos algoritmos para intentar escoger el mejor, es decir, el que menor error cometa en la predicción. Página 3 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores En esta practica, como hemos dicho, vamos a intentar desarrollar un sistema de predicción meteorológica, para ellos vamos a tomar como fuente de datos la información METAR (Meteorological Actual Report). El código METAR fue establecido por la World Meteorological Organization (WMO) y adoptado por todas las naciones del mundo sirve para representar condiciones meteorológicas en aeropuertos o estaciones meteorológicas, habitualmente con medidas horarias. Para nuestra práctica adquiriremos estos datos del aeropuerto de Madrid Barajas (con código LEMD) desde el año 1996 al 2004. La información descrita en dicho código es la siguiente: ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ Hora (CET) Temperatura (grados Fahrenheit) Punto de rocío (grados Fahrenheit) Humedad Presión (pulgadas) Visibilidad Dirección del viento Velocidad del viento (millas por hora) Velocidad de ráfagas de viento (millas por hora) Precipitación Eventos Condiciones En cada fichero con código METAR se tiene la información de un día. Los tres objetivos de predicción en esta práctica son: ¾ Predicción de temperatura a 1 hora ¾ Predicción de temperatura a 24 horas ¾ Predicción de condiciones meteorológicas a 24 horas Página 4 de 37 PREDICCIÓN METEOROLÓGICA 2. Inteligencia en redes de ordenadores Preprocesado de los datos A la hora de comenzar con el trabajo, los datos facilitados estaban distribuidos en numerosos ficheros de texto, los cuales contenían todos los datos pertenecientes a cada uno de los días bajo estudio. Se hacia necesario una manera automática de procesar los datos, ya manera del orden de 3000 ficheros para colocar los datos adecuadamente, es algo impensable en estos días. En primer lugar, pensamos en sencillos scripts bajo linux, con lenguajes como perl, bash o similares, los cuales permiten de una manera sencilla, extraer los datos de los ficheros para colocarlos en un solo fichero, y en cada línea, las medidas de cada instante de tiempo. Debido a la escasa soltura en el manejo de estos lenguajes y la falta de tiempo, se ha utilizado el fichero generado mediante perl por nuestro profesor, en cual, tenemos todos los datos línea a línea. Con estos datos, pasamos a realizar un análisis. a. Primer análisis En primer lugar, a simple vista, podemos observar como el fichero contiene una parte muy significante de días y horas en las que no se ha realizado ninguna medida, es decir, todos los parámetros son desconocidos, por lo que pasamos a eliminar todos estos datos. Aún así, podemos observar que, repartidos a lo largo de todo el fichero, encontramos pequeños conjuntos de medidas, que al igual que las anteriores, son desconocidas, pero se hace muy complicado eliminarlos manualmente. Por otro lado, también comprobamos que existen muchas magnitudes erróneas, o simplemente desconocidas (“N/A”, “-9999”, etc.) que tenemos que reemplazar por signo de interrogación (“?”), carácter utilizado por WEKA para los datos desconocidos. A raíz de esto, surgió la necesidad de implementar un nuevo programa o script para realizar estas tareas de manera automática. El lenguaje elegido fue JAVA, debido a su simplicidad en el trabajo con cadenas de caracteres y al buen manejo del mismo. Aprovechando el manejo de los datos mediante el programa, se han hecho unos cambios de variables para expresar los datos en unas unidades más familiares. Por tanto, a partir de ahora la temperatura y el nivel de rocío serán medidos en grados centígrados y la velocidad del viento en kilómetros por hora. Cuando ya se han eliminado los datos innecesarios y corregido los datos desconocidos, pasamos a realizar un análisis de los datos mediante la herramienta WEKA. Esto nos permitirá, de una manera más exacta, saber cuales son las variables determinantes a la hora de estimar la temperatura y las condiciones climatológicas. Página 5 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores A priori, podemos asegurar que la temperatura en las horas anteriores y la temperatura del día anterior a la misma hora, serán unas variables muy relacionadas para estimar la temperatura, así como las condiciones climatológicas del día anterior a la misma hora para predecir las mismas. Esto ya nos indica la necesidad de crear otro programa para poder ordenar estás ultimas medidas de una manera correcta para el análisis con WEKA. b. Segundo análisis Después de crear el nuevo programa para introducir la temperatura de una hora antes, la temperatura de dos horas antes, la temperatura del día anterior a la misma hora así como las condiciones climatológicas del día anterior, tenemos que crear la estructura de la cabecera de los ficheros ARFF (Attribute Relation File Format), que tiene un aspecto similar a: @relation nombre_de_la_relación @attribute r1 real … @attribute i1 integer … @attribute v1 {v11,v12,v13,…,v1n} … @data datos En nuestro caso, el la cabecera tiene el siguiente aspecto: @relation 'meteorologia' @attribute 'año' {1996,1997,1998,1999,2000,2001,2002,2003,2004} @attribute 'dia' integer @attribute 'hora' {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,2 6,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47} @attribute 'temperatura' integer @attribute 'rocio' integer @attribute 'humedad' integer @attribute 'presion' real @attribute 'visibilidad' real @attribute 'direccion' {Calm,Este,Norte,Sur,Oeste,ONO,NNO,NE,NO,ENE,NNE,ESE,SE,SSO,OSO,SSE,SO ,Variable} @attribute 'velocidad' integer @attribute 'hechos' {Lluvia,Bruma,Bruma_Lluvia,Tormenta,Lluvia_Nieve,Nieve,Tornado} @attribute 'condiciones' {Despejado,Tormenta,Parcialmente_Nublado,Nubes_Dispersas,Altamente_Nub lado,Lluvias,Nublado,Niebla,Bruma,Bancos_de_Bruma,Bruma_Leve,Bruma_Lig era,Lluvia,Lluvia_Leve,Nieve} @attribute 'temperatura1' integer @attribute 'temperatura2' integer @attribute 'temperatura24' integer @attribute 'condiciones24' {Despejado,Tormenta,Parcialmente_Nublado,Nubes_Dispersas,Altamente_Nub lado,Lluvias,Nublado,Niebla,Bruma,Bancos_de_Bruma,Bruma_Leve,Bruma_Lig era,Lluvia,Lluvia_Leve,Nieve} @data Página 6 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores Podemos comprobar como se han añadido las variables nuevas mencionadas anteriormente. Hemos de destacar que, para el conjunto de datos con el que hemos trabajado, algunas de las clases de “condiciones” y “hechos”, no aparecían en ninguna de las instancias, por tanto, hemos eliminado la aparición de las mismas. Estas han sido: • Para hechos: Nieve_Granizo • Para condiciones: Granizo_Pequeño, Leve_Caída_de_Granizo_Pequeño, Granizo_Leve, Nubes_Bajas_de_Polvo, Caídas_de_Granizo, Bruma_Helada_Leve, Tormenta_con_Granizo, Remolino_de_Polvo, Tormenta_Leve, Nube_en_embudo, Arena y Nubes_de_Polvo. Lluvia_Granizo_Tormenta, Granizo, Granizo_Tormenta y A pesar de ello, y para simplificar aún más el modelado, se han agrupado otros conjuntos de clases: • • • • • • • Lluvia_Tormenta como Lluvia Llovizna_Helada_Leve, Llovizna_Leve, Llovizna_Abundante, Llovizna, Lluvia_Helada_Leve como Lluvia_Leve Fuertes_Lloviznas y Abundantes_Lluvias como Lluvias Tormentas_y_Lluvia, Tormentas_Leves_y_Lluvia, Fuertes_Tormentas_y_Lluvia como Tormenta Niebla_Leve, Abundante_Niebla y Neblina como Niebla Bancons_de_Bruma, Bruma_Leve y Bruma_Ligera como Bruma Nevada_Leve, Caidas_de_Nieve y Abundante_Nieve como Nieve Una vez elaborado correctamente el fichero ARFF, introducimos los valores en el programa WEKA, mediante el cual podremos hacer la selección, paso muy importante para poder procesar los datos de una manera más eficiente. c. Selección Lo primero que podemos observar al introducir los datos en el programa, es que tenemos datos que se escapan de una manera exagera de los rango de variación normales para la magnitudes medidas. Por lo que se modificó ligeramente el programa para restringir los datos dentro de unos rangos normales. Así, se han descartado medidas como: Nivel de rocío por debajo de -11º o por encima de 17º Presión a nivel del mar por debajo de 29 pulgadas de mercurio o por encima de 31 Visibilidad por debajo de 3 o por encima de 8 Velocidad por debajo de 0 o por encima de 40 Temperatura por debajo de -10 o por encima de 45 Con los datos correctos, pasamos a realizar un análisis buscando que variables son las más correlacionadas para la estimación de cada unos de los parámetros buscados, es decir, la temperatura y las condiciones climatológicas. Página 7 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores Realizando un análisis de CfsSubsetEval, bien sea utilizando búsqueda BestFirst, ExhaustiveSearch o GreedyStepwise, obtenemos unos resultados muy similares: - Para la estimación de la temperatura: rocio humedad direccion hechos temperatura1 temperatura2 temperatura24 - Para la estimación de las condiciones climatológicas: dia humedad presion visibilidad velocidad hechos temperatura1 condiciones24 Por tanto, una vez selección las variables importantes, pasamos a realizar el entrenamiento del sistema para poder realizar las predicciones deseadas de la manera más exacta posible. Es importante destacar que a la hora de realizar los análisis, no ha sido posible utilizar el 100% de los datos, debido a la ingente cantidad de memoria y tiempo que eso supondría para los ordenadores de sobremesa actuales, por lo que ha sido necesaria un muestreo de todas los datos disponibles. Página 8 de 37 PREDICCIÓN METEOROLÓGICA 3. Inteligencia en redes de ordenadores Aprendizaje En este punto vamos a aplicar diversos algoritmos de conocimiento para finalmente intentar llegar a un modelo que reduzca la probabilidad de error en la predicción. 3.1 Aprendizaje para el modelo de predecir la temperatura REGRESION LINEAL Scheme: weka.classifiers.functions.LinearRegression -S 0 -R 1.0E-8 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16 Instances: 121825 Time taken to build model: 9.91 seconds === Summary === Correlation coefficient 0.9866 Mean absolute error 1.0299 Root mean squared error 1.4426 Relative absolute error 14.0606 % Root relative squared error 16.1723 % Total Number of Instances 12681 Como hemos tenido problemas de memoria y de tiempo en llegar a un modelo con la mayoría de los algoritmos hemos decidido tomar menos muestras. Ahora estábamos tomando 121000 y a partir de ahora aplicamos un filtro de muestreo (resample) para así tener unas 12000 muestras. REGRESION LINEAL Scheme: weka.classifiers.functions.LinearRegression -S 0 -R 1.0E-8 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 1.09 seconds === Summary === Correlation coefficient 0.9861 Mean absolute error 1.0042 Root mean squared error 1.4488 Relative absolute error 13.7886 % Root relative squared error 16.4208 % Total Number of Instances 1268 MULTILAYER PERCEPTRON Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 500 -V 0 -S 0 -E 20 -H a Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Página 9 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores Instances: 12182 Time taken to build model: 392.02 seconds === Summary === Correlation coefficient 0.9847 Mean absolute error 0.3116 Root mean squared error 1.5947 Relative absolute error 4.2783 % Root relative squared error 18.0752 % Total Number of Instances 1268 RBF NETWORK Scheme: weka.classifiers.functions.RBFNetwork -B 2 -S 1 -R 1.0E-8 -M -1 -W 0.1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 1.16 seconds === Summary === Correlation coefficient 0.8538 Mean absolute error 3.6982 Root mean squared error 4.5075 Relative absolute error 50.778 % Root relative squared error 51.0891 % Total Number of Instances 1268 IBK K=1 Scheme: weka.classifiers.lazy.IBk -K 1 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.02 seconds === Summary === Correlation coefficient 0.9728 Mean absolute error 1.1141 Root mean squared error 2.0213 Relative absolute error 15.2971 % Root relative squared error 22.9096 % Total Number of Instances 1268 IBK K=2 Scheme: weka.classifiers.lazy.IBk -K 2 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.02 seconds === Summary === Correlation coefficient Class complexity | order 0 bits/instance Class complexity | scheme bits/instance 0.9756 6527.6923 bits 5.148 4107.9446 bits 3.2397 Página 10 de 37 PREDICCIÓN METEOROLÓGICA Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Inteligencia en redes de ordenadores 2419.7477 bits 1.9083 1.0791 1.9173 14.817 % 21.7313 % 1268 IBK 3 Scheme: weka.classifiers.lazy.IBk -K 3 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Test mode: user supplied test set: 1268 instances Time taken to build model: 0.02 seconds === Summary === Correlation coefficient 0.9758 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 4400.0129 bits 3.47 bits/instance Complexity improvement (Sf) 2127.6794 bits 1.678 bits/instance Mean absolute error 1.0584 Root mean squared error 1.9142 Relative absolute error 14.5326 % Root relative squared error 21.6963 % Total Number of Instances 1268 IBK 5 Scheme: weka.classifiers.lazy.IBk -K 5 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0 seconds === Summary === Correlation coefficient 0.9747 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 3631.2756 bits 2.8638 bits/instance Complexity improvement (Sf) 2896.4166 bits 2.2842 bits/instance Mean absolute error 1.0763 Root mean squared error 1.9567 Relative absolute error 14.7779 % Root relative squared error 22.1778 % Total Number of Instances 1268 KSTAR Scheme: weka.classifiers.lazy.KStar -B 20 -M a Página 11 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.02 seconds === Summary === Correlation coefficient 0.9952 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 3372.0149 bits 2.6593 bits/instance Complexity improvement (Sf) 3155.6773 bits 2.4887 bits/instance Mean absolute error 0.616 Root mean squared error 0.8639 Relative absolute error 8.4587 % Root relative squared error 9.7912 % Total Number of Instances 1268 LAZY Scheme: weka.classifiers.lazy.LWL -U 0 -K -1 -W weka.classifiers.trees.DecisionStump Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.02 seconds === Summary === Correlation coefficient 0.8496 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 5574.4037 bits 4.3962 bits/instance Complexity improvement (Sf) 953.2886 bits 0.7518 bits/instance Mean absolute error 3.7511 Root mean squared error 4.5961 Relative absolute error 51.5048 % Root relative squared error 52.0931 % Total Number of Instances 1268 TREES M5P Scheme: weka.classifiers.trees.M5P -M 4.0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 23.3 seconds === Summary === Correlation coefficient 0.9938 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 2451.565 bits 1.9334 bits/instance Complexity improvement (Sf) 4076.1272 bits 3.2146 bits/instance Mean absolute error 0.6397 Página 12 de 37 PREDICCIÓN METEOROLÓGICA Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Inteligencia en redes de ordenadores 0.9663 8.7836 % 10.952 % 1268 REP TREE Scheme: weka.classifiers.trees.REPTree -M 2 -V 0.0010 -N 3 -S 1 -L -1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.39 seconds === Summary === Correlation coefficient 0.9853 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 3353.6191 bits 2.6448 bits/instance Complexity improvement (Sf) 3174.0731 bits 2.5032 bits/instance Mean absolute error 1.0942 Root mean squared error 1.4758 Relative absolute error 15.0242 % Root relative squared error 16.7276 % Total Number of Instances 1268 CONJUNCTIVE RULE Scheme: weka.classifiers.rules.ConjunctiveRule -N 3 -M 2.0 -P -1 -S 1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 === Summary === Correlation coefficient 0.7801 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 6950.1605 bits 5.4812 bits/instance Complexity improvement (Sf) -422.4682 bits -0.3332 bits/instance Mean absolute error 4.3146 Root mean squared error 5.4649 Relative absolute error 59.2426 % Root relative squared error 61.9411 % Total Number of Instances 1268 DECISION TABLE Scheme: weka.classifiers.rules.DecisionTable -X 1 -S 5 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 === Summary === Página 13 de 37 PREDICCIÓN METEOROLÓGICA Correlation coefficient Class complexity | order 0 bits/instance Class complexity | scheme bits/instance Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Inteligencia en redes de ordenadores 0.9786 6527.6923 bits 5.148 3848.669 bits 3.0352 2679.0232 bits 2.1128 1.3905 1.777 19.0918 % 20.1413 % 1268 M5 RULES Scheme: weka.classifiers.rules.M5Rules -M 4.0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 80.2 seconds === Summary === Correlation coefficient 0.9937 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 2457.1768 bits 1.9378 bits/instance Complexity improvement (Sf) 4070.5155 bits 3.2102 bits/instance Mean absolute error 0.6482 Root mean squared error 0.9681 Relative absolute error 8.8997 % Root relative squared error 10.973 % Total Number of Instances 1268 A la hora de realizar una comparación entre los diferentes algoritmos planteados, hemos de fijarnos algunos de los parámetros de salida. Hemos seleccionado los siguientes: • Tiempo: nos ha parecido un parámetro decisivo a la hora de obtener un modelo de conocimiento apropiado para realizar las estimaciones. Junto con este parámetro, aparece asociado la cantidad de memoria necesaria para procesar los datos. Como ya hemos explicado anteriormente nos hemos visto obligados a reducir el conjunto de muestras. • Root mean squared error: nos permitirá obtener una aproximación de lo buenos que es modelo en función de la desviación que existe entre el valor real y el predicho. • Relative absolute error: es una medida similar a la anterior, pero de manera porcentual. Página 14 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores Predicción de temperatura Tiempo Root mean squared error Relative absolute error REGRESION LINEAL 1.09 seconds 1.4488 13.7886 % MULTILAYER PERCEPTRON 392.02 seconds 1.5947 4.2783 % RBF NETWORK 1.16 seconds 4.5075 50.778 IBK K=1 0.02 seconds 2.0213 15.2971 % IBK K=2 0.02 seconds 1.9173 14.817 IBK K=3 0.02 seconds 1.9142 14.5326 % 1.9567 14.7779 % IBK K=5 0 seconds % % KSTAR 0.02 seconds 0.8639 8.4587 % LAZY 0.02 seconds 4.5961 51.5048 % TREES M5P 23.3 seconds 0.9663 8.7836 % REP TREE 0.39 seconds 1.4758 15.0242 % CONJUNCTIVE RULE ------ 5.4649 59.2426 % DECISION TABLE ------ 1.777 19.0918 % M5 RULES 80.2 seconds 0.9681 8.8997 % Página 15 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores Como podemos comprobar en la tabla anterior, se han marcado los mejores resultados obtenidos en cada uno de los parámetros elegidos para comparar los métodos de aprendizajes. Observando estos valores, podemos concluir que el mejor algoritmo para predecir la temperatura es KSTAR, ya permite obtener un buen valor de para el error cuadrático medio así como el error absoluto, con unos tiempos de procesamiento muy buenos. Página 16 de 37 PREDICCIÓN METEOROLÓGICA 3.2 Inteligencia en redes de ordenadores Aprendizaje para el modelo de predecir las condiciones RED BAYESIANA Scheme: weka.classifiers.bayes.BayesNet -D -Q weka.classifiers.bayes.net.search.local.K2 -- -P 1 -S BAYES -E weka.classifiers.bayes.net.estimate.SimpleEstimator -- -A 0.5 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.39 seconds === Summary === Correctly Classified Instances 603 53.1746 % Incorrectly Classified Instances 531 46.8254 % Kappa statistic 0.3074 K&B Relative Info Score 34625.4742 % K&B Information Score 816.4969 bits 0.72 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1980.1762 bits 1.7462 bits/instance Complexity improvement (Sf) 435.6025 bits 0.3841 bits/instance Mean absolute error 0.0759 Root mean squared error 0.2009 Relative absolute error 78.457 % Root relative squared error 93.1008 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 NAIVE BAYES Scheme: weka.classifiers.bayes.NaiveBayes Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.13 seconds === Summary === Correctly Classified Instances 681 60.0529 % Incorrectly Classified Instances 453 39.9471 % Kappa statistic 0.4474 K&B Relative Info Score 45035.1821 % K&B Information Score 1061.9663 bits 0.9365 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1964.9799 bits 1.7328 bits/instance Complexity improvement (Sf) 450.7987 bits 0.3975 Página 17 de 37 PREDICCIÓN METEOROLÓGICA bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores 0.069 0.1857 71.3473 % 86.0378 % 1134 7 NAIVE BAYES UPDATEABLE Scheme: weka.classifiers.bayes.NaiveBayesUpdateable Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.11 seconds === Summary === Correctly Classified Instances 681 60.0529 % Incorrectly Classified Instances 453 39.9471 % Kappa statistic 0.4474 K&B Relative Info Score 45035.1821 % K&B Information Score 1061.9663 bits 0.9365 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1964.9799 bits 1.7328 bits/instance Complexity improvement (Sf) 450.7987 bits 0.3975 bits/instance Mean absolute error 0.069 Root mean squared error 0.1857 Relative absolute error 71.3473 % Root relative squared error 86.0378 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 LOGISTIC Scheme: weka.classifiers.functions.Logistic -R 1.0E-8 -M -1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 128.64 seconds === Summary === Correctly Classified Instances 689 60.7584 % Incorrectly Classified Instances 445 39.2416 % Kappa statistic 0.3944 K&B Relative Info Score 37094.5794 % K&B Information Score 874.7204 bits 0.7714 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1720.1743 bits 1.5169 bits/instance Complexity improvement (Sf) 695.6044 bits 0.6134 Página 18 de 37 PREDICCIÓN METEOROLÓGICA bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores 0.072 0.1844 74.4332 % 85.4463 % 1134 7 MULTILAYER PERCEPTRON Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 500 -V 0 -S 0 -E 20 -H a Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 731.19 seconds === Summary === Correctly Classified Instances 781 68.8713 % Incorrectly Classified Instances 353 31.1287 % Kappa statistic 0.5438 K&B Relative Info Score 58091.117 % K&B Information Score 1369.8359 bits 1.208 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1472.549 bits 1.2985 bits/instance Complexity improvement (Sf) 943.2297 bits 0.8318 bits/instance Mean absolute error 0.0428 Root mean squared error 0.1566 Relative absolute error 44.2499 % Root relative squared error 72.5641 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 SMO Scheme: weka.classifiers.functions.SMO -C 1.0 -E 1.0 -G 0.01 -A 250007 -L 0.0010 -P 1.0E-12 -N 0 -V -1 -W 1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 96.38 seconds === Summary === Correctly Classified Instances 780 68.7831 % Incorrectly Classified Instances 354 31.2169 % Kappa statistic 0.5442 K&B Relative Info Score -6294.7844 % K&B Information Score -148.4361 bits -0.1309 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 3326.2595 bits 2.9332 Página 19 de 37 PREDICCIÓN METEOROLÓGICA bits/instance Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores -910.4808 bits -0.8029 0.1158 0.2358 119.7363 % 109.2794 % 1134 7 IBI Scheme: weka.classifiers.lazy.IB1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.03 seconds === Summary === Correctly Classified Instances 518 45.679 % Incorrectly Classified Instances 616 54.321 % Kappa statistic 0.2975 K&B Relative Info Score 32573.9768 % K&B Information Score 768.1209 bits 0.6774 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 661584 bits 583.4074 bits/instance Complexity improvement (Sf) -659168.2214 bits -581.2771 bits/instance Mean absolute error 0.0724 Root mean squared error 0.2691 Relative absolute error 74.8852 % Root relative squared error 124.7147 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 Ibk k=1 Scheme: weka.classifiers.lazy.IBk -K 1 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.02 seconds === Summary === Correctly Classified Instances 518 45.679 % Incorrectly Classified Instances 616 54.321 % Kappa statistic 0.2975 K&B Relative Info Score 32494.7896 % K&B Information Score 766.2536 bits 0.6757 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 8295.7622 bits 7.3155 Página 20 de 37 PREDICCIÓN METEOROLÓGICA bits/instance Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores -5879.9835 bits -5.1852 0.0726 0.269 75.019 % 124.6566 % 1134 7 Ibk k=2 Scheme: weka.classifiers.lazy.IBk -K 2 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances === Summary === Correctly Classified Instances 598 52.7337 % Incorrectly Classified Instances 536 47.2663 % Kappa statistic 0.3707 K&B Relative Info Score 35652.7972 % K&B Information Score 840.722 bits 0.7414 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 6719.4236 bits 5.9254 bits/instance Complexity improvement (Sf) -4303.645 bits -3.7951 bits/instance Mean absolute error 0.0745 Root mean squared error 0.2363 Relative absolute error 77.0379 % Root relative squared error 109.5146 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 Ibk k=3 Scheme: weka.classifiers.lazy.IBk -K 3 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.02 seconds === Summary === Correctly Classified Instances 594 52.381 % Incorrectly Classified Instances 540 47.619 % Kappa statistic 0.3678 K&B Relative Info Score 34924.4509 % K&B Information Score 823.547 bits 0.7262 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 5743.9718 bits 5.0652 bits/instance Página 21 de 37 PREDICCIÓN METEOROLÓGICA Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores -3328.1931 bits -2.9349 0.0767 0.2252 79.3064 % 104.3681 % 1134 7 KStar Scheme: weka.classifiers.lazy.KStar -B 20 -M a Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0 seconds === Summary === Correctly Classified Instances 557 49.1182 % Incorrectly Classified Instances 577 50.8818 % Kappa statistic 0.235 K&B Relative Info Score 29743.7223 % K&B Information Score 701.3812 bits 0.6185 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 2245.7203 bits 1.9804 bits/instance Complexity improvement (Sf) 170.0584 bits 0.15 bits/instance Mean absolute error 0.0758 Root mean squared error 0.2123 Relative absolute error 78.3573 % Root relative squared error 98.3673 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 Lazy Scheme: weka.classifiers.lazy.LWL -U 0 -K -1 -W weka.classifiers.trees.DecisionStump Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 0.02 seconds === Summary === Correctly Classified Instances 741 65.3439 % Incorrectly Classified Instances 393 34.6561 % Kappa statistic 0.4857 K&B Relative Info Score 52841.3361 % K&B Information Score 1246.0418 bits 1.0988 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1183.2523 bits 1.0434 bits/instance Página 22 de 37 PREDICCIÓN METEOROLÓGICA Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores 1232.5263 bits 1.0869 0.0498 0.1553 51.4551 % 71.9594 % 1134 7 Decisions Stump Scheme: weka.classifiers.trees.DecisionStump Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 0.09 seconds === Summary === Correctly Classified Instances 738 65.0794 % Incorrectly Classified Instances 396 34.9206 % Kappa statistic 0.4807 K&B Relative Info Score 51034.1438 % K&B Information Score 1203.4267 bits 1.0612 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1238.9036 bits 1.0925 bits/instance Complexity improvement (Sf) 1176.8751 bits 1.0378 bits/instance Mean absolute error 0.0518 Root mean squared error 0.1567 Relative absolute error 53.5791 % Root relative squared error 72.6229 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 J48 Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 5.02 seconds === Summary === Correctly Classified Instances 558 49.2063 % Incorrectly Classified Instances 576 50.7937 % Kappa statistic 0.2356 K&B Relative Info Score 27322.5765 % K&B Information Score 644.2886 bits 0.5682 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 141611.7122 bits 124.8781 bits/instance Complexity improvement (Sf) -139195.9335 bits -122.7477 bits/instance Página 23 de 37 PREDICCIÓN METEOROLÓGICA Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores 0.0777 0.226 80.3665 % 104.7143 % 1134 7 NBTree Scheme: weka.classifiers.trees.NBTree Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 23.39 seconds === Summary === Correctly Classified Instances 706 62.2575 % Incorrectly Classified Instances 428 37.7425 % Kappa statistic 0.4591 K&B Relative Info Score 41092.6786 % K&B Information Score 968.9989 bits 0.8545 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1640.6281 bits 1.4468 bits/instance Complexity improvement (Sf) 775.1506 bits 0.6836 bits/instance Mean absolute error 0.07 Root mean squared error 0.1815 Relative absolute error 72.3447 % Root relative squared error 84.0982 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 REPTree Scheme: weka.classifiers.trees.REPTree -M 2 -V 0.0010 -N 3 -S 1 -L -1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 1.84 seconds === Summary === Correctly Classified Instances 583 51.4109 % Incorrectly Classified Instances 551 48.5891 % Kappa statistic 0.2557 K&B Relative Info Score 28683.728 % K&B Information Score 676.3857 bits 0.5965 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 73226.9607 bits 64.574 bits/instance Complexity improvement (Sf) -70811.1821 bits -62.4437 bits/instance Mean absolute error 0.0772 Página 24 de 37 PREDICCIÓN METEOROLÓGICA Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores 0.2124 79.7705 % 98.4207 % 1134 7 ConjunctiveRule Scheme: weka.classifiers.rules.ConjunctiveRule -N 3 -M 2.0 -P -1 -S 1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 0.34 seconds === Summary === Correctly Classified Instances 738 65.0794 % Incorrectly Classified Instances 396 34.9206 % Kappa statistic 0.4783 K&B Relative Info Score 47677.0369 % K&B Information Score 1124.2634 bits 0.9914 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1299.0154 bits 1.1455 bits/instance Complexity improvement (Sf) 1116.7632 bits 0.9848 bits/instance Mean absolute error 0.0541 Root mean squared error 0.1591 Relative absolute error 55.9646 % Root relative squared error 73.734 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 Decision Table Scheme: weka.classifiers.rules.DecisionTable -X 1 -S 5 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 2.03 seconds === Summary === Correctly Classified Instances 833 73.4568 % Incorrectly Classified Instances 301 26.5432 % Kappa statistic 0.6067 K&B Relative Info Score 63899.0056 % K&B Information Score 1506.7906 bits 1.3287 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 4113.5337 bits 3.6275 bits/instance Complexity improvement (Sf) -1697.7551 bits -1.4971 bits/instance Mean absolute error 0.0431 Root mean squared error 0.1464 Relative absolute error 44.5141 % Root relative squared error 67.8337 % Página 25 de 37 PREDICCIÓN METEOROLÓGICA Total Number of Instances Ignored Class Unknown Instances Inteligencia en redes de ordenadores 1134 7 J Rip Scheme: weka.classifiers.rules.JRip -F 3 -N 2.0 -O 2 -S 1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 35.45 seconds === Summary === Correctly Classified Instances 718 63.3157 % Incorrectly Classified Instances 416 36.6843 % Kappa statistic 0.3863 K&B Relative Info Score 32617.5444 % K&B Information Score 769.1483 bits 0.6783 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 4961.5706 bits 4.3753 bits/instance Complexity improvement (Sf) -2545.792 bits -2.245 bits/instance Mean absolute error 0.0761 Root mean squared error 0.1917 Relative absolute error 78.6888 % Root relative squared error 88.8366 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 One R Scheme: weka.classifiers.rules.OneR -B 6 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 0.09 seconds === Summary === Correctly Classified Instances 741 65.3439 % Incorrectly Classified Instances 393 34.6561 % Kappa statistic 0.4856 K&B Relative Info Score 46223.0993 % K&B Information Score 1089.9784 bits 0.9612 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 422082 bits 372.2063 bits/instance Complexity improvement (Sf) -419666.2214 bits -370.076 bits/instance Mean absolute error 0.0462 Root mean squared error 0.215 Relative absolute error 47.7758 % Root relative squared error 99.6148 % Total Number of Instances 1134 Ignored Class Unknown Instances 7 Página 26 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores Como en el apartado anterior, vamos a proceder a estudiar el algoritmo de aprendizaje que mejor aproximación da, basándonos en los 3 parámetros seleccionados, el tiempo que tarda en ejecutarse, el error cuadrático medio y el error absoluto relativo: Predicción de condiciones a 24 horas Tiempo Root mean squared error Relative absolute error RED BAYESIANA 0.39 seconds 0.2009 78.457 % NAIVE BAYES 0.13 seconds 0.1857 71.3473 % NAIVE BAYES UPDATEABLE 0.11 seconds 0.1857 71.3473 % LOGISTIC 128.64 seconds 0.1844 74.4332 % MULTILAYER PERCEPTRON 731.19 seconds 0.1566 44.2499 % SMO 96.38 seconds 0.2358 119.7363 % IBI 0.03 seconds 0.2691 74.8852 % IBK k=1 0.02 seconds 0.269 75.019 % IBK k=2 0.02 seconds 0.2363 77.0379 % IBK k=3 0.02 seconds 0.2252 79.3064 % KSTAR -- 0.2123 78.3573 % LAZY 0.02 seconds 0.1553 51.4551 % Página 27 de 37 PREDICCIÓN METEOROLÓGICA DECISIONS STUMP 0.1567 53.5791 % 5.02 seconds 0.226 80.3665 % NBTree 23.39 seconds 0.1815 72.3447 % REPTree 1.84 seconds 0.2124 79.7705 % Conjunctive Rule 0.34 seconds 0.1591 55.9646 % Decision Table 2.03 seconds 0.1464 44.5141 % J Rip 35.45 seconds 0.1917 78.6888 % One R 0.09 seconds 0.215 47.7758 % J48 0.09 seconds Inteligencia en redes de ordenadores En la tabla anterior, al igual que con el apartado de predicción de la temperatura, se han seleccionado como parámetros para comparar los métodos, el tiempo de ejecución, el error cuadrático medio y el error absoluto. También podríamos haber elegido los porcentajes de acierto y fallo en cada uno de los métodos, pero hemos comprobado están totalmente relacionados. En este caso, con una gran diferencia, podemos decir que el mejor de los métodos es el de Decisión Table, ya que el que obtiene un error menor a pesar de ser un poco más lento que otros métodos. Si nos fijamos en el porcentaje de aciertos que obtiene: Correctly Classified Instances Incorrectly Classified Instances 833 301 73.4568 % 26.5432 % Hemos comprobado que es muy superior al de la mayoría de los otros algoritmos, que en el mejor de los casos están en torno a 68% de aciertos. Página 28 de 37 PREDICCIÓN METEOROLÓGICA 4. Inteligencia en redes de ordenadores Anexos a. Script inicial Como se ha comentado anteriormente, el script utilizado ha sido facilitado por el profesor. Este script se encarga de abrir cada uno de los ficheros con la información, extraer los datos y juntarlos todos en un solo fichero. Además, se modifica el formato de la hora para que en lugar de tener las horas de 0 a 12 en AM y PM, utilizar un formato de 0 a 47 en intervalos de media hora. El código es el siguiente: procesa-lemd/filtra.pl while() { chop(); if(/^[0123456789]*:[03]0/) { s/^12:00 AM/0/; s/^12:30 AM/1/; s/^1:00 AM/2/; s/^1:30 AM/3/; s/^2:00 AM/4/; s/^2:30 AM/5/; s/^3:00 AM/6/; s/^3:30 AM/7/; s/^4:00 AM/8/; s/^4:30 AM/9/; s/^5:00 AM/10/; s/^5:30 AM/11/; s/^6:00 AM/12/; s/^6:30 AM/13/; s/^7:00 AM/14/; s/^7:30 AM/15/; s/^8:00 AM/16/; s/^8:30 AM/17/; s/^9:00 AM/18/; s/^9:30 AM/19/; s/^10:00 AM/20/; s/^10:30 AM/21/; s/^11:00 AM/22/; s/^11:30 AM/23/; s/^12:00 PM/24/; s/^12:30 PM/25/; s/^1:00 PM/26/; s/^1:30 PM/27/; s/^2:00 PM/28/; s/^2:30 PM/29/; s/^3:00 PM/30/; s/^3:30 PM/31/; s/^4:00 PM/32/; s/^4:30 PM/33/; s/^5:00 PM/34/; s/^5:30 PM/35/; s/^6:00 PM/36/; s/^6:30 PM/37/; s/^7:00 PM/38/; s/^7:30 PM/39/; s/^8:00 PM/40/; Página 29 de 37 PREDICCIÓN METEOROLÓGICA Inteligencia en redes de ordenadores s/^8:30 PM/41/; s/^9:00 PM/42/; s/^9:30 PM/43/; s/^10:00 PM/44/; s/^10:30 PM/45/; s/^11:00 PM/46/; s/^11:30 PM/47/; print "$_\n"; } } procesa-lemd/pon48.pl $FICHERO = $ARGV[0]; $FICHERO =~ s/08221-//; $FICHERO =~ s/-/,/g; $contador = 0; while() { chop(); $linea = $_; $linea =~ s/,,/,?,/g; ($valor) = ($linea =~ /^([0-9]+),/); while($contador 17) ){ escribe = escribe + "?" + sepa; incompleto++; }else{ escribe = escribe + tempe + sepa; } }else{ escribe = escribe + "?"

2 downloads 38 Views 111KB Size

Recommend Stories

No stories

Story Transcript

PRÁCTICA FINAL DE INTELIGENCIA EN REDES DE ORDENADORES

PREDICCIÓN METEOROLÓGICA 5º INGENIERIA DE TELECOMUNICACIÓN

Julio Alberto Polo Fernández 100029757 Raúl Muñoz Martínez 100029571

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

INDICE 1.

Introducción

2.

Preprocesado de los datos a. Análisis b. Selección

3.

Aprendizaje a. Aprendizaje para el modelo de predecir la temperatura b. Aprendizaje condiciones

4.

para

el

modelo

Anexos a. Script inicial b. Código java para el preprocesado

Página 2 de 37

de

predecir

las

PREDICCIÓN METEOROLÓGICA

1.

Inteligencia en redes de ordenadores

Introducción

En esta práctica vamos a desarrollar un sistema de predicción meteorológica usando la herramienta de minería de datos WEKA. El programa WEKA permite realizar minería de datos con una interfaz gráfica lo que facilita su utilización. Además, permite una comparación con los distintos métodos que se utilizan para el pre-procesamiento, clasificación de información, clustering y meta-aprendizaje. Las técnicas de minería de datos están en auge, usándose cada vez más para mejorar el rendimiento de negocios o procesos industriales en los que se manejan grandes volúmenes de información estructurada y almacenada en bases de datos. Mediante estas técnicas de pueden explorar grandes volúmenes de datos con el fin de predecir ciertos modelos de comportamiento y así ayudar en la toma de decisiones. Un proyecto de minería de datos consta de los siguientes pasos: -

Filtrado de datos: Los datos tienen que estar en un formato que entienda nuestra herramienta WEKA. Además es necesario eliminar valores no validos o que sobrepasan un umbral y que en el modelo aportarían ruido.

-

Selección de variables: Una vez filtrados los datos, se siguen teniendo una cantidad de datos innecesaria que ralentiza nuestro análisis. Por ello, es necesario elegir las variables que mas influyen en nuestra predicción sin perjudicar el resultado. Las técnicas mas usadas son las que buscan las variables independientes mediante algoritmos de distancia o heurísticos.

-

Uso de algoritmos para obtener un modelo de conocimiento: A continuación se aplican diversos algoritmos de conocimiento que mediante patrones de comportamiento que observan en las variables realizan asociaciones de las mismas para finalmente llegar a un modelo.

-

Interpretación y evaluación: Finalmente es necesario comprobar que los resultados de nuestro modelo son validos. Por ello es importante realizar comparaciones entre los distintos algoritmos para intentar escoger el mejor, es decir, el que menor error cometa en la predicción.

Página 3 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

En esta practica, como hemos dicho, vamos a intentar desarrollar un sistema de predicción meteorológica, para ellos vamos a tomar como fuente de datos la información METAR (Meteorological Actual Report). El código METAR fue establecido por la World Meteorological Organization (WMO) y adoptado por todas las naciones del mundo sirve para representar condiciones meteorológicas en aeropuertos o estaciones meteorológicas, habitualmente con medidas horarias. Para nuestra práctica adquiriremos estos datos del aeropuerto de Madrid Barajas (con código LEMD) desde el año 1996 al 2004. La información descrita en dicho código es la siguiente: ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾

Hora (CET) Temperatura (grados Fahrenheit) Punto de rocío (grados Fahrenheit) Humedad Presión (pulgadas) Visibilidad Dirección del viento Velocidad del viento (millas por hora) Velocidad de ráfagas de viento (millas por hora) Precipitación Eventos Condiciones

En cada fichero con código METAR se tiene la información de un día. Los tres objetivos de predicción en esta práctica son: ¾ Predicción de temperatura a 1 hora ¾ Predicción de temperatura a 24 horas ¾ Predicción de condiciones meteorológicas a 24 horas

Página 4 de 37

PREDICCIÓN METEOROLÓGICA

2.

Inteligencia en redes de ordenadores

Preprocesado de los datos

A la hora de comenzar con el trabajo, los datos facilitados estaban distribuidos en numerosos ficheros de texto, los cuales contenían todos los datos pertenecientes a cada uno de los días bajo estudio. Se hacia necesario una manera automática de procesar los datos, ya manera del orden de 3000 ficheros para colocar los datos adecuadamente, es algo impensable en estos días. En primer lugar, pensamos en sencillos scripts bajo linux, con lenguajes como perl, bash o similares, los cuales permiten de una manera sencilla, extraer los datos de los ficheros para colocarlos en un solo fichero, y en cada línea, las medidas de cada instante de tiempo. Debido a la escasa soltura en el manejo de estos lenguajes y la falta de tiempo, se ha utilizado el fichero generado mediante perl por nuestro profesor, en cual, tenemos todos los datos línea a línea. Con estos datos, pasamos a realizar un análisis.

a. Primer análisis En primer lugar, a simple vista, podemos observar como el fichero contiene una parte muy significante de días y horas en las que no se ha realizado ninguna medida, es decir, todos los parámetros son desconocidos, por lo que pasamos a eliminar todos estos datos. Aún así, podemos observar que, repartidos a lo largo de todo el fichero, encontramos pequeños conjuntos de medidas, que al igual que las anteriores, son desconocidas, pero se hace muy complicado eliminarlos manualmente. Por otro lado, también comprobamos que existen muchas magnitudes erróneas, o simplemente desconocidas (“N/A”, “-9999”, etc.) que tenemos que reemplazar por signo de interrogación (“?”), carácter utilizado por WEKA para los datos desconocidos. A raíz de esto, surgió la necesidad de implementar un nuevo programa o script para realizar estas tareas de manera automática. El lenguaje elegido fue JAVA, debido a su simplicidad en el trabajo con cadenas de caracteres y al buen manejo del mismo. Aprovechando el manejo de los datos mediante el programa, se han hecho unos cambios de variables para expresar los datos en unas unidades más familiares. Por tanto, a partir de ahora la temperatura y el nivel de rocío serán medidos en grados centígrados y la velocidad del viento en kilómetros por hora. Cuando ya se han eliminado los datos innecesarios y corregido los datos desconocidos, pasamos a realizar un análisis de los datos mediante la herramienta WEKA. Esto nos permitirá, de una manera más exacta, saber cuales son las variables determinantes a la hora de estimar la temperatura y las condiciones climatológicas.

Página 5 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

A priori, podemos asegurar que la temperatura en las horas anteriores y la temperatura del día anterior a la misma hora, serán unas variables muy relacionadas para estimar la temperatura, así como las condiciones climatológicas del día anterior a la misma hora para predecir las mismas. Esto ya nos indica la necesidad de crear otro programa para poder ordenar estás ultimas medidas de una manera correcta para el análisis con WEKA.

b. Segundo análisis Después de crear el nuevo programa para introducir la temperatura de una hora antes, la temperatura de dos horas antes, la temperatura del día anterior a la misma hora así como las condiciones climatológicas del día anterior, tenemos que crear la estructura de la cabecera de los ficheros ARFF (Attribute Relation File Format), que tiene un aspecto similar a: @relation nombre_de_la_relación @attribute r1 real … @attribute i1 integer … @attribute v1 {v11,v12,v13,…,v1n} … @data datos En nuestro caso, el la cabecera tiene el siguiente aspecto: @relation 'meteorologia' @attribute 'año' {1996,1997,1998,1999,2000,2001,2002,2003,2004} @attribute 'dia' integer @attribute 'hora' {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,2 6,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47} @attribute 'temperatura' integer @attribute 'rocio' integer @attribute 'humedad' integer @attribute 'presion' real @attribute 'visibilidad' real @attribute 'direccion' {Calm,Este,Norte,Sur,Oeste,ONO,NNO,NE,NO,ENE,NNE,ESE,SE,SSO,OSO,SSE,SO ,Variable} @attribute 'velocidad' integer @attribute 'hechos' {Lluvia,Bruma,Bruma_Lluvia,Tormenta,Lluvia_Nieve,Nieve,Tornado} @attribute 'condiciones' {Despejado,Tormenta,Parcialmente_Nublado,Nubes_Dispersas,Altamente_Nub lado,Lluvias,Nublado,Niebla,Bruma,Bancos_de_Bruma,Bruma_Leve,Bruma_Lig era,Lluvia,Lluvia_Leve,Nieve} @attribute 'temperatura1' integer @attribute 'temperatura2' integer @attribute 'temperatura24' integer @attribute 'condiciones24' {Despejado,Tormenta,Parcialmente_Nublado,Nubes_Dispersas,Altamente_Nub lado,Lluvias,Nublado,Niebla,Bruma,Bancos_de_Bruma,Bruma_Leve,Bruma_Lig era,Lluvia,Lluvia_Leve,Nieve} @data

Página 6 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

Podemos comprobar como se han añadido las variables nuevas mencionadas anteriormente. Hemos de destacar que, para el conjunto de datos con el que hemos trabajado, algunas de las clases de “condiciones” y “hechos”, no aparecían en ninguna de las instancias, por tanto, hemos eliminado la aparición de las mismas. Estas han sido: •

Para hechos: Nieve_Granizo



Para condiciones: Granizo_Pequeño, Leve_Caída_de_Granizo_Pequeño, Granizo_Leve, Nubes_Bajas_de_Polvo, Caídas_de_Granizo, Bruma_Helada_Leve, Tormenta_con_Granizo, Remolino_de_Polvo, Tormenta_Leve, Nube_en_embudo, Arena y Nubes_de_Polvo.

Lluvia_Granizo_Tormenta,

Granizo,

Granizo_Tormenta

y

A pesar de ello, y para simplificar aún más el modelado, se han agrupado otros conjuntos de clases: • • • • • • •

Lluvia_Tormenta como Lluvia Llovizna_Helada_Leve, Llovizna_Leve, Llovizna_Abundante, Llovizna, Lluvia_Helada_Leve como Lluvia_Leve Fuertes_Lloviznas y Abundantes_Lluvias como Lluvias Tormentas_y_Lluvia, Tormentas_Leves_y_Lluvia, Fuertes_Tormentas_y_Lluvia como Tormenta Niebla_Leve, Abundante_Niebla y Neblina como Niebla Bancons_de_Bruma, Bruma_Leve y Bruma_Ligera como Bruma Nevada_Leve, Caidas_de_Nieve y Abundante_Nieve como Nieve

Una vez elaborado correctamente el fichero ARFF, introducimos los valores en el programa WEKA, mediante el cual podremos hacer la selección, paso muy importante para poder procesar los datos de una manera más eficiente.

c. Selección Lo primero que podemos observar al introducir los datos en el programa, es que tenemos datos que se escapan de una manera exagera de los rango de variación normales para la magnitudes medidas. Por lo que se modificó ligeramente el programa para restringir los datos dentro de unos rangos normales. Así, se han descartado medidas como: Nivel de rocío por debajo de -11º o por encima de 17º Presión a nivel del mar por debajo de 29 pulgadas de mercurio o por encima de 31 Visibilidad por debajo de 3 o por encima de 8 Velocidad por debajo de 0 o por encima de 40 Temperatura por debajo de -10 o por encima de 45 Con los datos correctos, pasamos a realizar un análisis buscando que variables son las más correlacionadas para la estimación de cada unos de los parámetros buscados, es decir, la temperatura y las condiciones climatológicas. Página 7 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

Realizando un análisis de CfsSubsetEval, bien sea utilizando búsqueda BestFirst, ExhaustiveSearch o GreedyStepwise, obtenemos unos resultados muy similares: -

Para la estimación de la temperatura: rocio humedad direccion hechos temperatura1 temperatura2 temperatura24

-

Para la estimación de las condiciones climatológicas: dia humedad presion visibilidad velocidad hechos temperatura1 condiciones24

Por tanto, una vez selección las variables importantes, pasamos a realizar el entrenamiento del sistema para poder realizar las predicciones deseadas de la manera más exacta posible. Es importante destacar que a la hora de realizar los análisis, no ha sido posible utilizar el 100% de los datos, debido a la ingente cantidad de memoria y tiempo que eso supondría para los ordenadores de sobremesa actuales, por lo que ha sido necesaria un muestreo de todas los datos disponibles.

Página 8 de 37

PREDICCIÓN METEOROLÓGICA

3.

Inteligencia en redes de ordenadores

Aprendizaje

En este punto vamos a aplicar diversos algoritmos de conocimiento para finalmente intentar llegar a un modelo que reduzca la probabilidad de error en la predicción.

3.1 Aprendizaje para el modelo de predecir la temperatura REGRESION LINEAL Scheme: weka.classifiers.functions.LinearRegression -S 0 -R 1.0E-8 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16 Instances: 121825 Time taken to build model: 9.91 seconds === Summary === Correlation coefficient 0.9866 Mean absolute error 1.0299 Root mean squared error 1.4426 Relative absolute error 14.0606 % Root relative squared error 16.1723 % Total Number of Instances 12681

Como hemos tenido problemas de memoria y de tiempo en llegar a un modelo con la mayoría de los algoritmos hemos decidido tomar menos muestras. Ahora estábamos tomando 121000 y a partir de ahora aplicamos un filtro de muestreo (resample) para así tener unas 12000 muestras. REGRESION LINEAL Scheme: weka.classifiers.functions.LinearRegression -S 0 -R 1.0E-8 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 1.09 seconds === Summary === Correlation coefficient 0.9861 Mean absolute error 1.0042 Root mean squared error 1.4488 Relative absolute error 13.7886 % Root relative squared error 16.4208 % Total Number of Instances 1268

MULTILAYER PERCEPTRON Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 500 -V 0 -S 0 -E 20 -H a Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0

Página 9 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

Instances: 12182 Time taken to build model: 392.02 seconds === Summary === Correlation coefficient 0.9847 Mean absolute error 0.3116 Root mean squared error 1.5947 Relative absolute error 4.2783 % Root relative squared error 18.0752 % Total Number of Instances 1268

RBF NETWORK Scheme: weka.classifiers.functions.RBFNetwork -B 2 -S 1 -R 1.0E-8 -M -1 -W 0.1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 1.16 seconds === Summary === Correlation coefficient 0.8538 Mean absolute error 3.6982 Root mean squared error 4.5075 Relative absolute error 50.778 % Root relative squared error 51.0891 % Total Number of Instances 1268

IBK K=1 Scheme: weka.classifiers.lazy.IBk -K 1 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.02 seconds === Summary === Correlation coefficient 0.9728 Mean absolute error 1.1141 Root mean squared error 2.0213 Relative absolute error 15.2971 % Root relative squared error 22.9096 % Total Number of Instances 1268

IBK K=2 Scheme: weka.classifiers.lazy.IBk -K 2 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.02 seconds === Summary === Correlation coefficient Class complexity | order 0 bits/instance Class complexity | scheme bits/instance

0.9756 6527.6923 bits

5.148

4107.9446 bits

3.2397

Página 10 de 37

PREDICCIÓN METEOROLÓGICA Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances

Inteligencia en redes de ordenadores 2419.7477 bits

1.9083

1.0791 1.9173 14.817 % 21.7313 % 1268

IBK 3 Scheme: weka.classifiers.lazy.IBk -K 3 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Test mode: user supplied test set: 1268 instances Time taken to build model: 0.02 seconds === Summary === Correlation coefficient 0.9758 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 4400.0129 bits 3.47 bits/instance Complexity improvement (Sf) 2127.6794 bits 1.678 bits/instance Mean absolute error 1.0584 Root mean squared error 1.9142 Relative absolute error 14.5326 % Root relative squared error 21.6963 % Total Number of Instances 1268

IBK 5 Scheme: weka.classifiers.lazy.IBk -K 5 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0 seconds === Summary === Correlation coefficient 0.9747 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 3631.2756 bits 2.8638 bits/instance Complexity improvement (Sf) 2896.4166 bits 2.2842 bits/instance Mean absolute error 1.0763 Root mean squared error 1.9567 Relative absolute error 14.7779 % Root relative squared error 22.1778 % Total Number of Instances 1268

KSTAR Scheme:

weka.classifiers.lazy.KStar -B 20 -M a

Página 11 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.02 seconds === Summary === Correlation coefficient 0.9952 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 3372.0149 bits 2.6593 bits/instance Complexity improvement (Sf) 3155.6773 bits 2.4887 bits/instance Mean absolute error 0.616 Root mean squared error 0.8639 Relative absolute error 8.4587 % Root relative squared error 9.7912 % Total Number of Instances 1268

LAZY Scheme: weka.classifiers.lazy.LWL -U 0 -K -1 -W weka.classifiers.trees.DecisionStump Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.02 seconds === Summary === Correlation coefficient 0.8496 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 5574.4037 bits 4.3962 bits/instance Complexity improvement (Sf) 953.2886 bits 0.7518 bits/instance Mean absolute error 3.7511 Root mean squared error 4.5961 Relative absolute error 51.5048 % Root relative squared error 52.0931 % Total Number of Instances 1268

TREES M5P Scheme: weka.classifiers.trees.M5P -M 4.0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 23.3 seconds === Summary === Correlation coefficient 0.9938 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 2451.565 bits 1.9334 bits/instance Complexity improvement (Sf) 4076.1272 bits 3.2146 bits/instance Mean absolute error 0.6397

Página 12 de 37

PREDICCIÓN METEOROLÓGICA Root mean squared error Relative absolute error Root relative squared error Total Number of Instances

Inteligencia en redes de ordenadores 0.9663 8.7836 % 10.952 % 1268

REP TREE Scheme: weka.classifiers.trees.REPTree -M 2 -V 0.0010 -N 3 -S 1 -L -1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 0.39 seconds === Summary === Correlation coefficient 0.9853 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 3353.6191 bits 2.6448 bits/instance Complexity improvement (Sf) 3174.0731 bits 2.5032 bits/instance Mean absolute error 1.0942 Root mean squared error 1.4758 Relative absolute error 15.0242 % Root relative squared error 16.7276 % Total Number of Instances 1268

CONJUNCTIVE RULE Scheme: weka.classifiers.rules.ConjunctiveRule -N 3 -M 2.0 -P -1 -S 1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 === Summary === Correlation coefficient 0.7801 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 6950.1605 bits 5.4812 bits/instance Complexity improvement (Sf) -422.4682 bits -0.3332 bits/instance Mean absolute error 4.3146 Root mean squared error 5.4649 Relative absolute error 59.2426 % Root relative squared error 61.9411 % Total Number of Instances 1268

DECISION TABLE Scheme: weka.classifiers.rules.DecisionTable -X 1 -S 5 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 === Summary ===

Página 13 de 37

PREDICCIÓN METEOROLÓGICA Correlation coefficient Class complexity | order 0 bits/instance Class complexity | scheme bits/instance Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances

Inteligencia en redes de ordenadores 0.9786 6527.6923 bits

5.148

3848.669

bits

3.0352

2679.0232 bits

2.1128

1.3905 1.777 19.0918 % 20.1413 % 1268

M5 RULES Scheme: weka.classifiers.rules.M5Rules -M 4.0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1-3,7-8,10,12,16weka.filters.unsupervised.instance.Resample-S1-Z10.0 Instances: 12182 Time taken to build model: 80.2 seconds === Summary === Correlation coefficient 0.9937 Class complexity | order 0 6527.6923 bits 5.148 bits/instance Class complexity | scheme 2457.1768 bits 1.9378 bits/instance Complexity improvement (Sf) 4070.5155 bits 3.2102 bits/instance Mean absolute error 0.6482 Root mean squared error 0.9681 Relative absolute error 8.8997 % Root relative squared error 10.973 % Total Number of Instances 1268

A la hora de realizar una comparación entre los diferentes algoritmos planteados, hemos de fijarnos algunos de los parámetros de salida. Hemos seleccionado los siguientes: •

Tiempo: nos ha parecido un parámetro decisivo a la hora de obtener un modelo de conocimiento apropiado para realizar las estimaciones. Junto con este parámetro, aparece asociado la cantidad de memoria necesaria para procesar los datos. Como ya hemos explicado anteriormente nos hemos visto obligados a reducir el conjunto de muestras.



Root mean squared error: nos permitirá obtener una aproximación de lo buenos que es modelo en función de la desviación que existe entre el valor real y el predicho.



Relative absolute error: es una medida similar a la anterior, pero de manera porcentual.

Página 14 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

Predicción de temperatura

Tiempo

Root mean squared error

Relative absolute error

REGRESION LINEAL

1.09 seconds

1.4488

13.7886 %

MULTILAYER PERCEPTRON

392.02 seconds

1.5947

4.2783 %

RBF NETWORK

1.16 seconds

4.5075

50.778

IBK K=1

0.02 seconds

2.0213

15.2971 %

IBK K=2

0.02 seconds

1.9173

14.817

IBK K=3

0.02 seconds

1.9142

14.5326 %

1.9567

14.7779 %

IBK K=5

0 seconds

%

%

KSTAR

0.02 seconds

0.8639

8.4587 %

LAZY

0.02 seconds

4.5961

51.5048 %

TREES M5P

23.3 seconds

0.9663

8.7836 %

REP TREE

0.39 seconds

1.4758

15.0242 %

CONJUNCTIVE RULE

------

5.4649

59.2426 %

DECISION TABLE

------

1.777

19.0918 %

M5 RULES

80.2 seconds

0.9681

8.8997 %

Página 15 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

Como podemos comprobar en la tabla anterior, se han marcado los mejores resultados obtenidos en cada uno de los parámetros elegidos para comparar los métodos de aprendizajes. Observando estos valores, podemos concluir que el mejor algoritmo para predecir la temperatura es KSTAR, ya permite obtener un buen valor de para el error cuadrático medio así como el error absoluto, con unos tiempos de procesamiento muy buenos.

Página 16 de 37

PREDICCIÓN METEOROLÓGICA

3.2

Inteligencia en redes de ordenadores

Aprendizaje para el modelo de predecir las condiciones

RED BAYESIANA Scheme: weka.classifiers.bayes.BayesNet -D -Q weka.classifiers.bayes.net.search.local.K2 -- -P 1 -S BAYES -E weka.classifiers.bayes.net.estimate.SimpleEstimator -- -A 0.5 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.39 seconds === Summary === Correctly Classified Instances 603 53.1746 % Incorrectly Classified Instances 531 46.8254 % Kappa statistic 0.3074 K&B Relative Info Score 34625.4742 % K&B Information Score 816.4969 bits 0.72 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1980.1762 bits 1.7462 bits/instance Complexity improvement (Sf) 435.6025 bits 0.3841 bits/instance Mean absolute error 0.0759 Root mean squared error 0.2009 Relative absolute error 78.457 % Root relative squared error 93.1008 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

NAIVE BAYES Scheme: weka.classifiers.bayes.NaiveBayes Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.13 seconds === Summary === Correctly Classified Instances 681 60.0529 % Incorrectly Classified Instances 453 39.9471 % Kappa statistic 0.4474 K&B Relative Info Score 45035.1821 % K&B Information Score 1061.9663 bits 0.9365 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1964.9799 bits 1.7328 bits/instance Complexity improvement (Sf) 450.7987 bits 0.3975

Página 17 de 37

PREDICCIÓN METEOROLÓGICA bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores

0.069 0.1857 71.3473 % 86.0378 % 1134 7

NAIVE BAYES UPDATEABLE Scheme: weka.classifiers.bayes.NaiveBayesUpdateable Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.11 seconds === Summary === Correctly Classified Instances 681 60.0529 % Incorrectly Classified Instances 453 39.9471 % Kappa statistic 0.4474 K&B Relative Info Score 45035.1821 % K&B Information Score 1061.9663 bits 0.9365 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1964.9799 bits 1.7328 bits/instance Complexity improvement (Sf) 450.7987 bits 0.3975 bits/instance Mean absolute error 0.069 Root mean squared error 0.1857 Relative absolute error 71.3473 % Root relative squared error 86.0378 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

LOGISTIC Scheme: weka.classifiers.functions.Logistic -R 1.0E-8 -M -1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 128.64 seconds === Summary === Correctly Classified Instances 689 60.7584 % Incorrectly Classified Instances 445 39.2416 % Kappa statistic 0.3944 K&B Relative Info Score 37094.5794 % K&B Information Score 874.7204 bits 0.7714 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1720.1743 bits 1.5169 bits/instance Complexity improvement (Sf) 695.6044 bits 0.6134

Página 18 de 37

PREDICCIÓN METEOROLÓGICA bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores

0.072 0.1844 74.4332 % 85.4463 % 1134 7

MULTILAYER PERCEPTRON Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 500 -V 0 -S 0 -E 20 -H a Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 731.19 seconds === Summary === Correctly Classified Instances 781 68.8713 % Incorrectly Classified Instances 353 31.1287 % Kappa statistic 0.5438 K&B Relative Info Score 58091.117 % K&B Information Score 1369.8359 bits 1.208 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1472.549 bits 1.2985 bits/instance Complexity improvement (Sf) 943.2297 bits 0.8318 bits/instance Mean absolute error 0.0428 Root mean squared error 0.1566 Relative absolute error 44.2499 % Root relative squared error 72.5641 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

SMO Scheme: weka.classifiers.functions.SMO -C 1.0 -E 1.0 -G 0.01 -A 250007 -L 0.0010 -P 1.0E-12 -N 0 -V -1 -W 1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 96.38 seconds === Summary === Correctly Classified Instances 780 68.7831 % Incorrectly Classified Instances 354 31.2169 % Kappa statistic 0.5442 K&B Relative Info Score -6294.7844 % K&B Information Score -148.4361 bits -0.1309 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 3326.2595 bits 2.9332

Página 19 de 37

PREDICCIÓN METEOROLÓGICA bits/instance Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores

-910.4808 bits

-0.8029

0.1158 0.2358 119.7363 % 109.2794 % 1134 7

IBI Scheme: weka.classifiers.lazy.IB1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.03 seconds === Summary === Correctly Classified Instances 518 45.679 % Incorrectly Classified Instances 616 54.321 % Kappa statistic 0.2975 K&B Relative Info Score 32573.9768 % K&B Information Score 768.1209 bits 0.6774 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 661584 bits 583.4074 bits/instance Complexity improvement (Sf) -659168.2214 bits -581.2771 bits/instance Mean absolute error 0.0724 Root mean squared error 0.2691 Relative absolute error 74.8852 % Root relative squared error 124.7147 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

Ibk k=1 Scheme: weka.classifiers.lazy.IBk -K 1 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.02 seconds === Summary === Correctly Classified Instances 518 45.679 % Incorrectly Classified Instances 616 54.321 % Kappa statistic 0.2975 K&B Relative Info Score 32494.7896 % K&B Information Score 766.2536 bits 0.6757 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 8295.7622 bits 7.3155

Página 20 de 37

PREDICCIÓN METEOROLÓGICA bits/instance Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores

-5879.9835 bits

-5.1852

0.0726 0.269 75.019 % 124.6566 % 1134 7

Ibk k=2 Scheme: weka.classifiers.lazy.IBk -K 2 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances === Summary === Correctly Classified Instances 598 52.7337 % Incorrectly Classified Instances 536 47.2663 % Kappa statistic 0.3707 K&B Relative Info Score 35652.7972 % K&B Information Score 840.722 bits 0.7414 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 6719.4236 bits 5.9254 bits/instance Complexity improvement (Sf) -4303.645 bits -3.7951 bits/instance Mean absolute error 0.0745 Root mean squared error 0.2363 Relative absolute error 77.0379 % Root relative squared error 109.5146 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

Ibk k=3 Scheme: weka.classifiers.lazy.IBk -K 3 -W 0 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0.02 seconds === Summary === Correctly Classified Instances 594 52.381 % Incorrectly Classified Instances 540 47.619 % Kappa statistic 0.3678 K&B Relative Info Score 34924.4509 % K&B Information Score 823.547 bits 0.7262 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 5743.9718 bits 5.0652 bits/instance

Página 21 de 37

PREDICCIÓN METEOROLÓGICA Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores -3328.1931 bits

-2.9349

0.0767 0.2252 79.3064 % 104.3681 % 1134 7

KStar Scheme: weka.classifiers.lazy.KStar -B 20 -M a Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 0 seconds === Summary === Correctly Classified Instances 557 49.1182 % Incorrectly Classified Instances 577 50.8818 % Kappa statistic 0.235 K&B Relative Info Score 29743.7223 % K&B Information Score 701.3812 bits 0.6185 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 2245.7203 bits 1.9804 bits/instance Complexity improvement (Sf) 170.0584 bits 0.15 bits/instance Mean absolute error 0.0758 Root mean squared error 0.2123 Relative absolute error 78.3573 % Root relative squared error 98.3673 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

Lazy Scheme: weka.classifiers.lazy.LWL -U 0 -K -1 -W weka.classifiers.trees.DecisionStump Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 0.02 seconds === Summary === Correctly Classified Instances 741 65.3439 % Incorrectly Classified Instances 393 34.6561 % Kappa statistic 0.4857 K&B Relative Info Score 52841.3361 % K&B Information Score 1246.0418 bits 1.0988 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1183.2523 bits 1.0434 bits/instance

Página 22 de 37

PREDICCIÓN METEOROLÓGICA Complexity improvement (Sf) bits/instance Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores 1232.5263 bits

1.0869

0.0498 0.1553 51.4551 % 71.9594 % 1134 7

Decisions Stump Scheme: weka.classifiers.trees.DecisionStump Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 0.09 seconds === Summary === Correctly Classified Instances 738 65.0794 % Incorrectly Classified Instances 396 34.9206 % Kappa statistic 0.4807 K&B Relative Info Score 51034.1438 % K&B Information Score 1203.4267 bits 1.0612 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1238.9036 bits 1.0925 bits/instance Complexity improvement (Sf) 1176.8751 bits 1.0378 bits/instance Mean absolute error 0.0518 Root mean squared error 0.1567 Relative absolute error 53.5791 % Root relative squared error 72.6229 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

J48 Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 5.02 seconds === Summary === Correctly Classified Instances 558 49.2063 % Incorrectly Classified Instances 576 50.7937 % Kappa statistic 0.2356 K&B Relative Info Score 27322.5765 % K&B Information Score 644.2886 bits 0.5682 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 141611.7122 bits 124.8781 bits/instance Complexity improvement (Sf) -139195.9335 bits -122.7477 bits/instance

Página 23 de 37

PREDICCIÓN METEOROLÓGICA Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores 0.0777 0.226 80.3665 % 104.7143 % 1134 7

NBTree Scheme: weka.classifiers.trees.NBTree Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Test mode: user supplied test set: 1141 instances Time taken to build model: 23.39 seconds === Summary === Correctly Classified Instances 706 62.2575 % Incorrectly Classified Instances 428 37.7425 % Kappa statistic 0.4591 K&B Relative Info Score 41092.6786 % K&B Information Score 968.9989 bits 0.8545 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1640.6281 bits 1.4468 bits/instance Complexity improvement (Sf) 775.1506 bits 0.6836 bits/instance Mean absolute error 0.07 Root mean squared error 0.1815 Relative absolute error 72.3447 % Root relative squared error 84.0982 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

REPTree Scheme: weka.classifiers.trees.REPTree -M 2 -V 0.0010 -N 3 -S 1 -L -1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 1.84 seconds === Summary === Correctly Classified Instances 583 51.4109 % Incorrectly Classified Instances 551 48.5891 % Kappa statistic 0.2557 K&B Relative Info Score 28683.728 % K&B Information Score 676.3857 bits 0.5965 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 73226.9607 bits 64.574 bits/instance Complexity improvement (Sf) -70811.1821 bits -62.4437 bits/instance Mean absolute error 0.0772

Página 24 de 37

PREDICCIÓN METEOROLÓGICA Root mean squared error Relative absolute error Root relative squared error Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores 0.2124 79.7705 % 98.4207 % 1134 7

ConjunctiveRule Scheme: weka.classifiers.rules.ConjunctiveRule -N 3 -M 2.0 -P -1 -S 1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 0.34 seconds === Summary === Correctly Classified Instances 738 65.0794 % Incorrectly Classified Instances 396 34.9206 % Kappa statistic 0.4783 K&B Relative Info Score 47677.0369 % K&B Information Score 1124.2634 bits 0.9914 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 1299.0154 bits 1.1455 bits/instance Complexity improvement (Sf) 1116.7632 bits 0.9848 bits/instance Mean absolute error 0.0541 Root mean squared error 0.1591 Relative absolute error 55.9646 % Root relative squared error 73.734 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

Decision Table Scheme: weka.classifiers.rules.DecisionTable -X 1 -S 5 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 2.03 seconds === Summary === Correctly Classified Instances 833 73.4568 % Incorrectly Classified Instances 301 26.5432 % Kappa statistic 0.6067 K&B Relative Info Score 63899.0056 % K&B Information Score 1506.7906 bits 1.3287 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 4113.5337 bits 3.6275 bits/instance Complexity improvement (Sf) -1697.7551 bits -1.4971 bits/instance Mean absolute error 0.0431 Root mean squared error 0.1464 Relative absolute error 44.5141 % Root relative squared error 67.8337 %

Página 25 de 37

PREDICCIÓN METEOROLÓGICA Total Number of Instances Ignored Class Unknown Instances

Inteligencia en redes de ordenadores 1134 7

J Rip Scheme: weka.classifiers.rules.JRip -F 3 -N 2.0 -O 2 -S 1 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 35.45 seconds === Summary === Correctly Classified Instances 718 63.3157 % Incorrectly Classified Instances 416 36.6843 % Kappa statistic 0.3863 K&B Relative Info Score 32617.5444 % K&B Information Score 769.1483 bits 0.6783 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 4961.5706 bits 4.3753 bits/instance Complexity improvement (Sf) -2545.792 bits -2.245 bits/instance Mean absolute error 0.0761 Root mean squared error 0.1917 Relative absolute error 78.6888 % Root relative squared error 88.8366 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

One R Scheme: weka.classifiers.rules.OneR -B 6 Relation: meteorologiaweka.filters.unsupervised.attribute.Remove-R1,3-5,9,14-15weka.filters.unsupervised.instance.Resample-S1-Z9.0 Instances: 10964 Time taken to build model: 0.09 seconds === Summary === Correctly Classified Instances 741 65.3439 % Incorrectly Classified Instances 393 34.6561 % Kappa statistic 0.4856 K&B Relative Info Score 46223.0993 % K&B Information Score 1089.9784 bits 0.9612 bits/instance Class complexity | order 0 2415.7786 bits 2.1303 bits/instance Class complexity | scheme 422082 bits 372.2063 bits/instance Complexity improvement (Sf) -419666.2214 bits -370.076 bits/instance Mean absolute error 0.0462 Root mean squared error 0.215 Relative absolute error 47.7758 % Root relative squared error 99.6148 % Total Number of Instances 1134 Ignored Class Unknown Instances 7

Página 26 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

Como en el apartado anterior, vamos a proceder a estudiar el algoritmo de aprendizaje que mejor aproximación da, basándonos en los 3 parámetros seleccionados, el tiempo que tarda en ejecutarse, el error cuadrático medio y el error absoluto relativo:

Predicción de condiciones a 24 horas

Tiempo

Root mean squared error

Relative absolute error

RED BAYESIANA

0.39 seconds

0.2009

78.457 %

NAIVE BAYES

0.13 seconds

0.1857

71.3473 %

NAIVE BAYES UPDATEABLE

0.11 seconds

0.1857

71.3473 %

LOGISTIC

128.64 seconds

0.1844

74.4332 %

MULTILAYER PERCEPTRON

731.19 seconds

0.1566

44.2499 %

SMO

96.38 seconds

0.2358

119.7363 %

IBI

0.03 seconds

0.2691

74.8852 %

IBK k=1

0.02 seconds

0.269

75.019 %

IBK k=2

0.02 seconds

0.2363

77.0379 %

IBK k=3

0.02 seconds

0.2252

79.3064 %

KSTAR

--

0.2123

78.3573 %

LAZY

0.02 seconds

0.1553

51.4551 %

Página 27 de 37

PREDICCIÓN METEOROLÓGICA

DECISIONS STUMP

0.1567

53.5791 %

5.02 seconds

0.226

80.3665 %

NBTree

23.39 seconds

0.1815

72.3447 %

REPTree

1.84 seconds

0.2124

79.7705 %

Conjunctive Rule

0.34 seconds

0.1591

55.9646 %

Decision Table

2.03 seconds

0.1464

44.5141 %

J Rip

35.45 seconds

0.1917

78.6888 %

One R

0.09 seconds

0.215

47.7758 %

J48

0.09 seconds

Inteligencia en redes de ordenadores

En la tabla anterior, al igual que con el apartado de predicción de la temperatura, se han seleccionado como parámetros para comparar los métodos, el tiempo de ejecución, el error cuadrático medio y el error absoluto. También podríamos haber elegido los porcentajes de acierto y fallo en cada uno de los métodos, pero hemos comprobado están totalmente relacionados. En este caso, con una gran diferencia, podemos decir que el mejor de los métodos es el de Decisión Table, ya que el que obtiene un error menor a pesar de ser un poco más lento que otros métodos. Si nos fijamos en el porcentaje de aciertos que obtiene: Correctly Classified Instances Incorrectly Classified Instances

833 301

73.4568 % 26.5432 %

Hemos comprobado que es muy superior al de la mayoría de los otros algoritmos, que en el mejor de los casos están en torno a 68% de aciertos.

Página 28 de 37

PREDICCIÓN METEOROLÓGICA

4.

Inteligencia en redes de ordenadores

Anexos a. Script inicial

Como se ha comentado anteriormente, el script utilizado ha sido facilitado por el profesor. Este script se encarga de abrir cada uno de los ficheros con la información, extraer los datos y juntarlos todos en un solo fichero. Además, se modifica el formato de la hora para que en lugar de tener las horas de 0 a 12 en AM y PM, utilizar un formato de 0 a 47 en intervalos de media hora. El código es el siguiente: procesa-lemd/filtra.pl while() { chop(); if(/^[0123456789]*:[03]0/) { s/^12:00 AM/0/; s/^12:30 AM/1/; s/^1:00 AM/2/; s/^1:30 AM/3/; s/^2:00 AM/4/; s/^2:30 AM/5/; s/^3:00 AM/6/; s/^3:30 AM/7/; s/^4:00 AM/8/; s/^4:30 AM/9/; s/^5:00 AM/10/; s/^5:30 AM/11/; s/^6:00 AM/12/; s/^6:30 AM/13/; s/^7:00 AM/14/; s/^7:30 AM/15/; s/^8:00 AM/16/; s/^8:30 AM/17/; s/^9:00 AM/18/; s/^9:30 AM/19/; s/^10:00 AM/20/; s/^10:30 AM/21/; s/^11:00 AM/22/; s/^11:30 AM/23/; s/^12:00 PM/24/; s/^12:30 PM/25/; s/^1:00 PM/26/; s/^1:30 PM/27/; s/^2:00 PM/28/; s/^2:30 PM/29/; s/^3:00 PM/30/; s/^3:30 PM/31/; s/^4:00 PM/32/; s/^4:30 PM/33/; s/^5:00 PM/34/; s/^5:30 PM/35/; s/^6:00 PM/36/; s/^6:30 PM/37/; s/^7:00 PM/38/; s/^7:30 PM/39/; s/^8:00 PM/40/;

Página 29 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

s/^8:30 PM/41/; s/^9:00 PM/42/; s/^9:30 PM/43/; s/^10:00 PM/44/; s/^10:30 PM/45/; s/^11:00 PM/46/; s/^11:30 PM/47/; print "$_\n"; } } procesa-lemd/pon48.pl $FICHERO = $ARGV[0]; $FICHERO =~ s/08221-//; $FICHERO =~ s/-/,/g; $contador = 0; while() { chop(); $linea = $_; $linea =~ s/,,/,?,/g; ($valor) = ($linea =~ /^([0-9]+),/); while($contador 17) ){ escribe = escribe + "?" + sepa; incompleto++; }else{ escribe = escribe + tempe + sepa; } }else{ escribe = escribe + "?" + sepa; incompleto++; } index1 = index2+1;

//humedad index2 = tmp.indexOf(sepa,index1); nue = tmp.substring(index1,index2); if ( !nue.equals("?") && !nue.equals("-9999") !nue.equals("N/A") ) { tempe = Integer.valueOf(nue); escribe = escribe + tempe + sepa; }else{ escribe = escribe + "?" + sepa; incompleto++; } index1 = index2+1; //presion index2 = tmp.indexOf(sepa,index1); nue = tmp.substring(index1,index2); if ( !nue.equals("?") && !nue.equals("-9999") !nue.equals("N/A") ) { temp = Double.valueOf(nue); if ( (temp < 29) || (temp > 31) ) { escribe = escribe + "?" + sepa; incompleto++; }else{ escribe = escribe + temp + sepa; } }else{ escribe = escribe + "?" + sepa; incompleto++; } index1 = index2+1;

&&

&&

&&

//visibilidad index2 = tmp.indexOf(sepa,index1); nue = tmp.substring(index1,index2); if ( !nue.equals("?") && !nue.equals("-9999.0") !nue.equals("N/A") ) { temp = Double.valueOf(nue); if ( (temp < 3) || (temp > 8) ) {

Página 33 de 37

&&

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

escribe = escribe + "?" + sepa; incompleto++; }else{ escribe = escribe + temp + sepa; } }else{ escribe = escribe + "?" + sepa; incompleto++; } index1 = index2+1; //direccion index2 = tmp.indexOf(sepa,index1); nue = tmp.substring(index1,index2); escribe = escribe + nue + sepa; index1 = index2+1;

9999.0")

&&

//velocidad index2 = tmp.indexOf(sepa,index1); nue = tmp.substring(index1,index2); if ( nue.equals("Calm") ) { escribe = escribe + "0" + sepa; } else if ( !nue.equals("?") && !nue.equals("!nue.equals("N/A") ) { temp = Double.valueOf(nue)*1.6092; tempe = Math.round(temp.floatValue()); if ( (tempe < 0) || (tempe > 40) ) { escribe = escribe + "?" + sepa; incompleto++; }else{ escribe = escribe + tempe + sepa; } }else{ escribe = escribe + "?" + sepa; incompleto++; } index1 = index2+1; //rafaga index2 = tmp.indexOf(sepa,index1); //de este dato pasamos porque siempre es index1 = index2+1; //precipitacion index2 = tmp.indexOf(sepa,index1); //de este dato pasamos porque siempre es N/A index1 = index2+1; //hechos index2 = tmp.indexOf(sepa,index1); nue = tmp.substring(index1,index2).replace('-','_'); if ( nue.equals("Lluvia_Granizo_Tormenta") || nue.equals("Granizo") || nue.equals("Granizo_Tormenta") || nue.equals("Nieve_Granizo") ) { nue = "?"; }else if ( nue.equals("Lluvia_Tormenta") ) { nue = "Tormenta"; }

Página 34 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

escribe = escribe + nue + sepa; index1 = index2+1; //condiciones index2 = tmp.length(); nue = tmp.substring(index1,index2).replace(' ','_'); if ( nue.equals("Desconocido") || (nue.length() == 0) || nue.equals("Granizo_Pequeño") || nue.equals("Leve_Caída_de_Granizo_Pequeño") || nue.equals("Granizo_Leve") || nue.equals("Nubes_Bajas_de_Polvo") || nue.equals("Caídas_de_Granizo") || nue.equals("Tormentas_con_Granizo") || nue.equals("Remolinos_de_Polvo") || nue.equals("Tormenta_Leve") || nue.equals("Humo") || nue.equals("Particulas_de_Nieve") || nue.equals("Nubes_de_Polvo") || nue.equals("Bruma_Helada_Leve") || nue.equals("Nube_en_Embudo") || nue.equals("Arena") ){ nue = "?"; }else if (nue.equals("Tormentas_y_Lluvia") || nue.equals("Tormentas_Leves_y_Lluvia") || nue.equals("Fuertes_Tormentas_y_Lluvia") ) { nue = "Tormenta"; }else if (nue.equals("Fuertes_Lluvias") || nue.equals("Abundantes_Lluvias")) { nue = "Lluvias"; }else if (nue.equals("Niebla_Leve") || nue.equals("Abundante_Niebla") || nue.equals("Neblina") ) { nue = "Niebla"; }else if (nue.equals("Llovizna_Helada_Leve") || nue.equals("Llovizna") || nue.equals("Llovizna_Leve") || nue.equals("Llovizna_Abundante") || nue.equals("Lluvia_Helada_Leve") ) { nue = "Lluvia_Leve"; }else if (nue.equals("Nevada_Leve") || nue.equals("Caidas_de_Nieve") || nue.equals("Abundante_Nieve") ) { nue = "Nieve"; }else if (nue.equals("Bancos_de_Bruma") || nue.equals("Bruma_Leve") || nue.equals("Bruma_Ligera") ) { nue = "Bruma"; } escribe = escribe + nue + sepa; condicioneshoy = nue; if (i==1) { diacont=diahoy; horacont=horahoy; }else{ horacont = horacont+1;

Página 35 de 37

PREDICCIÓN METEOROLÓGICA

Inteligencia en redes de ordenadores

if (horacont == 48) { horacont = 0; diacont = (diacont+1)%366; } }

//temperatura 1 hora antes if (horahoy == 0) { index = 46; }else if (horahoy == 1) { index = 47; }else{ index = horahoy-2; } escribe = escribe + temperatura24[index] + sepa; //temperatura 2 horas antes if (horahoy == 0) { index = 44; }else if (horahoy == 1) { index = 45; }else if (horahoy == 2) { index = 46; }else if (horahoy == 3) { index = 47; }else{ index = horahoy-4; } escribe = escribe + temperatura24[index] + sepa; //temperatura 24 horas antes escribe = escribe + temperatura24[horahoy] + sepa; //condiciones 24 horas antes escribe = escribe + condiciones24[horahoy]; temperatura24[horahoy] = temperaturahoy; condiciones24[horahoy] = condicioneshoy; if ( (horacont != horahoy)

||

(diacont != diahoy) )

{ if (diacont == diahoy) { for (int m=horacont; m < horahoy; m++) { temperatura24[m] = "?"; condiciones24[m] = "?"; } }else if ( (diahoy-diacont) > 1) { for (int m=0; m < 48; m++) { temperatura24[m] = "?"; condiciones24[m] = "?"; } }else{ for (int m=horacont; (m%48)

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.