Wednesday, March 26, 2014

Reportaje de resultados experimentales

Evidencia de para esta semana
  • Avance de esta semana en código.
  • El avance de la redacción de tesis consistió en colocar tablas y gráficas que representarán los resultados del análsis de experimentos.

Tesis

Para esta semana se corrigieron errores de ortografía (en su mayoría acentos), se complementó la redacción del capítulo de "Experimentos" y se corrigió estructura en el capítulo de "Trabajos relacionados".

Se agregó el capítulo "Resultados" en el cual se colocaron tablas que contendrán los resultados de los experimentos diseñados.

Avance en código

Para esta semana el avance que realicé se centró en 2 tareas distintas a las planeadas, la primera consistió en corregir el cálculo ya que conseguí 2 ejemplos para realizar pruebas y corroborar los resultados y la herramienta me arrojaba resultados un poco mayor (8 unidades) en un ejemplo y en el otro el resultado era menor (10 unidades). Al final se corrigió el problema y el desfase ahora es por milésimas.

El otro avance consistió en hacer llamadas AJAX para retroalimentar una misma pantalla y de esta manera no tener más de 2 vistas, la de la forma a llenar y la de las áreas de mejora. Esto me consumió más tiempo porque el método que implementé en un inicio no me permitía utilizarlo en la forma debido a la protección que utiliza Django al enviar los datos del cliente al servidor. Al final utilicé la app Dajaxice y me permitió implementar las llamadas AJAX que ya se tenían más las faltantes y alimentar el Dashboard con estas llamadas.

Otro avance que se realizó fue en el modelo de la base de datos, lo que se hizo fue separar los estados y ciudades en dos tablas distintas, así como colocar el material y su tipo en una misma tabla; se colocaron sus respectivas funciones para que estos datos fueran obtenidos de manera dinámica por la forma y a su vez se corrigieron los archivos sql para alimentar la base de datos.


Avances para la siguiente semana

  • Realizar un análisis de experimentos.
  • Terminar capítulos de solución propuesta y antecedentes.
  • Realizar correcciones.
  • Avance en código en transformación de datos para ser analizados.
  • Análisis de patrones de información.

Wednesday, March 12, 2014

Diseño experimental.

La evidencia de esta semana es la siguiente:
  • Avance en sección "Experimentos" de mi trabajo de investigación.
  • Análisis y avance de código.
  • Corrección de errores en el trabajo de investigación.

Tesis

En el capítulo de "Experimentos" del trabajo de investigación se detallan los experimentos diseñados, esto es, pruebas para observar e identificar bajo qué circunstancias la respuesta de salida de salida del sistema cambiaría; en esta sección se identifican aspectos como qué se va a probar, qué información se va a obtener, cómo se van a realizar esas pruebas, qué herramientas se utilizarán, cuántos usuarios se utilizarán, etc.

Lo que se realizó fue diseñar las pruebas que se harán al sistema que se está desarrollando, para que una vez que el prototipo esté listo se puedan realizar las pruebas, tomar los resultados y realizar algunos cambios.

Otras de las actividades que se realizaron fueron:
  • Corregir ortografía redacción.
  • Se terminó un primera versión del resumen.
  • Se terminó una primera versión completa del capítulo de "Introducción"

Análisis y avance de código.

Como avance en código en esta semana se implementó la pequeña función para detectar valores atípicos (outliers). Se continuó desarrollando la herramienta de acuerdo a las herramientas que proporciona Django, se accesa la BD de una forma más rápida gracias a dicho framework, se realizó el panel de administración de la BD.




Se comenzó a trabajar con lo que sería el panel de control o "Dashboard" para la parte de análisis de datos; no se comenzó desde 0 mejor utilizaré una herramienta de software libre llamada "sDashboard" la cual es una pequeña librería que te permite crear los apartados y gráficas de una manera sencilla, comencé a realizar pruebas con esto:



Avances para la siguiente semana

  • Una segunda versión del capítulo de "Antecedentes" y "Metodología".
  • Mejorar bibliografía.
  • Realizar los experimentos planteados.
  • Continuar con correcciones y mejorar redacción.
  • Mejorar diseño de la herramienta.
  • Avance en código en transformación de datos para ser analizados.
  • Comenzar con análisis de patrones.

Wednesday, March 5, 2014

Implementación de la solución propuesta.

Tesis.

Esta semana en la redacción de la tesis se logró un avance en cuestión de corrección de errores y completar los capítulos anteriores al de metodología y avances en éste último y en el de solución propuesta.

En general las tareas realizadas fueron las siguientes:
  • Se completaron los primeros 3 capítulos.
  • Corrección de errores y agregar contenido a secciones.
  • Se rotó la cabecera de la matriz de características de trabajos similares para que las columnas fueran menos anchas y pudiera colocarse de manera vertical.
  • Se modificó el archivo .bst que da estilo a la bibliografía, para que los "and" se cambiaran por "y".
  • Corrección plurales y singulares al citar autores.

Código y análisis.

Esta semana se trabajo más en análisis que en código. Lo que realicé fue documentarme sobre minería de datos y la manera en que se procesan y analizan los datos.

Encontré que para un buen procesamiento los datos deben ser pre-procesados y para esto deben pasar por una serie de pasos:

  • Limpieza de datos (data cleaning).
Este proceso involucra llenar valores faltantes, identificar valores no comúnes o atípicos y corregir inconsistencias.

En cuanto a identificar y llenar valores faltantes se encuentran varios procesos, por ejemplo ignorar registros con valores faltantes, llenar esos valores manualmente, llenar con un valor pre-establecido, utilizar medidas de tendencia central (promedio, media, mediana) para llenar los valores faltantes y utilizar árboles de decisión o inferencia bayesiana para determinar el valor más probable.

  • Identificar valores no comúnes o atípicos
Este proceso se refiere a identificar los valores que se encuentran muy alejados del conjunto de datos. Para realizar esto existen varios métodos, por ejemplo:
    • Agrupamiento (binning)
Esto se hace ordenando los datos y realizando grupos, por ejemplo tercias, a partir de esto se puede tomar la media de los 3 valores y el resultado reemplazarlo en todos los valores; también se toma el valor máximo y mínimo del grupo y se van reemplazando sus vecinos.
Imagen tomada del libro "Data Mining Concepts and Techniques"
    • Análisis de valores atípicos (Outlier analysis).
En este método valores similares son agrupados, y los valores que queden fuera de dichos grupos no son tomados en cuenta para su análisis por ser valores atípcos.


Imagen tomada del libro "Data Mining Concepts and Techniques"
    • Corregir inconsistencias.
    Esto es corroborar que nombres de campos no se repitan en las tablas de la base de datos, que el sistema utilice los mismos tipos de variables que los campos en las tablas, usar un mismo formato de fecha, utilizar las variables adecuadas para prevenir que se intenten agregar valores más grandes o campos nulos, entre otros.


    Mi aportación en código es una pequeña función para identificar los valores atípicos y eliminarlos del conjunto de datos, por el momento está implementado con valores fijos pero para la próxima semana la implementaré en el proyecto. También se verificó que los datos de lo que se encuentra implementado sea consistente con la base de datos para evitar problemas posteriores y se avanzó la aplicación en Django en cuanto a cumplir con el model vista controlador.





    También en análisis identifiqué cuáles son los datos que me van a proporcionar cada que se utilice la herramienta, los cuales voy a utilizar para analizarlos. El uso de la herramienta me va a proporcionar los siguientes datos:
    • Lugar de la construcción.
    • Si acredita o no la normatividad.
    • Materiales utilizados.
    • Porcentaje de ahorro energético.
    Estos datos al ser analizados deberán determinar:
    • Patrones de materiales que son más bioclimáticos.
    • Los lugares donde un material es comúnmente utilizado.
    • El porcentaje de construcciones bioclimáticas por estado.
    • Una relación entre ciudades y porcentajes de ahorro energético

    Fuentes

    Jiawei Han, Micheline Kamber, y Jian Pei. Data mining: concepts and techniques. Morgan Kaufmann, 2012.