Vous êtes sur la page 1sur 10

INTELIGENCIA ARTIFICIAL

Trabajo Prctico 1 Entrega Final Prediccin de la temperatura

ALUMNOS Ivone Vanina Mieggi Ximena Perez Baltazar Fernndez Juan Manuel Zita Esteban Manuel Blanco

Resumen
El objetivo de este trabajo es el desarrollo de un sistema de prediccin meteorolgica para la localidad de San Luis (provincia de San Luis), utilizando tcnicas de aprendizaje automtico para obtener modelos de clasificacin y prediccin, empleando como herramienta la plataforma Weka. Para esto describiremos el conjunto de datos empleados como as tambin el desarrollo de las fases de minera de datos para la obtencin de conocimiento aplicadas a este problema en particular. El punto de partida que disponemos, es el sitio de Redes de Estaciones Meteorolgicas (REM) de la provincia de San Luis (http://www.clima.edu.ar/app/Consulta.asp?) que permite obtener planillas de clculo con datos meteorolgicos en funcin del intervalo de tiempo deseado. En esta nuestro caso decidimos trabajar con los datos comprendidos entre el 01/01/2012 y 31/03/2013, habiendo algunos registros vacos.

Introduccin
La problemtica a resolver planteada en este trabajo es la prediccin de la temperatura con una hora de antelacin acotada a la localidad de San Luis. Si bien no es mucha la anticipacin con la que se realiza la prediccin, sirve a modo de ejemplo para mostrar cmo las redes neuronales resuelven el problema de la complejidad de los modelos de prediccin tradicionales, a partir de los factores que realmente afectan la temperatura. Este tipo de predicciones mediante redes neuronales podran ser tiles como complemento a las tcnicas tradicionales de prediccin ya que dada la naturaleza compleja de los fenmenos atmosfricos y el entendimiento incompleto de los patrones y procesos meteorolgicos, hacen que los pronsticos sean menos seguros al incrementarse el rango temporal del pronstico. La aplicacin de las RNA resuelve el problema de la complejidad que poseen los mtodos tradicionales.

Elementos del Trabajo y Metodologa:


ModelodeRNAutilizadaconlajustificacindesueleccin Utilizamos un modelo de red neuronal artificial llamado Perceptrn Multicapa.. Esto permite resolver problemas que no son linealmente separables, ha sido estudiada en el anlisis de datos, sus aplicaciones son casi ilimitadas y son usadas en problemas de prediccin.

ArquitecturaytopologafinaldelaRNAutilizadaconsujustificacin La arquitectura seleccionada es de una capa con 5 entradas que alimentan a 1 nodo oculto en una sola capa y un nodo en la capa de salida.

Definicin de la estrategia de entrenamiento a ser utilizada Como estrategia de entrenamiento utilizamos el backpropagation la cual utiliza una funcin sigmoidea, con taza de aprendizaje 0,2 y tasa de momento 0.2. Este algoritmo es de descenso por gradiente y retropropaga las seales desde la capa de salida hasta la capa de entrada optimizando los valores de los pesos sinpticos mediante un proceso iterativo que se basa en la minimizacin de las funciones de coste. Por ello, puede dividirse el algoritmo en dos fases: propagacin hacia delante y propagacin hacia atrs.

En primera instancia descargamos el archivo con los datos meteorolgicos en formato .xls desde el sitio de REM. Luego eliminamos las columnas asociadas a la temperatura del suelo a diferentes alturas (en centmetros) ya que no contenan valores. Como segundo paso filtramos las temperaturas por hora y generamos una nueva planilla de excel con los datos encolumnados por horario, tomando como Temperatura1 Luego eliminamos los atributos referentes a fecha y hora ya inferimos que siempre siguen el mismo patrn y no aportan informacin respecto a la temperatura. Seguido a esto exportamos el archivo a formato .csv y cambiamos el formato de los campos a Ingls (USA) para que el divisor de decimales sea el punto (.) y no la coma (,) ya que sino no podramos exportar el archivo a .arff (formato aceptado por el WEKA para trabajar). Para poder exportar el archivo .csv a formato .arff solo debemos abrirlo con el WEKA y guardarlo con esa extensin. Una vez cargado el archivo .arff comprobamos mediante las grficas de la solapa Visualize la relacin entre variables y dejamos aquellas que guardan una relacin lineal con la temperatura a predecir como por ejemplo Temperatura1, q es la temperatura medida 8 horas antes de la actual y Temperatura4 la temperatura a predecir.

As es que dejamos los atributos Temperatura1, Presion1, Humedad1, DirViento1, IntViento1 y Radiacion1 (valores obtenidos con 8 horas de anticipacin a la hora actual); Temperatura2, Presion2, Humedad2, DirViento2, IntViento2 y Radiacion2 (valores obtenidos con 1 hora de anticipacin a la hora actual); Temperatura3, Presion3, Humedad3, DirViento3, IntViento3 y Radiacion3 (valores obtenidos de la hora actual) y Temperatura4, que es el atributo a predecir. Luego, realizando distintas predicciones, estableciendo como mtodo de testeo el porcentaje de separacin (percentage split) al 65% y quitando variables observamos que la cantidad mnima de atributos que realmente inciden sobre la temperatura a predecir son: Temperatura1, Radiacion1, Temperatura2, Radiacion2 y Temperatura3. Con estos atributos obtenemos los menores valores de errores adems de

minimizar el tiempo de ejecucin y consumo de memoria. Estos cambios de variables fueron corroborados a su vez cambiando el nmero de nodos ocultos, llegando a observar que el modelo arrojaba los mejores resultados con 4 nodos ocultos.

Herramientas, lenguajes y/o libreras seleccionadas para la implementacin de la RNA con su justificacin La herramiento utilizada es WEKA, una aplicacin hecha en java con cdigo abierto (disponible de ser visto y modificado) de acuerdo a la licencia GPL con alto nivel de aceptacin en el mbito acadmico por su robustez, capacidad de adaptabilidad y ser embebida en sistemas desarrollados a medida. La versin utilizada es la 3.6.9 la cual se puede descargar gratuitamente desde el sitio http://www.cs.waikato.ac.nz/ml/weka/downloading.html Resultados La nomenclatura a tener en cuenta es la siguiente: weights = peso de la conexin threshold = umbral de activacin de la neurona Sigmoid nodes = nodos ocultos actual = valor del registro que debe ser predecido predicted = valor predecido

error = predicted - actual

=== Run information === Scheme:weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 500 -V 0 -S 0 -E 20 -H 1 -R Relation: registro weka ene 2012 2013-weka.filters.unsupervised.attribute.Remove-R1-2,4-5,8-9,11-12,15-16,18-20-weka.filters.unsupervised.attribute.Remove-R1,4,7 Instances: 452 Attributes: 6 Radiacion1 Temperatura1 Radiacion2 Temperatura2 Temperatura3 Temperatura4 Test mode:split 65.0% train, remainder test === Classifier model (full training set) === Linear Node 0 Inputs Weights Threshold -1.1033857460806398 Node 1 2.339900421750286 Sigmoid Node 1 Inputs Weights Threshold -0.03420714357749259 Attrib Radiacion1 -0.03541000124396062 Attrib Temperatura1 0.04811683233368384 Attrib Radiacion2 -0.002678792993985076 Attrib Temperatura2 0.02848627996444319 Attrib Temperatura3 1.7775896834836684 Class Input Node 0

mayo

Time taken to build model: 0.16 seconds === Predictions on test split === inst#, 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 26 actual, predicted, error 14 14.053 0.053 14 14.428 0.428 20.7 20.81 0.11 18.1 18.677 0.577 12.6 11.657 -0.943 24.7 25.257 0.557 10.7 9.979 -0.721 8.2 10.246 2.046 17.4 18.731 1.331 21.6 19.957 -1.643 8.9 9.097 0.197 20.5 21.107 0.607 21.2 20.908 -0.292 15.2 15.664 0.464 6.3 7.058 0.758 16.2 16.233 0.033 15.7 15.299 -0.401 10.4 10.19 -0.21 14.9 16.158 1.258 16.3 16.352 0.052 10.3 10.564 0.264 25.1 24.335 -0.765 27 26.717 -0.283 17.9 17.491 -0.409 23.7 22.879 -0.821 10.2 10.405 0.205

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94

18.8 23.8 12 20.6 21.1 24.3 16.9 6.7 10.8 11.6 21.7 26.3 29.8 17.9 25 19.4 30.9 10.9 23.3 26.1 24.2 24.6 18.6 18.1 12.7 13 22.6 19.4 4.6 24.6 9.7 17.8 22.5 27.4 7.7 13.8 27.4 25.5 23.8 10.7 25.8 29.5 18.6 27.4 20 6.7 25.3 18.3 10.1 32.5 14.9 5.5 23.6 25.5 21.4 10.4 22.9 11.4 22.2 26.3 17.7 16.6 16.4 23.3 22.4 28.1 19.6 8.2

17.603 25.377 12.123 20.83 22.37 24.31 16.966 7.045 9.363 12.962 22.805 26.17 28.089 17.683 25.356 19.607 28.68 9.925 23.78 25.491 25.217 24.489 20.779 16.49 11.8 12.35 22.551 20.293 5.855 23.813 9.252 16.009 22.057 26.113 8.596 11.393 26.419 26.533 23.543 12.867 25.092 27.692 19.278 26.49 19.265 7.312 24.42 19.432 9.31 29.531 14.77 5.324 23.303 24.924 21.049 11.186 22.602 10.75 21.93 25.973 19.338 15.787 15.792 24.46 22.096 27.242 19.769 8.016

-1.197 1.577 0.123 0.23 1.27 0.01 0.066 0.345 -1.437 1.362 1.105 -0.13 -1.711 -0.217 0.356 0.207 -2.22 -0.975 0.48 -0.609 1.017 -0.111 2.179 -1.61 -0.9 -0.65 -0.049 0.893 1.255 -0.787 -0.448 -1.791 -0.443 -1.287 0.896 -2.407 -0.981 1.033 -0.257 2.167 -0.708 -1.808 0.678 -0.91 -0.735 0.612 -0.88 1.132 -0.79 -2.969 -0.13 -0.176 -0.297 -0.576 -0.351 0.786 -0.298 -0.65 -0.27 -0.327 1.638 -0.813 -0.608 1.16 -0.304 -0.858 0.169 -0.184

95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158

14.7 21.9 25.9 26.9 21.2 19.8 16.6 23.7 8.6 18.4 25.5 26 26.2 21.2 22 23.9 10.3 1.6 29.1 9.7 13.8 17.4 6.5 10.6 5.6 24.7 24 27.1 13.4 28.7 27.4 9 29 22.4 25.5 16.9 19.6 20.3 20.3 21.3 24.5 10.7 10 18 12.6 14.1 22.5 22.6 8.3 25.3 20.7 8.7 10.9 18.1 13.1 -2.2 14.7 18.3 7.2 20.6 22.4 20.8 13.6 12.6

15.968 23.483 25.361 25.693 21.338 20.207 16.162 24.264 9.703 20.317 25.024 25.328 26.632 21.055 25.384 24.394 11.152 4.046 27.867 9.934 12.718 17.671 6.69 10.28 6.477 25.267 24.346 30.163 12.629 27.145 25.481 8.514 27.352 23.98 24.853 17.253 19.911 20.625 20.264 21.066 25.088 11.631 9.433 16.967 11.352 12.9 22.077 21.898 8.179 25.048 20.905 9.189 10.186 19.109 12.439 1.777 14.088 18.916 7.18 20.642 22.53 20.403 14.265 11.583

1.268 1.583 -0.539 -1.207 0.138 0.407 -0.438 0.564 1.103 1.917 -0.476 -0.672 0.432 -0.145 3.384 0.494 0.852 2.446 -1.233 0.234 -1.082 0.271 0.19 -0.32 0.877 0.567 0.346 3.063 -0.771 -1.555 -1.919 -0.486 -1.648 1.58 -0.647 0.353 0.311 0.325 -0.036 -0.234 0.588 0.931 -0.567 -1.033 -1.248 -1.2 -0.423 -0.702 -0.121 -0.252 0.205 0.489 -0.714 1.009 -0.661 3.977 -0.612 0.616 -0.02 0.042 0.13 -0.397 0.665 -1.017

=== Evaluation on test split === === Summary === Correlation coefficient 0.9884

Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances

0.8023 1.0576 13.4438 % 15.1521 % 158

Discusin
Los resultados obtenidos muestran que el modelo presenta un funcionamiento correcto, es decir cuando ste tiene un nmero ptimo de nodos en la capa oculta, disminuye la complejidad computacional durante la etapa de entrenamiento. Generalmente el aprendizaje de una red neuronal se produce mediante la formacin de una serie de entrada / salida de datos (patrones), donde la formacin del algoritmo backpropagation ajusta la relacin de pesos. La relacin peso, almacena el conocimiento necesario para resolver problemas especficos en este caso la prediccin de la temperatura. La comparacin con otras tcnicas Comparacin entre Backpropagation (BPN) y Hopfield. La capacidad de aprendizaje de una red BPN es superior a la de una red Hopfield, debido a las restricciones de la ltima y la mayor flexibilidad de la primera. El tiempo de aprendizaje es mnimo en Hopfield, no tan as en BPN. Hopfield es un modelo ms rgido, ya que no existen parmetros que puedan ser modificados. En cambio, una red BPN admite la variacin del nmero de capas, neuronas y otros parmetros, lo que permite un mejor ajuste a un dominio de problema particular, es decir es ms flexible. Si bien esto es una ventaja, demanda un tiempo de prueba mayor. Sin embargo una vez que las redes aprendieron, ambas presentan los resultados casi en forma instantnea. El tiempo de desarrollo es bastante mayor para el caso de una red BPN en contraste con el tiempo de desarrollo de una red Hopfield; esto se debe a que la estructura misma de esta ltima es ms simple. Tambin es ms difcil la codificacin de la informacin en el caso de una red Hopfield por admitir solamente valores binarios, en el caso de una red BPN los valores no tienen que sufrir cambios tan importantes, dado que la codificacin es ms directa.

Conclusin
Conclusiones de la implementacin de la RNA, teniendo en cuenta los resultados ms importantes Encontramos en la implementacin del Perceptrn Multicapa una herramienta apropiada para la prediccin de la temperatura dado que los errores son aceptables teniendo en cuenta que trabajamos con datos obtenidos en un intervalo de 15 meses. Descripcin de los problemas encontrados durante la implementacin (si hubo alguno) y estrategias de resolucin aplicadas Como primer inconveniente, antes de la implementacin, encontramos los archivos con un formato distinto

al que interpreta la herramienta WEKA, por lo que luego de leer en internet en distintos foros y a fuerza de prueba y error fuimos encontrando el formato correcto. Tambin no sabamos el orden en que deban ir las columnas, hasta que encontramos en un manual de WEKA que la columna a predecir deba ir en ltimo lugar en la planilla. Luego en la implementacin tuvimos que encontrar las opciones para setear los distintos valores para llevar a cabo la ejecucin, para lo que debimos leer manuales y foros. Referencias Apunte E de Redes Neuronales de la ctedra http://ocw.uc3m.es/ingenieriainformatica/herramientasdelainteligenciaartificial/contenidos/tra nsparencias/TutorialWeka.pdf http://www.clima.edu.ar/app/Consulta.asp http://halweb.uc3m.es/esp/Personal/personas/jmmarin/esp/DM/tema3dm.pdf https://www.google.com.ar/url? sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CEAQFjAC&url=http%3A%2F %2Fquegrande.org%2Fapuntes%2FEI%2F2%2FSC%2Fteoria %2F0708%2Faprendizaje_supervisado_2.doc&ei=kL2WUcLMDKq50AGc04CgDA&usg=AFQjCNGI CLLUKzu1IwHouy1HbXahtDMZIg&sig2=2kWZzsVZvNOT0KcKfYeqfw&bvm=bv.46751780,d.dmQ http://es.slideshare.net/civerisai/redesneuronalesatificialesyestadstica http://www.varpa.org/~mgpenedo/cursos/scx/archivospdf/Tema40.pdf http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/mejia_s_ja/capitulo3.pdf http://www.cneisi.frc.utn.edu.ar/papers/5477592401f076c93b4f92182bb3.pdf