Data Wrangling
Índice
• Introducción
• Data Warehousing
• Esquema
• Formatear
• Tratar Nulos
• Tratar Outliers
• Agrupar
• Organizar
• Cruzar
• Registrosrepetidos
Introducción
Compararcon sentido
Comparar requiere ordenar, recolocar,
reorganizar,...
Reunir datos dispersos
Rara vez los datos nos sirven tal y como están
Data Wrangling – Introducción
Unificar
Estudiar qué queremos comparar
Revisar las fuentes de datos que
tenemos
Definir el esquema común de los
datos unificados
Para analizar datos
desestructurados, el primer paso es
estructurarlos.
Organizar
Reunir en una tabla datos de
diferentes orígenes
Enriquecer los registros para
que encajen con la unidad de
estudio
Detectarcasos extraños,
resolver datos incompletos
Data wrangling – Data warehousing
Data Warehousing
Data Warehousing
Inspiración para el almacenamiento coordinado de datos
El valor de los datos se basa en compartirlos.
Mantenerlos:
• Organizados
• Limpios
• Accesibles
Entre diferentes grupos, tiene una gran recompensa.
Data wrangling – Data warehousing
Data Warehousing
Inspiración para el almacenamiento coordinado de datos
Un buen almacenamiento de datos:
• Está diseñado para escalabilidad
• Tiene un modelo de datos bien descrito
• Centralizado, unificado y accesible
• Se construye con código automatizado y productivizado
Respeta las Formas Normales ([Link]
Data wrangling – Data warehousing
Formas Normales
Primera Forma Normal
En una tabla cada línea no puede ser dividido en partes más pequeñas
Ej: Una persona con 2 números de teléfono aparece 2 veces, con valores
distintos en la columna teléfono
Data wrangling – Data warehousing
Formas Normales
Segunda Forma Normal
• Respeta la Primera Forma Normal
• En una tabla, las columnas que no son clave primaria dependen de todos los componentes
que definen la clave primaria.
Ej: proveedor-id +parte-numero, son la clave primaria de esta tabla de stock. Pero ciudad sólo
depende de proveedor: si el proveedor cambiase de ciudad, impactaría en todas las líneas.
Proveedor-id ciudad Parte-numero cantidad
A22 New York 7647 5
B34 Boston 9263 10
Data wrangling – Data warehousing
Formas Normales
Tercera Forma Normal
• Respeta la Primera Forma Normal y Segunda Forma Normal
• En una tabla, las columnas que no son clave primaria dependen SOLO de
la clave primaria. Evita que actualizaciones de ciertas columnas
produzcan incoherencias.
Ej: Una tabla que tenga ciudades y códigos postales. Si hay que actualizar la
ciudad o el código postal, puede que se alcancen inconsistencias, si no se
actualizan a la vez: mejor dejar la variable de grano más fino (código postal)
o crear una clave (ciudad-cp).
Data wrangling – Data warehousing
Modelode datos
El modelo de datos relaciona datos indexados en orígenes distintos
Data wrangling – Data warehousing
Esquema
Esquema
Qué información necesitamos de cada caso
Listar los datos que necesita el análisis
Cada instancia para el análisis tendrá la misma información
Al unificar, es posible, que no tengamos la misma información de todos los casos
Esquema =Datos que hacen único una instancia +Información adicional
nombre, apellidos, edad, hermanos, tiene coche, provincia, trabaja
Data wrangling – Esquema
Esquema enestrella
Facts & Dimensions (Hechos y dimensiones)
• Tabla Facts: registra series de eventos de negocio (compras, transacciones, etc).
Son tablas largas, con referencias a tablas dimension.
• Tabla Dimension: guardan menos registros, pero con detalles más específicos.
Tablas de atributos. (modelo de coche, indica de personas, proveedores, productos)
Son tablas anchas, que dan soporte a las tablas Facts.
Data wrangling – Esquema
Formatear
Formatear
Interpretar correctamente los datos
Una variable puede ser interpretada de diversas formas, en función de:
• Significado
• Tipo dedato
Interpretar correctamente el tipo de dato es crucial
El formato debe encajar en todos los casos “conocidos”
Data wrangling – Formatear
Formatear
string
“101010” string
? “101 - 010”
101010
date time
10/10/10 [Link]
number
101010
Data wrangling – Formatear
Tratar nulos
Valores Nulos (missing data)
Valores faltantes
• Tienen diferentesorígenes
• Pueden estar distribuidos aleatoriamente, pero es peligroso asumirlo
• Pueden, en conjunto, esconder o representar anomalías en el sistema
• Si hay una variable objetivo, puede que parte del problema se esconda en que falten
datos de variables muy representativas (pe, variables indicadoras de fraude)
Data wrangling – Tratar nulos
Tratar outliers
Valores atípicos(outliers)
Fuera de lo común
Valores distantes del resto
Errores obvios
• Valores demasiado extremos, de manera que no son plausibles (1000 años)
• Valores que no tienen sentido (-10 años)
¿Descartamos oincluimos?
Data wrangling – Tratar outliers
Interpretando valores atípicos
Varias causas originales
• Medidas válidas
• Variabilidadde mediciones
• Errores experimentales
• Erroresdel sistema
• Códigos especiales con significado en el origen de los datos
Data wrangling – Tratar outliers
Agrupar
Agrupar
Resumir información en función de otras variables
Resumir una o varias variables, según el valor de otras variables,
Función de agregación, para los “subgrupos”
Es una forma de unificar variables numéricas con diferentes precisiones
Para variables numéricas, estadísticos básicos:
• Media, Moda, Mediana, Mínimo, Máximo, ...
Para variables categóricas:
• Valor más frecuente, Valor menos frecuente, ...
Data wrangling – Tratar outliers
Agrupar
Data wrangling – Tratar outliers
Organizar
country 1995 1996 1997 1998
Afghanistan 17586073 18415307 19021226 19496836
3 casos
Algeria 29315463 29845208 30345466 30820435
país
1995
Angola 12104952 12451945 12791388 13137542 1996
...
storm wind pressure date city size amount
Alberto 110 1007 2000-08-03 New York large 23
Alex 45 1009 1998-07-27 New York small 14
Allison 65 1005 1995-06-03
London large 22
Ana 40 1013 1997-06-30 London small 16
Arlene 50 1010 1999-06-11 nombre Beijing large 121
velocidad de viento ciudad
Arthur 45 1010 1996-06-17 presión Beijing small 56 tamaño
fecha cantidad
[Link]
Data wrangling – Organizar
Datos desordenados
Tablas con datos desordenados
Síntomas de que los datos están desordenados:
• Variables en filas y columnas
• Los nombres de las columnas representan valores, no nombres
• Información de una unidad observación en tablas diferentes
• Información en una tabla de diferentes unidades de observación
• Varias variables en una columna
Tenemos la información, pero no en la “unidad” que se necesita
Data wrangling – Organizar
Datos desordenados
Valoresen cabeceras Cabecerasen nombres
Nombres de columnas son valores Variables y valores en filas y columnas
(no nombres de variables)
Data wrangling – Organizar
Recoger
Data wrangling – Organizar
Dispersar
Data wrangling – Organizar
Cruzar
Cruzar datos
Reunir los datos en una tabla “maestra”
Tiempo
Logística Cuentas
Tabla
maestra
Pedidos CRM MultiChannel
Data wrangling – Cruzar
Cruzar información
id v1 v2
Enriquecer con información
1 10 15
2 11 16 Crear tabla, cruzando información de otras
id v1 v2 v3 v4
1 10 15 3 6
• Añadir información de una tabla a
2 11 16 4 7
id v3 v4 cada caso de otra
1 3 6 • Requiere al menos una columna en
2 4 7
común
• “join”, “merge”, ...
Data wrangling – Cruzar
Cruzar información
¿Tipos dejoin?
Data wrangling – Cruzar
Añadir casos
Añadir casos de diferentes orígenes
id v1 v2
1 10 15
id v1 v2 v3
Crear tabla, juntando información de otras
2 11 16
1 10 15
2 11 16 • Añadir casos de una tabla a los casos de otra
3 3 6
• Ambas tablas tienen la misma vigencia
id v3 v4 • Pueden NO tener las mismas columnas, pero
4 4 7
3 3 6
deben tener mismo tipo de dato
4 4 7
• Consolidar
• “concat”, “append”,...
Data wrangling – Cruzar
Registros repetidos
Registros repetidos
Problemática
El trabajar con registros repetidos va a perjudicar a los modelos, puesto que la misma información se
va a utilizar repetidas veces. Al hacerlo, se le estará dando un peso añadido a ciertos registros.
Detectar y eliminar registros repetidos puede resultar complicado, puesto que no siempre dos
registros, aunque repetidos, van a ser exactamente iguales.
Data wrangling – Registros repetidos
Registros repetidos
Data wrangling – Registros repetidos
Registros repetidos
Cómo detectarlos
Para determinar los registros a considerar como
duplicados, la técnica de comparación puede utilizar reglas
estrictas (que los registros sean exactamente iguales) o
usar lógica difusa/ fuzzy logic (comparaciones fuzzy que
incorporan algoritmosmatemáticos).
• Porcentaje de campos idénticos (>70%)
• n valores idénticos (>10)
Data wrangling – Registros repetidos
Registros repetidos
Cómo detectarlos
• n valores idénticos:
• Un campo contiene a otro:
• Errores de escritura:
número de caracteres
distintos (<3)
Data wrangling – Registros repetidos