PREDICCIÓN METEOROLÓGICA



Documentos relacionados
INGENIERÍA DE TELECOMUNICACIÓN INTELIGENCIA EN REDES DE ORDENADORES

Inteligencia en Redes de Comunicaciones

PREDICCIÓN METEOROLÓGICA

PREDICCIÓN METEOROLÓGICA

Predicción meteorológica

SISTEMAS INTELIGENTES

Práctica Final: Predicción Metereológica en Weka.

Minería de Datos. Predicción Meteorológica

TRABAJO FIN DE ASIGNATURA

2.5. Asimetría y apuntamiento

3. Métodos clásicos de optimización lineal

MÉTODOS DE APRENDIZAJE INDUCTIVO

TEMA 5. LA PARTE GASEOSA DE LA TIERRA

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 11 -

APLICACIÓN DE ÁRBOLES BINARIOS

Estructuras de control

PROGRAMACIÓN LINEAL ENTERA

CLIMATOLOGÍA AERONÁUTICA ( ) AEROPUERTO INTERNACIONAL TOBÍAS BOLAÑOS PALMA (COSTA RICA)

Práctica 2 Estadística Descriptiva

Aprendizaje Automático para el Análisis de Datos GRADO EN ESTADÍSTICA Y EMPRESA. Ricardo Aler Mur

Tema 3. Medidas de tendencia central Ejercicios resueltos 1

D.2 ANÁLISIS ESTADÍSTICO DE LAS TEMPERATURAS DE VERANO

Nuestro planeta, la Tierra, está rodeado de aire. El aire está formado por diferentes tipos de gases. Algunos son:

Ismael Fernández Castellano Telmo Calle Facal Grupo 91

b 11 cm y la hipotenusa

Elaboración de un Mapa de Contornos

Predicción de la relación entre el género, la cantidad de cigarrillos y enfermedades usando Máquinas de Vector Soporte

Métodos basados en instancias. K-vecinos, variantes

Práctica 5: Clasificación con número variable de ejemplos.

3. VARIABLES ALEATORIAS

Estadística Avanzada y Análisis de Datos

Uso de centinelas para la toma de decisiones. Esquemas y diagramas de flujo. Ejemplos resueltos. (CU00167A)

Explorando la ecuación de la recta pendiente intercepto

GUIA PRACTICA PARA LA APLICACIÓN DE MS EXCEL TECNOLOGIA/ INFORMATICA

Anexo C. Introducción a las series de potencias. Series de potencias

Representación de números enteros: el convenio complemento a dos

Aprendizaje Automatizado

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

Medidas de Dispersión

Relación 1. Sucesos y probabilidad. Probabilidad condicionada.

El Método Simplex. H. R. Alvarez A., Ph. D. 1

BASES DE DATOS. En Access hay una serie de herramientas u objetos que facilitan enormemente el tratamiento de la información:

Los números naturales

Distribución normal. Cajón de Ciencias. Qué es una variable estadística?

Introducción a la Geometría Computacional

Los números enteros. > significa "mayor que". Ejemplo: 58 > 12 < significa "menor que". Ejemplo: 3 < 12 Cualquier número positivo siempre es mayor

Práctica 2: Utilización de WEKA desde la línea de comandos.

La estadística en Internet

Sucesiones (páginas )

Matrices escalonadas y escalonadas reducidas

Generación de funciones lógicas mediante multiplexores

UNIDAD 3 FUNCIONES, FÓRMULAS Y MANIPULACIONES

Representación de números enteros: el convenio complemento a uno

Arbol de Decisiones-Investigación de Operaciones II

Práctica 1: Introducción a SPSS 1

Práctica 2 Métodos de búsqueda para funciones de una variable

CAPÍTULO Introducción

Sistemas de ecuaciones lineales

Combinación Lineal. Departamento de Matemáticas, CCIR/ITESM. 10 de enero de 2011

METODO SIMPLEX ANALISIS DE SENSIBILIDAD Y DUALIDAD

Aprendizaje Automático para el Análisis de Datos GRADO EN ESTADÍSTICA Y EMPRESA. Ricardo Aler Mur

Inteligencia Artificial II (Curso ) Ejercicios propuestos del tema 5

APRENDIZAJE BASADO EN INSTANCIAS. Eduardo Morales y Jesús González

DOCUMENTO 3: DISTRIBUCIÓN DE PROBABILIDAD DE V. A. CONTINUA: LA DISTRIBUCIÓN NORMAL

Práctica 3. CÁLCULO DE LA FUNCIÓN SENO UTILIZANDO UN DESARROLLO EN SERIE

Definiciones Diseño de Experimentos: Diseño del Experimento: Replicación o Repetición:

TEMA 2: EL INTERÉS SIMPLE

Estadística II Tema 4. Regresión lineal simple. Curso 2010/11

Sistemas de Ecuaciones Lineales

3. CREAR FORMULARIOS 3.1. CREAR FORMULARIOS CREAR UN FORMULARIO CON EL ASISTENTE PARA FORMULARIOS UNIDAD 3- CREAR FORMULARIOS

Jesús García Herrero TÉCNICAS DE REGRESIÓN NO LINEAL

TEMA 11. LA FIABILIDAD DE LOS TESTS

INTERPRETACIÓN DE IMÁGENES DE RADARES METEOROLÓGICOS. Juan Manuel Sancho Avila, M.Carmen Romero Palomino

Construcción de una línea perpendicular, dado un punto y una línea. 1. Dibuja una línea horizontal y un punto por encima de esa línea.

Universidad Tec Milenio: Profesional IO04001 Investigación de Operaciones I. Tema # 6. revisado

PRUEBA DE NIVEL DE ACCES

TEMA 4: EL TIEMPO Y EL CLIMA

Tablas Hash y árboles binarios

TEMA 11. Autovalores y autovectores. Diagonalización y formas canónicas.

PROGRAMACION ENTERA. M. en C. Héctor Martínez Rubin Celis 1

INFORMACIÓN SOBRE LA PRUEBA DE ACCESO (PAU) A LA UNIVERSIDAD DE OVIEDO. CURSO 2015/2016

Instituto tecnológico de Minatitlán. Investigación de operaciones Ing. Erika Lissette Minaya mortera Unidad 3: programación no lineal

FM 94 BUFR. Tiempo presente

Tareas de la minería de datos: clasificación. CI-2352 Intr. a la minería de datos Prof. Braulio José Solano Rojas ECCI, UCR

Cuál es la frecuencia de acceso de una memoria de acceso aleatorio con un tiempo de acceso de 80 nseg. y un tiempo de ciclo de 100 nseg.?.

Los Elementos Indispensables en la Formación de Intérpretes

Estándares de Contenido Sencillos de Entender Para Padres y Estudiantes: Matemáticas Estándares del Kindergarten de Matemáticas

Sumar datos con las funciones SUMAR. SI Y SUMAR.SI.CONJUNTO

5 Relaciones entre variables.

CONCEPTOS FUNDAMENTALES

MATEMÁTICAS Versión impresa NÚMEROS REALES

PRÁCTICA No. 5 Estados del flujo en un canal

Una población es el conjunto de todos los elementos a los que se somete a un estudio estadístico.

1. Mínimos Cuadrados.

Inteligencia en Redes de Comunicaciones

DIAGRAMA MATRICIAL EN "L"

ESTUDIO SOBRE LA BONDAD DEL ÍNDICE DE RIESGO DE INCENDIOS FORESTALES UTILIZADO EN LA CAMPAÑA NACIONAL DE APOYO A LA LUCHA CONTRA INCENDIOS.

TEMA 4: CONTRASTES DE HIPÓTESIS. CONCEPTOS BÁSICOS

Transcripción:

PREDICCIÓN METEOROLÓGICA PRÁCTICA FINAL INTELIGENCIA EN REDES DE COMUNICAIONES Roberto Díaz Morales 100025231 Jaime Mayor Berzal 100025204

Índice Introducción Tratamiento de datos Predicciones Cuadro con errores Conclusiones Código para traducir el código METAR

Introducción Para desarrollar el sistema real de predicción meteorológica, se necesita algún tipo de información que nos ayude a lograr el objetivo. Dicha información es la información METAR (Meteorological Actual Report) que es preciso y fácil de leer. Dicho código proporciona información muy valiosa que utilizan líneas aéreas y organizaciones gubernamentales de todo el mundo. La forma de presentación de dichos datos es la siguiente: HoraCET 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. No se han utilizado todos los datos de todos los días ni de todas las horas, ya que mucha de esta información no estaba disponible o simplemente había tal cantidad de ficheros que hacían muy difícil el análisis de todos los datos. Los tres objetivos de la predicción son: Predicción de temperatura a 1 hora Predicción de temperatura a 24 horas Predicción de condiciones meteorológicas (Despejado, Parcialmente Nublado, etc) a 24 horas Para la realización de esta práctica se han obtenido datos desde Julio de 1996 hasta Octubre de 2004 de dos aeropuertos de Madrid: Barajas y Cuatro Vientos. A dichos datos se les ha aplicado un tratamiento de datos que se comentará en la siguiente sección.

Tratamiento de datos Con el fin de poder utilizar los datos METAR, se tiene que proceder a un procesamiento de datos. Dicho procesamiento fue realizado por un programa implementado por nosotros en Java. Dicho programa saca toda la información del código METAR y lo escribe en formato arff para que pueda ser utilizado por Weka. Los datos fueron tratados de muy diversas maneras y se escribió una notación para cada tipo de previsión. Todos los atributos de las tres previsiones son iguales a excepción del último y se escriben en el siguiente orden: 1. Día Este valor puede tomar valores desde 1 a 366, en el caso de que el año sea bisiesto. La razón de utilizar esta notación y no otra como puede ser día del mes y el mes es que con una numeración global de todo el año puede ser que Weka saque relaciones y mejores resultados y sobre todo usar solo un atributo en vez de dos, con lo que la carga computacional se reduce. 2. HoraCET La Hora toma valores desde 0 hasta 23.5 horas. Se ha modificado la presentación de los datos METAR que aparecían en medidas sexagesimales y AM y PM, para que de esta manera pueda ser más fácil relacionar una hora con su hora posterior para la predicción de 1 hora más tarde. 3. TemperaturaF Esta temperatura está en grados Fahrenheit. Había muchos valores incorrectos debido a los aparatos de medida que podía estropearse o funcionar mal dando. Por lo que se optó sólo dar por validos los valores que estuviesen por encima de 70 y por debajo de 140 que son unos valores más aceptables. 4. Nivel_de_Rocío Muchos de estos valores eran claramente erróneos, como la aparición del valor -9999. Por lo que después de ver la distribución total de estos datos y eliminando el valor 9999 se comprobó que la mayoría de los datos estaban en una franja muy delimitada por lo que se limitó los valores del rocío al rango 70 a 65 (el índice inferior podría ser mucho más grande pero se dejó para ver si se conseguían mejores resultados). 5. Humedad Estos son otros datos con muchos errores. Muchos valores no estaban disponibles (N/A) o eran totalmente erróneos (-9999). Además hay que añadir que para el año 2004 aparecen algunos valores expresados en porcentaje, con lo que no pueden usarse con el resto de datos de Humedad.

6. PresionIn Estos datos se tratan ajustándolos a un rango de valores normal, ya que ciertos valores eran muy exagerados o incluso totalmente erróneos. Se pusieron como desconocidos los valores no disponibles (N/A), el valor incorrecto 9999 y los valores fuera del rango que consideramos valores normales (entre 15 y 45 pulgadas). 7. Visibilidad Se quitaron los ya mencionados errores incorrectos como el 9999 y se consideraron correctos los valores que estaban en el rango de 70 a 140(el índice inferior podría ser mucho más grande pero se dejó para ver si se conseguían mejores resultados). 8. Dirección del viento Este atributo se transformó en dirección en grados y no en el nombre de las direcciones. Los valores METAR encontrados eran Este, ENE, NE, NNE, Norte, NNO, NO, ONO, Oeste, OSO, SO, SSO, Sur, SSE, SE, ESE, Calm y Variable, estos dos último se tomaban como desconocidos ya que no se podía determinar la dirección. Los demás posibles valores dividían a la circunferencia de 360 grados en 12 direcciones siendo el este 0 y 360º y el resto son valores que se van incrementando 22.5º. 9. Velocidad_del viento Estos valores son tratados de manera que cuando aparecen valores no numéricos como Calm (0, no hay velocidad) no produzcan error. También se quita el valor erróneo 9999 y como pueden aparecer valores excesivos (grandes ventiscas) que pueden perjudicar el problema, se limita la velocidad al rango entre 0 y 78 millas por hora. 10. Ráfaga El tratamiento de los datos es muy similar al caso de la velocidad del viento, pero la principal diferencia es que la cantidad de este tipo de datos es mucho menor. 11. Hechos Este atributo indica un hecho concreto que sucede, como que llueva o nieve. Es distinto al atributo condición: hay muchos menos tipos de hechos y además hay gran cantidad de valores desconocidos. Los hechos utilizados son Lluvia, Tormenta, Lluvia-Tormenta, Lluvia-Nieve, Nieve, Bruma, Tornado, Bruma- Lluvia, Granizo-Tormenta, Lluvia-Granizo-Tormenta, Granizo y Nieve-Granizo.

12. Condiciones En todos los archivos se han encontrado un número muy cercano a 50 posibles condiciones. Para simplificar el modelo, se ha reducido el número de condiciones tomando las siguientes simplificaciones: Despejado, Nubes Dispersas => Despejado Nube en Embudo, Parcialmente Nublado, Nublado, Altamente Nublado => Nublado Bancos de Bruma, Bruma Ligera, Bruma Leve, Bruma, Bruma Helada Leve => Bruma Lluvias, Llovizna Leve, Llovizna, Llovizna Abundante, Llovizna Helada Leve, Lluvia Helada Leve, Lluvia Leve, Lluvia, Abundantes Lluvias, Fuertes Lluvias => Lluvia Tormenta Leve, Tormentas Leves y Lluvia, Tormenta, Tormentas y Lluvia, Fuertes Tormentas y Lluvia, Tormentas Leves con Granizo, Tormentas con Granizo => Tormenta Arena, Remolino de Polvo, Nubes de Polvo, Nubes Bajas de Polvo =>Nubes-de-Polvo Leve Caída de Granizo Pequeño, Caídas de Granizo, Granizo Pequeño, Granizo Leve => Granizo Partículas de Nieve, Caídas de Nieve, Nevada Leve, Nieve, Abundante Nieve => Nieve Niebla, Abundante Niebla, Niebla Leve, Neblina => Niebla Humo => Humo Estas agrupaciones no son casuales. El hecho de que se agrupen tanto es que muchas condiciones aparecen muy poco, incluso sólo 1 vez. El hecho de que por ejemplo se agrupen Despejado y Nubes dispersas es que la diferenciación entre ambos suceso y a su vez la distinción de Parcialmente Nublado es muy difícil ya que varían muy poco las condiciones. Por eso se trata de conseguir un menor error reduciendo el número de condiciones. 13. Temperatura de una hora antes Está variable fue introducida para obtener una mejor predicción de la temperatura, ya que es muy probable que si la temperatura de antes y la de ahora son iguales la de la siguiente hora sería muy parecida. No se introdujeron más temperaturas de horas más atrasadas porque no consideramos que mejoraran en demasía el resultado. Además, haciendo un análisis de resultados esta variable no aparecía como una de las variables más determinantes. 14. Temperatura del día anterior a la misma hora Con esta variable pensamos que serviría tanto para estimar la temperatura dentro de una hora como la del día siguiente, ya que tal vez se podría ver una relación entre la hora del día anterior y la del actual y con ello sacar la temperatura del día siguiente.

15. Condiciones del día anterior a la misma hora La justificación de la inclusión es similar a la de la variable anterior, conseguir averiguar la posible relación entre las condiciones del día anterior y la del actual, para extrapolar y obtener las del siguiente. Hay un atributo número 16 que es distinto dependiendo de la predicción que queramos hacer: 1) Temperatura en 1 hora Se añade una columna que indica la temperatura en la hora siguiente. Esta será la variable que queremos utilizar para predecir el tiempo al cabo de 1 hora. Para realizar dicha predicción, se eliminaran todos los datos que no conozcan temperatura actual o temperatura dentro de una hora. 2) Temperatura en 24 hora Se añade una columna que indica la temperatura que habrá el día siguiente a la misma hora. Esta será la variable que queremos utilizar para predecir el tiempo al cabo de 24 horas. Para realizar dicha predicción, se eliminaran todos los datos que no conozcan temperatura actual o temperatura del día siguiente a la misma hora. 3) Condiciones en 24 horas Se añade una columna con las condiciones del día siguiente a la misma hora. Esta será la variable que queremos utilizar para predecir las condiciones al cabo de 24 horas. Para realizar dicha predicción, se eliminaran todos los datos que no conozcan condición actual o la condición del día siguiente a la misma hora. Este atributo aparecerá en cada uno de los 3 ficheros que se generan, según que se quiere predecir, temperatura de la hora siguiente, del día siguiente o condiciones del día siguiente. Además de este tratamiento, los datos se han muestreado de tal forma que para el conjunto de entrenamiento (ficheros desde 1996 a 2003) se obtuvieron alrededor de 7000 instancias y para el de Test (2004) unas 700. es decir, el 10% del conjunto de entrenamiento. Esto se ha hecho ya que si el fichero es demasiado grande no hay suficiente memoria para poder utilizar la herramienta Weka correctamente. No se ha descartado ninguna variable ya que al aplicar distintos algoritmos de selección de atributos obtuvimos resultados distintos y preferimos tener un poco de redundancia a quizá perder información. De todas formas realizamos unos análisis de atributos y obtuvimos los siguientes resultados:

Para las condiciones del día siguiente con CfsSubsetEval y como método de búsqueda BestFirst o GreedyStepwise se obtuvieron que los atributos más importantes eran: día Humedad PresionIn Visibilidad_MPH Velocidad_vientoMPH Conditions TemperaturaF1HAntes Conditions1DAntes Para estimar la temperatura de la hora siguiente y la del día siguiente usando los mismos métodos, obtuvimos que la variable determinante era la temperatura actual.

Predicciones Predicción de las condiciones a 24 horas Para predecir las condiciones hemos usado todos las clasificadores que nos permitía usar Weka. Para ello hemos aplicado uno o varios algoritmos de cada tipo para ver con cuales obteníamos mejores resultados. Rules Este es el clasificador del que más algoritmos hemos probado. Este tipo de clasificadores crea un conjunto de reglas a partir de las cuales tratan de predecir cuáles serán las condiciones del día siguiente. Los resultados varían según que algoritmo se utilice. A continuación se muestran los distintos algoritmos: Conjunctive Rule Esta clase implementa un algoritmo crea una regla conjuntiva sencilla. Dicha regla consiste en realizar la conjunción (AND) de los antecedentes del atributo a predecir mediante una clasificación (si hubiera sido numérica la variable hubiera sido una regresión) El resumen del resultado se muestra a continuación Correctly Classified Instances 441 61.8513 % Incorrectly Classified Instances 272 38.1487 % Kappa statistic 0.2686 K&B Relative Info Score 7371.3146 % K&B Information Score 102.2869 bits 0.1435 bits/instance Class complexity order 0 884.4841 bits 1.2405 bits/instance Class complexity scheme 815.4123 bits 1.1436 bits/instance Complexity improvement (Sf) 69.0717 bits 0.0969 bits/instance Mean absolute error 0.0932 Root mean squared error 0.2105 Relative absolute error 89.7533 % Root relative squared error 94.8852 % En estos resultados se puede observar que de las 713 correspondientes al año 2004 del fichero de Test, 441 han sido correctamente clasificadas y 272 no lo han sido, lo que nos da un error ERROR #aciertos 272 = = 0,3814866 38,14866% #aciertos + #fallos 713 == Como se puede ver en la matriz de confusión, el principal error aparece cuando intenta decidir si está nublado o está despejado.

=== Confusion Matrix === a b c d e f g h i j <-- classified as 0 0 5 0 25 0 0 0 0 0 a = Lluvia 0 0 1 0 5 0 0 0 0 0 b = Tormenta 0 0 302 0 175 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 0 0 58 0 139 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 1 0 2 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo Decisión Table Crea una tabla de decisión para clasificar las condiciones. Los resultados son los siguientes: Correctly Classified Instances 451 63.4318 % Incorrectly Classified Instances 260 36.5682 % Kappa statistic 0.1041 K&B Relative Info Score 10027.3577 % K&B Information Score 140.4489 bits 0.1975 bits/instance Class complexity order 0 856.3795 bits 1.2045 bits/instance Class complexity scheme 36115.3805 bits 50.7952 bits/instance Complexity improvement (Sf) -35259.001 bits -49.5907 bits/instance Mean absolute error 0.0894 Root mean squared error 0.2238 Relative absolute error 86.3158 % Root relative squared error 101.4442 % Total Number of Instances 711 A partir de los resultados se obtiene el siguiente error: ERROR #aciertos 260 = = 0,365682 36,5682 % #aciertos + #fallos 711 == La matriz de confusión, como en el caso anterior confunde en gran medida la condición nublado y despejado. El error en este caso es menor porque diferencia mucho mejor la condición despejado con respecto a nublado, pero no así nublado de despejado. Además el número de sucesos despejado es mucho mayor por lo que el algoritmo ante la duda opta por el que más instancias hay. === Confusion Matrix === a b c d e f g h i j <-- classified as 0 0 21 0 12 0 0 0 0 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 0 0 397 0 86 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 0 0 138 0 54 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 2 0 0 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo

Part Crea una lista de decisión PART. Utiliza divide y vencerás. Construye un árbol de decisión parcial en cada iteración y convierte la mejor hoja de este árbol en regla. Los resultados son Correctly Classified Instances 457 64.0954 % Incorrectly Classified Instances 256 35.9046 % Kappa statistic 0.2046 K&B Relative Info Score 10368.6964 % K&B Information Score 143.8796 bits 0.2018 bits/instance Class complexity order 0 884.4841 bits 1.2405 bits/instance Class complexity scheme 21261.716 bits 29.8201 bits/instance Complexity improvement (Sf) -20377.2319 bits -28.5796 bits/instance Mean absolute error 0.0884 Root mean squared error 0.2254 Relative absolute error 85.1512 % Root relative squared error 101.612 % Con los que se obtiene el error ERROR #aciertos 256 = = 0,359 35,9% #aciertos + #fallos 713 == Observando el error se ve que es menor a todos los demás porque aunque confunde más despejados que con el algoritmo anterior acierta más nublados, es decir aunque confunde más el caso despejado, sólo confunde unos pocos, clasifica como nublados casi el doble más que antes. === Confusion Matrix === a b c d e f g h i j <-- classified as 0 0 17 0 13 0 0 0 0 0 a = Lluvia 0 0 4 0 2 0 0 0 0 0 b = Tormenta 3 0 369 0 105 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 2 0 107 0 88 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 1 0 1 0 1 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo Para este tipo de clasificadores no se comentan más algoritmos, sí se destaca que el uso del algoritmo ZeroR no sería adecuado si no fuese Madrid una zona donde la mayor parte del año está despejado, ya que este algoritmo mira cual es la media o la moda de los resultados y toma como predicción ese caso. Para las condiciones clasifica toda instancia como despejado con lo que al haber mayor numero de despejados da que el error es menor que los tres algoritmos anteriores ya que acierta todos los casos despejados y falla todos los demás. El error de este algoritmo es #aciertos 236 ERROR = = 0,331 == 33,1% #aciertos + #fallos 713

Trees Se crean árboles de decisión para predecir qué condición habrá al día siguiente. Los nodos intermedios representan atributos de los ejemplos presentados, las ramas sus posibles valores y las hojas los resultados. Hay que apuntar que debido al gran tamaño de estos árboles (ocuparían varias hojas) sólo se presentaran los que sean más pequeños y los demás es podrán observar en los ficheros resultado entregados junto con esta memoria. Se han usado tres algoritmos de este tipo J48 Este algoritmo es la implementación de Weka al algoritmo C.45, que a su vez es una extensión del algoritmo ID3. Puede rescribirse en formas de reglas IF- THEN. Los resultados son los siguientes Correctly Classified Instances 459 64.557 % Incorrectly Classified Instances 252 35.443 % Kappa statistic 0.1778 K&B Relative Info Score 11297.254 % K&B Information Score 158.2358 bits 0.2226 bits/instance Class complexity order 0 856.3795 bits 1.2045 bits/instance Class complexity scheme 47900.3416 bits 67.3704 bits/instance Complexity improvement (Sf) -47043.9621 bits -66.1659 bits/instance Mean absolute error 0.0862 Root mean squared error 0.2245 Relative absolute error 83.2546 % Root relative squared error 101.7616 % Total Number of Instances 711 El error es ERROR #aciertos 252 = = 0,3544 35,44% #aciertos + #fallos 711 == Fijándonos en la matriz de confusión se puede observar que identifica la mayoría de los casos despejados aunque sigue fallando bastante en los casos nublados. === Confusion Matrix === a b c d e f g h i j <-- classified as 2 0 15 0 16 0 0 0 0 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 3 0 386 0 94 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 2 0 119 0 71 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 2 0 0 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo

DecisionStump Este algoritmo se basa en coger un atributo y con el elegir el resultado. Los datos desconocidos se consideran otra situación. En este caso sólo se fija en el atributo Visibilidad. Según un valor de esta decide si es nublado o despejado (las 2 condiciones mayoritarias) Decision Stump Classifications Visibilidad_MPH <= 6.3 : Nublado Visibilidad_MPH > 6.3 : Despejado Visibilidad_MPH is missing : Despejado Si miramos los resultados se obtienen que son los de menor error. Correctly Classified Instances 487 68.4951 % Incorrectly Classified Instances 224 31.5049 % Kappa statistic 0.0803 K&B Relative Info Score 7522.6719 % K&B Information Score 105.3669 bits 0.1482 bits/instance Class complexity order 0 856.3795 bits 1.2045 bits/instance Class complexity scheme 783.1726 bits 1.1015 bits/instance Complexity improvement (Sf) 73.2069 bits 0.103 bits/instance Mean absolute error 0.0922 Root mean squared error 0.2092 Relative absolute error 89.001 % Root relative squared error 94.8414 % Total Number of Instances 711 El error obtenido es 31,5% que es el menor obtenido por el hecho de que trata de diferenciar los dos tipos de sucesos que más ejemplos tienen ERROR #aciertos 224 = = 0,315 31,5% #aciertos + #fallos 711 == === Confusion Matrix === a b c d e f g h i j <-- classified as 0 0 27 0 6 0 0 0 0 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 0 0 469 0 14 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 0 0 174 0 18 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 2 0 0 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo Al igual de antes se vuelve a apuntar que otro algoritmo, User Classifier, tiene un error muy bajo gracias al gran numero de condiciones despejado que hay entre las instancias.

Meta Muchos de estos algoritmos dependen del clasificador que se utilicen. Si se utiliza un clasificador que de buenos resultados, el algoritmo de este tipo también dará buenos resultados. De este tipo de algoritmos sólo se comentará se comentara el Filtered Classifier usando Decisión Table adjuntando los demás modelos y resultados probados. === Summary === Correctly Classified Instances 468 65.8228 % Incorrectly Classified Instances 243 34.1772 % Kappa statistic 0.1946 Mean absolute error 0.0886 Root mean squared error 0.2125 Relative absolute error 85.5002 % Root relative squared error 96.3213 % Total Number of Instances 711 ERROR #aciertos 243 = = 0,34177 34,2% #aciertos + #fallos 711 == === Confusion Matrix === a b c d e f g h i j <-- classified as 0 0 6 0 27 0 0 0 0 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 1 0 400 0 82 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 1 0 123 0 68 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 2 0 0 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo Como se puede ver los resultados son ligeramente mejores que con el clasificador Decisión Table.

Lazy Los algoritmos utilizados son los que se basan en los K vecinos más próximos. Se ha jugado con el número de vecinos hasta obtener la mejor solución. La mejor solución que hemos obtenido ha sido para K=17 y distancia 1/w (no se utilizó K mayores por el gran tiempo que tardaban en ejecutarse) Los resultados obtenidos son los que se muestran a continuación: Correctly Classified Instances 461 64.8383 % Incorrectly Classified Instances 250 35.1617 % Kappa statistic 0.2068 K&B Relative Info Score 5384.2749 % K&B Information Score 75.4152 bits 0.1061 bits/instance Class complexity order 0 856.3795 bits 1.2045 bits/instance Class complexity scheme 1095.3178 bits 1.5405 bits/instance Complexity improvement (Sf) -238.9383 bits -0.3361 bits/instance Mean absolute error 0.0973 Root mean squared error 0.2189 Relative absolute error 93.9774 % Root relative squared error 99.2379 % Total Number of Instances 711 === Confusion Matrix === a b c d e f g h i j <-- classified as 0 0 15 0 18 0 0 0 0 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 0 0 375 0 108 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 0 0 106 0 86 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 1 0 1 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo Se puede observar de la matriz de confusión que sólo identifica despejado y nublados identificando gran numero de ellos. ERROR #aciertos 250 = = 0,3516 35,16% #aciertos + #fallos 711 == Functions Dentro de este tipo se encuentran los métodos para hacer regresiones lineales (que servirán para el caso de predecir temperatura, no en el de predecir condiciones) y redes de neuronas como pueden ser el perceptron y sus variantes y las redes de neuronas base radial. Estas últimas han sido elegidas porque son más rápidas que las otras y por que son más fácilmente configurables al sólo la capa oculta. Pero hay que tener cuidado con el número de neuronas elegido ya que la red puede sobreaprender y el error sería muy elevado ya que la red se habría aprendido los sucesos de entrenamiento y no sería capaz de generalizar que es nuestro objetivo.

Perceptron Multicapa El perceptron multicapa es una red neuronal con varias capas ocultas de neuronas que utiliza como función de aprendizaje el backpropagation o propagación hacia atrás. Es muy útil para resolución de problemas lineales y para resolver problemas de más complejidad lo que hay que hacer es aumentar su número de neuronas y de capas (sin que llegue a sobreaprender) Los resultados son: Correctly Classified Instances 459 64.557 % Incorrectly Classified Instances 252 35.443 % Kappa statistic 0.2117 K&B Relative Info Score 11960.5435 % K&B Information Score 167.5262 bits 0.2356 bits/instance Class complexity order 0 856.3795 bits 1.2045 bits/instance Class complexity scheme 885.1179 bits 1.2449 bits/instance Complexity improvement (Sf) -28.7384 bits -0.0404 bits/instance Mean absolute error 0.0839 Root mean squared error 0.2159 Relative absolute error 81.006 % Root relative squared error 97.8629 % Total Number of Instances 711 El error es el siguiente: #aciertos 252 ERROR = = 0,35443 == 35,443% #aciertos + #fallos 711 === Confusion Matrix === a b c d e f g h i j <-- classified as 0 0 9 0 24 0 0 0 0 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 0 0 371 0 112 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 0 0 104 0 88 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 2 0 0 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo Sólo discrimina entre despejado y nublado porque no hay el número suficiente de ocurrencias de las otras condiciones que permiten que la red aprenda esa condición. Red de Base Radial Como se ha comentado antes estas redes son muy rápidas y se usan para resolver problemas no lineales. Como no sabemos si la relación de la variable condiciones del día después con el resto de variables es lineal aplicamos está red. Hemos utilizado 7 clústeres. Los resultados son:

=== Summary === Correctly Classified Instances 484 68.0731 % Incorrectly Classified Instances 227 31.9269 % Kappa statistic 0.0132 K&B Relative Info Score 1629.0165 % K&B Information Score 22.8169 bits 0.0321 bits/instance Class complexity order 0 856.3795 bits 1.2045 bits/instance Class complexity scheme 847.9343 bits 1.1926 bits/instance Complexity improvement (Sf) 8.4452 bits 0.0119 bits/instance Mean absolute error 0.1011 Root mean squared error 0.2199 Relative absolute error 97.652 % Root relative squared error 99.6805 % Total Number of Instances 711 === Confusion Matrix === a b c d e f g h i j <-- classified as 0 0 33 0 0 0 0 0 0 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 0 0 481 0 2 0 0 0 0 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 0 0 189 0 3 0 0 0 0 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 2 0 0 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo El error es ERROR #aciertos 227 = = 0,319268 31,9268% #aciertos + #fallos 711 == Se puede observar que sólo discrimina entre nublado y despejado, pero casi todo es clasificado como despejado, de ahí que el error sea bajo. Redes bayesianas El uso de estas redes es adecuado ya que estas redes son grafos acíclicos y cada nodo representa una variable, como puede ser la temperatura, la humedad Los arcos que unen variables indican influencia causal mientras que la ausencia de ellos indica independencia a priori (puede ser que se supongan independientes y más tarde se comprueben que no lo son y haya que definir un arco) Son redes probabilísticas con lo que va a afectar la ocurrencia de las condiciones. Si no conocen el dato de algún nodo lo estiman con distintos algoritmos. Red Bayesiana Es una red bayesiana normal. Los resultados se muestran a continuación: === Summary === Correctly Classified Instances 438 61.6034 % Incorrectly Classified Instances 273 38.3966 % Kappa statistic 0.1651 K&B Relative Info Score 13029.8036 % K&B Information Score 182.5029 bits 0.2567 bits/instance Class complexity order 0 856.3795 bits 1.2045 bits/instance Class complexity scheme 916.339 bits 1.2888 bits/instance Complexity improvement (Sf) -59.9595 bits -0.0843 bits/instance Mean absolute error 0.0873 Root mean squared error 0.2213 Relative absolute error 84.3252 % Root relative squared error 100.3147 % Total Number of Instances 711

=== Confusion Matrix === a b c d e f g h i j <-- classified as 9 0 10 0 12 0 0 1 1 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 8 1 376 8 78 0 0 0 12 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 18 1 117 2 53 0 0 0 1 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 2 0 0 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo El error es ERROR #aciertos 273 = = 0,3839 38,39% #aciertos + #fallos 711 == Como se observa en la matriz de confusión, el error es muy parecido a los anteriores porque casi todas las instancias están clasificadas como despejadas, aunque al contrario que en otros casos hay más condiciones que sólo las dos mayoritarias (aunque las clasifique mal) NaiveBayesian Esta es una red bayesiana más simple. Coge los estimadores basándose en el análisis del conjunto de entrenamiento. === Summary === Correctly Classified Instances 426 59.9156 % Incorrectly Classified Instances 285 40.0844 % Kappa statistic 0.1712 K&B Relative Info Score 8629.3283 % K&B Information Score 120.8673 bits 0.17 bits/instance Class complexity order 0 856.3795 bits 1.2045 bits/instance Class complexity scheme 1154.285 bits 1.6235 bits/instance Complexity improvement (Sf) -297.9055 bits -0.419 bits/instance Mean absolute error 0.0956 Root mean squared error 0.2329 Relative absolute error 92.271 % Root relative squared error 105.573 % Total Number of Instances 711 === Confusion Matrix === a b c d e f g h i j <-- classified as 10 0 5 1 9 0 0 4 4 0 a = Lluvia 0 0 1 0 0 0 0 0 0 0 b = Tormenta 12 0 375 16 57 0 0 6 17 0 c = Despejado 0 0 0 0 0 0 0 0 0 0 d = Bruma 19 1 112 6 41 0 0 10 3 0 e = Nublado 0 0 0 0 0 0 0 0 0 0 f = Humo 0 0 0 0 0 0 0 0 0 0 g = Granizo 0 0 0 0 0 0 0 0 0 0 h = Nieve 0 0 2 0 0 0 0 0 0 0 i = Niebla 0 0 0 0 0 0 0 0 0 0 j = Nubes-de-Polvo El error es muy malo ya que no se limita como anteriores algoritmos a identificar solamente nublado y despejado sino también otras condiciones como es la lluvia. El problema es que lo hace mal y comete muchos más errores.

Predicción de la temperatura de la hora siguiente y del día siguiente Para predecir la temperatura hemos utilizado casi la totalidad de métodos que Weka nos permitía. Se han utilizado varios algoritmos de cada tipo, excepto de las redes Bayesianas ya que estas se utilizan para clasificar y no para predecir un número real, para ver con cuales obteníamos mejores resultados. Functions Dentro de este tipo se encuentran los métodos para hacer regresiones lineales (que servirán para el caso de predecir temperatura, no en el de predecir condiciones) y redes de neuronas como pueden ser el perceptron y sus variantes y las redes de neuronas base radial. Estas últimas han sido elegidas porque son más rápidas que las otras y por que son más fácilmente configurables al sólo la capa oculta. Pero hay que tener cuidado con el número de neuronas elegido ya que la red puede sobreaprender y el error sería muy elevado ya que la red se habría aprendido los sucesos de entrenamiento y no sería capaz de generalizar que es nuestro objetivo. LeastMedSq Implementa una regresión lineal least median squared para calcular los coeficientes de la función, el resumen del resultado es el siguiente: Correlation coefficient 0.9904 Class complexity scheme 1701.6004 bits 2.3865 bits/instance Complexity improvement (Sf) 1966.3764 bits 2.7579 bits/instance Mean absolute error 1.6299 Root mean squared error 2.1356 Relative absolute error 12.7271 % Root relative squared error 13.5781 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 2,742 % Correlation coefficient 0.9578 Class complexity scheme 4604.5068 bits 6.351 bits/instance Complexity improvement (Sf) -890.5042 bits -1.2283 bits/instance Mean absolute error 3.4545 Root mean squared error 4.4774 Relative absolute error 26.5362 % Root relative squared error 28.4662 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 5,870 % Linear regresion Implementa una regresión lineal para calcular los coeficientes de la función, el resumen del resultado es el siguiente:

Correlation coefficient 0.9898 Class complexity scheme 3781.4064 bits 5.3035 bits/instance Complexity improvement (Sf) -113.4296 bits -0.1591 bits/instance Mean absolute error 1.611 Root mean squared error 2.1945 Relative absolute error 12.58 % Root relative squared error 13.953 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 2,742 % Correlation coefficient 0.9582 Class complexity scheme 4592.9533 bits 6.3351 bits/instance Complexity improvement (Sf) -878.9506 bits -1.2123 bits/instance Mean absolute error 3.4274 Root mean squared error 4.4421 Relative absolute error 26.3282 % Root relative squared error 28.2415 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 5,807 % Multilayer Perceptron Es una red neuronal que usa propagación hacia atrás para entrenar, el resumen del resultado es el siguiente: Correlation coefficient 0.9934 Class complexity scheme 1622.8418 bits 2.2761 bits/instance Complexity improvement (Sf) 2045.135 bits 2.8684 bits/instance Mean absolute error 1.7061 Root mean squared error 2.1282 Relative absolute error 13.3221 % Root relative squared error 13.5312 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 2,74 % Correlation coefficient 0.9588 Class complexity scheme 4594.7101 bits 6.3375 bits/instance Complexity improvement (Sf) -880.7074 bits -1.2148 bits/instance Mean absolute error 3.4665 Root mean squared error 4.465 Relative absolute error 26.628 % Root relative squared error 28.3872 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 5,87 %

3.2 Lazy: Los algoritmos utilizados son los que se basan en los K vecinos más próximos. IB1 Clasifica por el método del vecino más cercano, el resumen del resultado es el siguiente: Correlation coefficient 0.8264 Class complexity scheme 5366.7871 bits 7.5271 bits/instance Complexity improvement (Sf) -1698.8102 bits -2.3826 bits/instance Mean absolute error 8.2477 Root mean squared error 10.1919 Relative absolute error 64.4033 % Root relative squared error 64.8008 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 13,93 % Correlation coefficient 0.7848 Class complexity scheme 5424.0459 bits 7.4814 bits/instance Complexity improvement (Sf) -1710.0432 bits -2.3587 bits/instance Mean absolute error 7.8852 Root mean squared error 9.7803 Relative absolute error 60.5712 % Root relative squared error 62.1806 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 13,68 % IBK Clasifica por el método de los k vecinos más cercanos, el resumen del resultado es el siguiente, por ejemplo, para 67 vecinos más próximos hemos obtenido estos resultados: Correlation coefficient 0.9666 Class complexity order 0 3746.0144 bits 5.1036 bits/instance Class complexity scheme 2470.0659 bits 3.3652 bits/instance Complexity improvement (Sf) 1275.9484 bits 1.7383 bits/instance Mean absolute error 3.6763 Root mean squared error 4.7114 Relative absolute error 27.5584 % Root relative squared error 29.3499 % Total Number of Instances 734 ERROR = media( abs(tpredicha-treal)/treal )*100 = 6,23%

-Para predecir la temperatura del día siguiente: KSTAR Correlation coefficient 0.9358 Mean absolute error 4.5376 Root mean squared error 5.8071 Relative absolute error 34.856 % Root relative squared error 36.9199 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 7,69% Correlation coefficient 0.9825 Class complexity scheme 1957.0897 bits 2.7449 bits/instance Complexity improvement (Sf) 1710.8871 bits 2.3996 bits/instance Mean absolute error 2.2073 Root mean squared error 2.8683 Relative absolute error 17.2359 % Root relative squared error 18.2369 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 3,69% Correlation coefficient 0.938 Class complexity scheme 3727.5139 bits 5.1414 bits/instance Complexity improvement (Sf) -13.5113 bits -0.0186 bits/instance Mean absolute error 4.2835 Root mean squared error 5.406 Relative absolute error 32.9038 % Root relative squared error 34.3698 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 7,43% LWL Correlation coefficient 0.8468 Class complexity scheme 4087.1058 bits 5.7323 bits/instance Complexity improvement (Sf) -419.1289 bits -0.5878 bits/instance Mean absolute error 6.8944 Root mean squared error 8.2227 Relative absolute error 53.836 % Root relative squared error 52.28 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 11,64%

Correlation coefficient 0.8335 Class complexity scheme 4201.8438 bits 5.7956 bits/instance Complexity improvement (Sf) -487.8411 bits -0.6729 bits/instance Mean absolute error 7.1182 Root mean squared error 8.6159 Relative absolute error 54.6792 % Root relative squared error 54.7777 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 11,99% META: Muchos de estos algoritmos dependen del clasificador que se utilicen. Si se utiliza un clasificador que de buenos resultados, el algoritmo de este tipo también dará buenos resultados. Additive Regresión: Correlation coefficient 0.9633 Class complexity scheme 4505.5979 bits 6.3192 bits/instance Complexity improvement (Sf) -837.6211 bits -1.1748 bits/instance Mean absolute error 3.4582 Root mean squared error 4.2329 Relative absolute error 27.0042 % Root relative squared error 26.9128 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 5,84% Correlation coefficient 0.9365 Class complexity order 0 3714.0027 bits 5.1228 bits/instance Class complexity scheme 4814.0399 bits 6.6401 bits/instance Complexity improvement (Sf) -1100.0372 bits -1.5173 bits/instance Mean absolute error 4.3311 Root mean squared error 5.5687 Relative absolute error 33.2694 % Root relative squared error 35.4047 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 7,34%

Attribute Selected Clasifier: Correlation coefficient 0 Class complexity order 0 3667.9768 bits 5.1444 bits/instance Class complexity scheme 5787.8678 bits 8.1176 bits/instance Complexity improvement (Sf) -2119.8909 bits -2.9732 bits/instance Mean absolute error 12.8063 Root mean squared error 15.7281 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 21,71% Correlation coefficient 0 Class complexity scheme 5845.0594 bits 8.0622 bits/instance Complexity improvement (Sf) -2131.0567 bits -2.9394 bits/instance Mean absolute error 13.0181 Root mean squared error 15.7288 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 22,06% Bagging: Correlation coefficient 0.9933 Class complexity scheme 1494.6407 bits 2.0963 bits/instance Complexity improvement (Sf) 2173.3362 bits 3.0482 bits/instance Mean absolute error 1.357 Root mean squared error 1.7774 Relative absolute error 10.5966 % Root relative squared error 11.3007 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 2,33% Correlation coefficient 0.9633 Class complexity scheme 4538.3577 bits 6.2598 bits/instance Complexity improvement (Sf) -824.355 bits -1.137 bits/instance Mean absolute error 3.1879 Root mean squared error 4.1491 Relative absolute error 24.4881 % Root relative squared error 26.3788 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 5,40%

CV Parameter Selection: Correlation coefficient 0 Class complexity scheme 5787.8678 bits 8.1176 bits/instance Complexity improvement (Sf) -2119.8909 bits -2.9732 bits/instance Mean absolute error 12.8063 Root mean squared error 15.7281 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 21,71% Correlation coefficient 0 Class complexity scheme 5845.0594 bits 8.0622 bits/instance Complexity improvement (Sf) -2131.0567 bits -2.9394 bits/instance Mean absolute error 13.0181 Root mean squared error 15.7288 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 22,06% Filtered Classifier: Correlation coefficient 0 Class complexity scheme 5787.8678 bits 8.1176 bits/instance Complexity improvement (Sf) -2119.8909 bits -2.9732 bits/instance Mean absolute error 12.8063 Root mean squared error 15.7281 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 21,70% Correlation coefficient 0 Class complexity scheme 5845.0594 bits 8.0622 bits/instance Complexity improvement (Sf) -2131.0567 bits -2.9394 bits/instance Mean absolute error 13.0181 Root mean squared error 15.7288 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 22,07%

Multischeme: Correlation coefficient 0 Class complexity scheme 5787.8678 bits 8.1176 bits/instance Complexity improvement (Sf) -2119.8909 bits -2.9732 bits/instance Mean absolute error 12.8063 Root mean squared error 15.7281 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 21,71% Correlation coefficient 0 Class complexity scheme 5845.0594 bits 8.0622 bits/instance Complexity improvement (Sf) -2131.0567 bits -2.9394 bits/instance Mean absolute error 13.0181 Root mean squared error 15.7288 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 22,07% Regresion by Discretization: Correlation coefficient 0.9837 Class complexity scheme 1949.1326 bits 2.7337 bits/instance Complexity improvement (Sf) 1718.8443 bits 2.4107 bits/instance Mean absolute error 2.2464 Root mean squared error 2.7645 Relative absolute error 17.5415 % Root relative squared error 17.577 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 3,80% Correlation coefficient 0.9393 Class complexity scheme 3732.0951 bits 5.1477 bits/instance Complexity improvement (Sf) -18.0924 bits -0.025 bits/instance Mean absolute error 4.1018 Root mean squared error 5.3649 Relative absolute error 31.5086 % Root relative squared error 34.1086 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 6,95%

Stacking: Correlation coefficient 0 Class complexity scheme 5787.8678 bits 8.1176 bits/instance Complexity improvement (Sf) -2119.8909 bits -2.9732 bits/instance Mean absolute error 12.8063 Root mean squared error 15.7281 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 21,71% Correlation coefficient 0 Class complexity scheme 5845.0594 bits 8.0622 bits/instance Complexity improvement (Sf) -2131.0567 bits -2.9394 bits/instance Mean absolute error 13.0181 Root mean squared error 15.7288 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 22,06% Vote: Correlation coefficient 0 Class complexity scheme 5787.8678 bits 8.1176 bits/instance Complexity improvement (Sf) -2119.8909 bits -2.9732 bits/instance Mean absolute error 12.8063 Root mean squared error 15.7281 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 21,71% Correlation coefficient 0 Class complexity scheme 5845.0594 bits 8.0622 bits/instance Complexity improvement (Sf) -2131.0567 bits -2.9394 bits/instance Mean absolute error 13.0181 Root mean squared error 15.7288 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 22,06%

TREES: Se crean árboles de decisión para predecir qué condición habrá al día siguiente. Los nodos intermedios representan atributos de los ejemplos presentados, las ramas sus posibles valores y las hojas los resultados. Hay que apuntar que debido al gran tamaño de estos árboles (ocuparían varias hojas) sólo se presentaran los que sean más pequeños y los demás es podrán observar en los ficheros resultado entregados junto con esta memoria. Se han usado tres algoritmos de este tipo Decision Stump: Correlation coefficient 0.823 Class complexity scheme 4152.4646 bits 5.8239 bits/instance Complexity improvement (Sf) -484.4878 bits -0.6795 bits/instance Mean absolute error 7.3847 Root mean squared error 8.8094 Relative absolute error 57.6646 % Root relative squared error 56.0107 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 12,51% Correlation coefficient 0.8034 Class complexity scheme 5337.2569 bits 7.3617 bits/instance Complexity improvement (Sf) -1623.2543 bits -2.239 bits/instance Mean absolute error 7.7223 Root mean squared error 9.3276 Relative absolute error 59.3194 % Root relative squared error 59.3028 % M5P: ERROR = media( abs(tpredicha-treal)/treal )*100 = 13,09% Con este árbol se han obtenido buenos resultados Correlation coefficient 0.993 Class complexity scheme 1502.2695 bits 2.107 bits/instance Complexity improvement (Sf) 2165.7074 bits 3.0375 bits/instance Mean absolute error 1.3799 Root mean squared error 1.8192 Relative absolute error 10.7751 % Root relative squared error 11.5667 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 2,33%

Correlation coefficient 0.9589 Class complexity scheme 3559.9521 bits 4.9103 bits/instance Complexity improvement (Sf) 154.0506 bits 0.2125 bits/instance Mean absolute error 3.4183 Root mean squared error 4.4053 Relative absolute error 26.2583 % Root relative squared error 28.0077 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 5,79% La forma de este árbol para calcular la temperatura del día siguiente sería: REP Tree: Consiste en un árbol que aprenden mediante decisión rápida, el resumen de resultados es el siguiente: Correlation coefficient 0.9921 Class complexity scheme 1580.2463 bits 2.2163 bits/instance Complexity improvement (Sf) 2087.7306 bits 2.9281 bits/instance Mean absolute error 1.5075 Root mean squared error 1.935 Relative absolute error 11.7714 % Root relative squared error 12.303 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 2,55%

RULES: Correlation coefficient 0.9556 Class complexity scheme 4610.0159 bits 6.3586 bits/instance Complexity improvement (Sf) -896.0132 bits -1.2359 bits/instance Mean absolute error 3.5196 Root mean squared error 4.5575 Relative absolute error 27.0362 % Root relative squared error 28.9752 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 5,96% Este tipo de clasificadores crea un conjunto de reglas a partir de las cuales tratan de predecir cual será la temperatura. Los resultados varían según que algoritmo se utilice. A continuación se muestran los distintos algoritmos: ZeroR: Consiste simplemente en un decisor 0-R, el resultado ha sido el siguiente: Correlation coefficient 0 Class complexity scheme 5787.8678 bits 8.1176 bits/instance Complexity improvement (Sf) -2119.8909 bits -2.9732 bits/instance Mean absolute error 12.8063 Root mean squared error 15.7281 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 21,71% Correlation coefficient 0 Class complexity scheme 5845.0594 bits 8.0622 bits/instance Complexity improvement (Sf) -2131.0567 bits -2.9394 bits/instance Mean absolute error 13.0181 Root mean squared error 15.7288 Relative absolute error 100 % Root relative squared error 100 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 22,06%

M5 Rules: Genera una lista de decisión para problemas de regresión usando separación y conquista. El resumen de los resultados es el siguiente: Correlation coefficient 0.9931 Mean absolute error 1.3648 Root mean squared error 1.8092 Relative absolute error 10.6574 % Root relative squared error 11.5033 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 2,31% Correlation coefficient 0.9594 Mean absolute error 3.3968 Root mean squared error 4.3824 Relative absolute error 26.0929 % Root relative squared error 27.8622 % Decision Table: ERROR = media( abs(tpredicha-treal)/treal )*100 = 5,75% Crea una tabla de decisión para clasificar las condiciones. Los resultados son los siguientes: Correlation coefficient 0.9846 Class complexity scheme 1898.5764 bits 2.6628 bits/instance Complexity improvement (Sf) 1769.4005 bits 2.4816 bits/instance Mean absolute error 2.1478 Root mean squared error 2.6903 Relative absolute error 16.7712 % Root relative squared error 17.1053 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 3,64% Correlation coefficient 0.9399 Class complexity scheme 4762.867 bits 6.5695 bits/instance Complexity improvement (Sf) -1048.8643 bits -1.4467 bits/instance Mean absolute error 3.7931 Root mean squared error 5.2786 Relative absolute error 29.1371 % Root relative squared error 33.56 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 6,43%

Conjunctive Rule: Esta clase implementa un algoritmo crea una regla conjuntiva sencilla. Dicha regla consiste en realizar la conjunción (AND) de los antecedentes del atributo a predecir mediante una regresión. El resumen del resultado se muestra a continuación Correlation coefficient 0.823 Class complexity scheme 4152.4313 bits 5.8239 bits/instance Complexity improvement (Sf) -484.4544 bits -0.6795 bits/instance Mean absolute error 7.3802 Root mean squared error 8.8066 Relative absolute error 57.6296 % Root relative squared error 55.9928 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 12,51% Correlation coefficient 0.8095 Class complexity scheme 5299.4873 bits 7.3096 bits/instance Complexity improvement (Sf) -1585.4846 bits -2.1869 bits/instance Mean absolute error 7.6108 Root mean squared error 9.1709 Relative absolute error 58.4628 % Root relative squared error 58.3063 % ERROR = media( abs(tpredicha-treal)/treal )*100 = 12,90%

Cuadro con errores obtenidos Temperaturas Función 1 hora 24 horas LeastMedSq 2,74 5,87% Linear Regresion 2,74 5,87% Multilayer Perceptron 2,74 5,87% IB1 13,93 13,68% IBK 6,23 7,69% KStar 3,69 7,43% LWL 11,64 11,99% Additive Regresion 5,84 7,34% Attribute Selecte Clasifier 21,71 22,06% Baggins 2,33 5,4% CVParameter selection 21,71 22,06% Filtered Clasifier 21,71 22,06% Multischeme 21,71 22,06% Regresion by discretization 3,80 6,95% Staking 21,71 22,06% Vote 21,71 22,06% Decisión Stump 12,51 13,09% M5P 2,33 5,79% REP Tree 2,55 5,96% ZeroR 21,71 22,06% M5 Rules 2,31 5,75% Decisión Table 3,64 6,43% Conjunctive Rule 12,51 12,90% Condiciones: Conjuntive Rule 38,14% Tabla de Decisión 36,56% Part 35,90% ZeroR 33,1% J48 35,443% Decisión Stump 31,5% Filtered Classifier (con decision table) 34,17% IBK (K=7) 35,16% Perceptron multicapa 35,443% Red de Base Radial 31,92% Red Bayesiana 38,39% Naive Bayesian 40,08%