Post on 19-Jan-2016
ii
TABLA DE CONTENIDOS
PORTADA................................................................ Error! Bookmark not defined.TABLA DE CONTENIDOS....................................................................................... ii
LISTA DE FIGURAS ............................................................................................... iii
LISTA DE TABLAS ................................................................................................. iii
1 INTRODUCCIÓN.............................................................................................. 1
1.1. Motivación.................................................................................................. 1
1.2. Objetivos .................................................................................................... 1
2 DESARROLLO ................................................................................................. 2
2.1 Importancia del Preprocesamiento ............................................................ 2
2.1.1 Datos Incompletos............................................................................... 2
2.1.2 Los Datos Presentan Ruido................................................................. 2
2.1.3 Datos Inconsistentes ........................................................................... 3
2.2 Tareas de Preprocesamiento de Datos...................................................... 3
2.2.1 Limpieza de Datos (Data Cleaning)..................................................... 4
2.2.2 Integración de Datos ........................................................................... 8
2.2.3 Transformación de los Datos............................................................... 9
2.2.4 Reducción de los Datos..................................................................... 10
3 CONCLUSIONES........................................................................................... 18
4 RECOMENDACIONES................................................................................... 19
5 REFERENCIAS .............................................................................................. 20
iii
LISTA DE FIGURAS
Figura 2.2.1 Tareas del Preprocesamiento de datos .............................................. 4
Figura 2.2.2 Aplicación de Clustering...................................................................... 7
Figura 2.2.3 Histograma mostrando Outliers........................................................... 8
Figura 2.2.4 Método de agregados ....................................................................... 11
Figura 2.2.5 Compresión de datos ........................................................................ 13
Figura 2.2.6 Concepto de Jerarquía...................................................................... 17
LISTA DE TABLAS
Tabla 2.1-1 Conjunto de datos mostrando datos incompletos ................................ 2
Tabla 2.1-2 Tabla mostrando outliers en los datos ................................................. 3
Tabla 2.1-3 Tabla mostrando inconsistencia en los datos ...................................... 3
1
1 INTRODUCCIÓN
1.1.Motivación
Actualmente las bases de datos son altamente susceptibles a tener ruido en
los datos, datos perdidos o datos inconsistentes, debido principalmente a su
enorme tamaño (a menudo varios gigabytes o más) y a su probable origen de
fuentes múltiples y heterogéneas. Una baja calidad de los datos dará lugar a una
baja calidad en los resultados de minería [1].
Las decisiones de calidad, se basan en datos con calidad. Este concepto es
lo que me motiva a conocer y aprender de las diferentes técnicas usadas para
preprocesamiento de datos, en las cuales me puedo apoyar para preprocesar los
datos a usar durante el desarrollo de mi monografía.
1.2.Objetivos
El preprocesamiento de los datos durante el proceso de extracción del
conocimiento, es una de las partes fundamentales ya que de este
preprocesamiento dependerá la calidad de los datos a minar y por tanto la
obtención de un modelo confiable y aplicable a la solución del problema
El objetivo de esta tarea es entender y analizar en profundidad las técnicas
de preprocesamiento de datos disponibles con el fin de incrementar la calidad de
los datos previo a su procesamiento, principalmente.
2
2 DESARROLLO
2.1 Importancia del Preprocesamiento
El preprocesamiento de los datos es de suma importancia ya que los datos
reales están “sucios”, y pueden presentar diferentes problemas como: Datos
Incompletos, inconsistentes o con ruido.
2.1.1 Datos Incompletos
Se tienen datos incompletos por que se han perdido valores de atributos,
atributos de interés o los datos están resumidos. Esto puede ser causado por que
se desconocía el valor al momento de ser registrado, por problemas de software,
hardware o humanos. Un ejemplo de esto se muestra en la Tabla 2.1-1, en donde
los datos incompletos aparecen sombreados:
Sexo Edad Fecha Nacimiento Estado Civil SalarioF 30 01/12/1978 Soltero 15,000M 40 01/12/1968 8,000
Hombre 26 01/12/1982 Casado 10,000Mujer 22 01/12/1986 Soltera - 5,000
Hombre 33 01/12/1975 13,000H 28 01/12/1980 CasadoM 34 01/12/1974 Casada 10,000
Tabla 2.1-1 Conjunto de datos mostrando datos incompletos
2.1.2 Los Datos Presentan Ruido
El ruido en los datos proviene desde el proceso de recolección de datos, en
la entrada de datos o en la transmisión de datos. Los datos contienen errores y
“outliers”, es decir que no se ajustan al comportamiento general de los datos.
3
Estos datos pueden representar errores o pueden estar correctos y simplemente
son diferentes a los demás. Un ejemplo de “outliers” se muestra en la Tabla 2.1-2,
en donde los “outliers” se aparecen sombreados:
Sexo Edad Fecha Nacimiento Estado Civil SalarioF 30 01/12/1978 Soltero 15,000M 40 01/12/1968 Casado 8,000
Hombre 26 01/12/1982 Casado 10,000Mujer 22 01/12/1986 Soltera - 5,000
Hombre 33 01/12/1975 Soltero 13,000H 28 01/12/1980 Vivo 8,000M 34 01/12/1974 Casada 10,000
Tabla 2.1-2 Tabla mostrando outliers en los datos
2.1.3 Datos Inconsistentes
Existen discrepancias en los nombres y/o en los valores, esto puede ser
causado por diferentes orígenes de datos o violación a la dependencia funcional
de los datos (ver Tabla 2.1-3)
Sexo Edad Fecha Nacimiento Estado Civil SalarioF 30 01/12/1997 Soltero 15,000M 40 01/12/1968 Casado 8,000
Hombre 26 01/12/1982 Casado 10,000Mujer 22 01/12/1986 Soltera - 5,000
Hombre 33 01/12/1975 Soltero 13,000H 28 01/12/1980 Casado 8,000M 34 01/12/1974 Casada 10,000
Tabla 2.1-3 Tabla mostrando inconsistencia en los datos
2.2 Tareas de Preprocesamiento de Datos
Las principales tareas en el preprocesamiento de datos son: Limpieza,
integración, transformación, reducción y discretización de los datos (ver Figura
2.2.1).
4
Limpieza de datos. Completar valores perdidos o nulos, eliminar el
ruido en datos, identificar o remover los “outliers” y resolver
inconsistencias.
Integración de los datos. Integrar múltiples bases de datos, cubos de
datos, archivos, etc.
Transformación de los datos. Normalización y agregación.
Reducción de datos. Obtener una representación reducida en volumen
pero que produce el mismo resultado analítico.
Discretización de datos. Es una parte de la reducción de datos pero
con una importancia en particular, es especial para datos numéricos.
Figura 2.2.1 Tareas del Preprocesamiento de datos
2.2.1 Limpieza de Datos (Data Cleaning)
“La limpieza de datos es uno de los 3 grandes problemas en el
almacenamiento de datos” – Ralph Kimball
5
“La limpieza de datos es el problema número uno en el almacenamiento de
datos” –DCI Survey
Como se mencionó anteriormente las principales tares de la limpieza de
datos son: Completar valores nulos, identificar outliers para suavizar el ruido y
corregir inconsistencias. Para cada uno de estos problemas se toman diferentes
acciones.
Valores Nulos. Un método común para los valores perdidos o nulos es
simplemente omitir del análisis los registros o campos con valores perdidos. Sin
embargo esto puede ser peligroso, ya que el patrón de valores que falta puede
estar hecho sistemáticamente, y al borrar los registros con valores perdidos daría
lugar a un conjunto sesgado de los datos. Además sería un desperdicio omitir
información de los otros campos. Por tanto los analistas de datos han recurrido a
métodos para reemplazar la falta de valores o los valores nulos con valores
sustitutos de acuerdo a diferentes criterios, entre los que se encuentran:
Reemplazar el valor perdido con alguna constante, especificada por el
analista.
Reemplazar el valor perdido con la media o usar la media dentro de la
clase de ese dato (para valores numéricos) o usar la moda (para
valores nominales).
Reemplazar el valor perdido con un valor generado aleatoriamente
para la variable de distribución observada.
Datos con Ruido u “Outliers”. Como se mencionó anteriormente el ruido en
los datos se puede deber a valores incorrectos por captura, transformación, etc. Lo
que nos puede causar también registros duplicados. Entre los métodos para tratar
el ruido están:
6
a) Método de los cubos (binning)
b) Clustering
c) Regresión
d) Métodos Gráficos
a. Método de los cubos (binning). Se ordenan los datos y se dividen en
cubos de igual longitud. Después se suaviza cada cubo por la media, la mediana,
la varianza, los límites del cubo, etc. Algunos métodos de binning son: Suavizado
por la media, suavizado por la mediana y suavizado por fronteras.
Suavizado por la media. Cada valor en un intervalo es reemplazado por el
valor medio del intervalo. Ejemplo: Supongamos el siguiente grupo de datos para
el precio: 4, 8, 15, 21, 21, 24, 25, 28, 34. Ordenamos y dividimos el cubo en igual
frecuencia:
Intervalo 1: 4, 8, 15
Intervalo 2: 21, 21, 24
Intervalo 3: 25, 28, 34
Si aplicamos el suavizado por la media quedaría de la siguiente forma:
Intervalo 1: 9, 9, 9
Intervalo 2: 22, 22, 22
Intervalo 3: 29, 29, 29
Suavizado por la mediana. Cada valor en un intervalo es reemplazado por el
valor de la mediana del intervalo.
7
Suavizado por fronteras. Se calculan los valores mínimo y máximo para cada
intervalo, los cuales se identifican como valores de frontera y cada valor en el
intervalo es reemplazado por el valor de frontera más cercano. Considerando los
datos del ejercicio anterior quedaría de la siguiente forma:
Intervalo 1: 4, 4, 15
Intervalo 2: 21, 21, 24
Intervalo 3: 25, 25, 34
b. Clustering. A través del clustering se pueden detectar y eliminar los
outliers. Valores similares son organizados en grupos o “clusters”, por intuición los
valores que estén afuera de estos grupos son considerados outliers (ver Figura
2.2.2)
Figura 2.2.2 Aplicación de Clustering
c. Regresión. La regresión suaviza el ruido ajustando los datos a una
función obtenida, como puede ser la regresión. La regresión lineal implica la
búsqueda de la mejor línea que se ajusta a dos atributos (o variables), en donde
un atributo puede ser usado para predecir otro. La regresión lineal múltiple es una
8
variante de la regresión lineal, en donde más de dos atributos están implicados y
los datos son ajustados a una superficie multidimensional.
d. Métodos Gráficos. Se pueden utilizar métodos gráficos para identificar
“outliers”, como por ejemplo un histograma de la variable. La Figura 2.2.3 muestra
el histograma generado para una variable en donde se observa en el extremo
izquierdo que aparecen valores muy solos y distintos al resto.
Figura 2.2.3 Histograma mostrando Outliers
2.2.2 Integración de Datos
La integración de datos combina datos de diversas fuentes en un almacén de
datos (datawarehousing). Estas fuentes pueden incluir múltiples bases de datos,
cubos de datos o archivos planos.
9
Hay una serie de cuestiones a considerar durante la integración de datos.
¿Cómo se puede saber que las entidades de múltiples fuentes de datos están
“amarradas” o tienen concordancia? Por ejemplo, ¿cómo puede el analista de
datos estar seguro que el Customer_Id en una base de datos, y el cust_number en
otra se refieren a la misma entidad?
La redundancia es otra cuestión importante, las inconsistencias en la
dimensión o nombre de un atributo pueden causar redundancia en el resultado del
set de datos. El mismo atributo tiene distintos nombres, un atributo es un atributo
derivado en otra tabla, como por ejemplo el beneficio anual.
Algunas redundancias pueden ser detectadas por medio de un análisis de
correlación, el cual nos indicará cuando dos variables están asociadas y nos
cuantifica ese grado de asociación. Si el coeficiente de correlación es mayor que
0, entonces A y B están correlacionados positivamente. Cuanto más alto sea el
valor, cada atributo implica más al otro. Si el resultado de la ecuación es igual a 0,
entonces A y B son independientes y no hay correlación entre ellos. Si el resultado
es menor que 0, entonces A y B están correlacionados negativamente.
Otra cuestión importante a considerar durante la integración es la detección y
resolución de conflicto entre valores de datos. Por ejemplo para una misma
entidad, con valores de atributos de diferentes fuentes pueden diferir. Esto
representa diferencias en la representación, escala o codificación. Para una
instancia un atributo de peso puede estar almacenado en unidades métricas en un
sistema y en unidades imperiales en otro.
2.2.3 Transformación de los Datos
Aquí los datos son transformados o consolidados en formas apropiadas para
poder ser minados. La transformación de datos puede involucrar lo siguiente:
10
Suavizado (smoothing). Se utiliza para eliminar el ruido en los datos. Incluye
técnicas como el binning, regresión y clustering.
Agregación. Se pueden aplicar resumen u operaciones de agregación a los
datos. Por ejemplo, las ventas diarias pueden ser sumadas a fin de calcular los
totales mensual y anual.
Generalización. Es cuando los datos de bajo nivel o "primitivos" (raw data) se
sustituyen por conceptos de más alto nivel a través de la utilización de concepto
de jerarquías. Por ejemplo, conceptos como calle pueden ser generalizados a un
nivel más alto usando conceptos como ciudad o país.
Normalización. Cuando un atributo se escala de modo que entran dentro de
un pequeño rango, como -1.0 a 1.0, o 0.0 a 1.0.
Construcción de atributos (o construcción de características). Se construyen
nuevos atributos y se añaden al set de datos, para ayudar al proceso de la
minería.
2.2.4 Reducción de los Datos
Las técnicas de reducción de datos pueden ser aplicadas para obtener una
representación reducida del set de datos que es de mucho menor volumen, sin
embargo mantiene la integridad de los datos. Esto implica que la minería en el
conjunto de datos debe ser más eficiente con el mismo (o casi el mismo)
resultado analítico.
Entre las estrategias de reducción de datos se incluyen: Agregación,
selección de un subconjuto de atributos, reducción de dimensiones, reducción de
la numerosidad y e.Discretización y generación de jerarquías de conceptos.
11
a. Agregados. Las operaciones de agregación son aplicadas a los datos en
la construcción de un cubo de datos. Un ejemplo de agregación se muestra en la
Figura 2.2.4
Figura 2.2.4 Método de agregados
b. Selección de un subconjunto de atributos. Aquí lo irrelevante, poco
relevante, o redundante de los atributos o dimensiones pueden ser detectados y
eliminados. El objetivo de la selección de atributos es encontrar el mínimo set de
atributos como resultado de la distribución probabilística de las clases de datos,
llegando lo más cerca posible a la distribución original usando todos los atributos.
El minado de un set reducido de atributos tiene un beneficio adicional.
Reduce el número de atributos que aparecen en el descubrimiento de patrones,
ayuda a crear patrones fáciles y entendibles.
Existen métodos heurísticos para la selección de características, los mejores
atributos (y los peores) pueden ser determinados usando test estadísticos de
significancia, en donde se asume que atributos son independientes de otros. Los
métodos heurísticos básicos para la selección del set de atributos incluyen las
siguientes técnicas:
12
Selección hacia adelante (Stepwise forward selection). El procedimiento se
inicia con un conjunto vacío de atributos como el conjunto reducido. Lo mejor de
los atributos se determina y se añadirá al conjunto reducido. En cada iteración, lo
mejor de los restantes atributos originales se añaden al conjunto.
Selección hacia atrás (Stepwise backward elimination). Este procedimiento
inicia con el set completo de atributos, en cada paso se van removiendo los
atributos malos.
Combinación de Estrategias. Las últimas dos estrategias pueden ser
combinadas de manera que, en cada paso, el procedimiento selecciona el mejor
atributo y elimina el peor de entre el resto de atributos.
Árboles de Decisión. Los algoritmos de árboles de decisión como ID3, C4.5 y
CART eran originalmente destinados a la clasificación. El árbol de decisión
construye un diagrama de flujo donde cada nodo interno (nonleaf) denota un nodo
de prueba sobre un atributo, cada rama corresponde a un resultado de la prueba,
y cada nodo externo (leaf) denota una clase de predicción. En cada nodo, el
algoritmo elige el "mejor" atributo para partición de los datos en clases
individuales.
Cuando el árbol de decisión es usado en la selección de un subconjunto de
atributos, los atributos que no aparecen en el árbol se asume que son irrelevantes.
El set de atributos que aparecen en el árbol forma el subconjunto reducido de
atributos.
c. Reducción de dimensiones (Compresión de datos). Mecanismos de
codificación se utilizan para reducir el tamaño de los datos. En la reducción de
dimensión la codificación o transformaciones son aplicados para obtener una
13
representación compacta de los datos originales. Las técnicas de codificado o
transformación de datos mostradas en la Figura 2.2.5 son:
Sin pérdida de información (lossless)
Con pérdida de información (lossy)
Figura 2.2.5 Compresión de datos
Transformada Wavelet Discreta (DWT). Técnica de procesamiento lineal de
señal que aplicada a un vector D lo transforma a otro vector numéricamente
diferente D´ de coeficientes, donde los 2 vectores tienen la misma longitud. El
vector D´ se puede truncar y se mantiene una aproximación comprimida de los
datos almacenando los coeficientes más fuertes.
También se utiliza para reducir ruido sin perjudicar los elementos principales
de los datos. Dado un conjunto de coeficientes, se puede calcular una
aproximación a los datos originales aplicando la inversa de la DWT utilizada
14
"¿Cómo esta técnica puede ser útil para la reducción de datos, si los datos
transformados de onda son de la misma longitud que los datos originales?" La
utilidad radica en el hecho de que la onda transformada de datos se puede
truncar. Una aproximación comprimida de los datos pueden ser retenidos por el
almacenamiento de una pequeña fracción de los coeficientes de onda más fuertes
Esta técnica es similar a la transformación discreta de Fourier (DFT), pero
con mejor perdida de compresión, localizada en el espacio.
Análisis de componentes principales (ACP). El Análisis de Componentes
Principales (ACP) es una técnica estadística de síntesis de la información, o
reducción de la dimensión (número de variables). Es decir, ante un banco de datos
con muchas variables, el objetivo será reducirlas a un menor número perdiendo la
menor cantidad de información posible. Los nuevos componentes principales o
factores serán una combinación lineal de las variables originales, y además serán
independientes entre sí.
Técnicamente, el ACP busca la proyección según la cual los datos queden
mejor representados en términos de mínimos cuadrados. En términos menos
formales, puede usarse para determinar el número de factores subyacentes
explicativos tras un conjunto de datos, que expliquen la variabilidad de dichos
datos
d. Reducción de la Numerosidad. Reducir el volumen de los datos
eligiendo una forma alternativa de representación (más pequeña). Estos pueden
ser:
Paramétricos. Se utiliza un modelo para estimar los datos, solo se
almacenan algunos parámetros de los datos en lugar de todos los datos. Algunas
15
técnicas paramétricas son los modelos de regresión y Log-lineales usados para
aproximar los datos dados.
Regresión Lineal. Se modelan los datos para ajustarse a una línea recta:
Y = α + βX
α, β son los coeficientes de regresión, Y es la variable de respuesta, X es la
variable de predicción.
Regresión múltiple. Extensión de la regresión lineal permitiendo modelar la
variable de respuesta Y como una función lineal de un vector multidimensional de
características.
Log-lineal. Aproximan distribuciones de probabilidad multidimensionales
discretas
No Paramétricos. Utilizando técnicas de estadística como pueden ser
histogramas, clustering y muestreo.
Reducción con Histogramas. Divide los datos en grupos y guardar una
representación de cada grupo (suma, cantidad, etc.)
• Equi-width (histograma con barras que tienen el mismo ancho)
• Equi-depth (histograma con barras que tienen la misma altura)
• V-optimal (histograma con la menor varianza Σ countb * valueb)
• MaxDiff (balde con límites definidos por umbral definido por el usuario)
Reducción por Clustering. Considera tuplas como objetos, particiona los
objetos en grupos o clusters. Un objeto en un grupo es similar a los objetos de ese
16
grupo y diferente a los objetos de otro grupo. Existe similaridad basada en una
función de distancia, La calidad del clúster se puede representar con su diámetro.
La distancia al centroide es otra medida de calidad definida como la distancia
promedio de cada objeto del clúster del centroide. Se utilizan las representaciones
de los datos agrupados para reemplazar los datos.
Muestreo. El muestreo es usado como técnica de reducción de datos porque
permite que un set de datos largos sea representado por una muestra aleatoria
mucho más pequeña de los datos.
SRSWOR (Muestreo simple aleatorio sin reemplazo) de tamaño n.
Tomar n de las N tuplas de D (n<N), la probabilidad de tomar una
tupla en D es 1/N.
SRSWR (Muestreo simple aleatorio con reemplazo) de tamaño n.
Parecido al anterior pero cada que se toma una tupla es
reemplazada.
Muestra clúster. Primero se hace un agrupamiento y después se
utiliza alguna de las técnicas anteriores en uno de los grupos.
Muestra estratificada. D se divide en partes mutuamente disjuntas
llamados estratos, se toma una SRS de cada estrato (por ejemplo,
estratos divididos por edades de clientes).
e. Discretización y generación de jerarquías de conceptos. La
discretización se usa para reducir el número de valores para un atributo continuo,
dividiendo el rango del atributo en intervalos. Las etiquetas de los intervalos se
usan para reemplazar los valores reales de los datos, esto se puede observar en
la Figura 2.2.6.
Algunos algoritmos de minería de datos solamente aceptan atributos
categóricos y no pueden manejar un rango de valores continuos. Para datos
17
numéricos hay gran diversidad de rangos de valores posibles y frecuentes
actualizaciones. Es difícil construir jerarquías de conceptos para atributos
numéricos La generación automática de jerarquía de conceptos se basa en el
análisis de la distribución de los datos.
Figura 2.2.6 Concepto de Jerarquía
18
3 CONCLUSIONES
El preprocesamiento de datos es importante tanto para almacenamiento de
datos como en el proceso de minería de datos, dado que los datos en bases de
datos tienden a estar incompletos, con ruido e incoherentes, representan una gran
ayuda y apoyo para obtener una vista minable de calidad, que nos permita generar
un modelo los más sencillo, entendible y aproximado a explicar el problema.
El preprocesamiento de datos suele ser una necesidad cuando se trabaja
con una aplicación real, con datos obtenidos directamente del problema.
Una ventaja: El preprocesamiento de datos permite aplicar los modelos de
Aprendizaje/Minería de Datos de forma más rápida y sencilla, obteniendo
modelos/patrones de más calidad: precisión e/o interpretabilidad.
Un inconveniente: El preprocesamiento de datos no es un área totalmente
estructura con una metodología concreta de actuación para todos los problemas.
Cada problema puede requerir una actuación diferente, utilizando diferentes
herramientas de preprocesamiento.
19
4 RECOMENDACIONES
Aun y cuando numerosos métodos para el preprocesamiento de los datos se
han desarrollado, el preprocesamiento de datos sigue siendo un área activa de
investigación, debido a la gran cantidad de datos sucios o incoherente y la
complejidad de los problemas.
Es recomendable tener un amplio conocimiento del tipo de problema que se
quiere solucionar con la minería de datos, ya que esto nos ayudará de
sobremanera para poder seleccionar la/las técnicas adecuadas para preprocesar
los datos y poder obtener un set de datos confiable y de una alta calidad.
20
5 REFERENCIAS
LIBROS:
[1] Han, Jiawei. Kamber, Micheline. (2006). Data Mining Concepts & Techniques,Morgan Kaufmann Publishers, Estados Unidos.
Larose, Daniel T. (2005). Discovering Knowledge in Data An Introduction to DataMining, John Wiley & Sons, Inc. Publication, Estados Unidos.
Hernandez, Orallo José. Ramírez, Quintana Ma. José. Ferri, Ramírez César.(2004). Introducción a la Minería de Datos, Pearson Educación, S.A., España.
OTROS:
Herrera, Francisco. Riquelme, José. Ruiz, Roberto. Preprocesamiento de Datos.Mayo 2004.