Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
Una gran cantidad de esfuerzo se gasta en limpiar los datos para prepararlos para el
análisis de datos, pero ha habido poca investigación sobre cómo hacer que la limpieza de
datos sea lo más fácil y eficaz posible. Este documento aborda un pequeño, pero
importante, subconjunto de limpieza de datos: data"orden". Los datasets ordenados son
fáciles de manipular, modelar y visualizar, y tienen una estructura específica: las variables
se almacenan en columnas, observaciones en filas y un único tipo de unidad experimental
por conjunto de datos. Este marco de trabajo facilita la ordenación de conjuntos de datos
desordenadosporque solo se necesita un pequeño conjunto de herramientas para tratar
con una amplia gama de conjuntos de datos no ordenados. Esta estructura también
facilita el desarrollo de herramientas ordenadas para el análisis de datos, herramientas
que incorporan y colocan conjuntos de datos ordenados. Las ventajas de una estructura
de datos coherente y herramientas de coincidencia se demuestran con un caso de estudio
libre de datos mundanos
Palabras clave: limpieza de datos, ordenamiento de datos, bases de datos relacionales, R.
1. Introducción
A menudo se dice que el 80% del esfuerzo en un análisis de datos se gasta en la limpieza
de datos (Dasu yJohnson2003), el proceso de preparar los datos para analizarlos. La
limpieza de datos no es sólo el primer paso avital, sino que a menudo se repite varias
veces en el transcurso de un análisis a medida que los nuevos problemas salen a la luz. A
pesar de la cantidad de tiempo que toma, ha habido poca investigación sobre cómo
limpiar bien los datos. Parte del desafío es la amplitud de las actividades que la
limpiezatransía, desde la comprobación atípico, hasta el análisis de fechas, hasta la
imputación del valor faltante. Para controlar el problema, este documento se centra en un
pequeño, pero importante, subconjunto de limpieza de datos que yo llamo datos
"ordenada": estructurar los valores de datos para que el proceso de análisis de datos sea
lo más fácil posible. Los principios de los datos ordenados proporcionan una forma
estándar de organizar los valores de datos dentro de un conjunto de datos. Esto facilita la
limpieza inicial de datos porque tiene un estándar con el que puede empezar: no es
necesario reinventar la rueda para cada nuevo conjunto de datos. También lo hace
Datos ordenados
herramientas de análisis de datos que trabajen juntas sin problemas. Las herramientas
actuales son a menudoconsistentes, por lo que debe dedicar tiempo a la munging de la
salida de una herramienta en la entrada para otra. Los conjuntos de datos ordenados y las
herramientas ordenadas funcionan de la mano para facilitar el análisis de datos, lo que le
permite centrarse en el interesante problema del dominio, no en los detalles poco
interesantes de la estructura de datos. Los principios de los datos ordenados están
estrechamente ligados a las bases de datos relacionales y al-gebra relacional de Codd
(Codd1990), pero se enmarcan en un lenguaje más familiar para los estadísticos. Los
científicos de la computación también han contribuido mucho al estudio de la limpieza de
datos. Por ejemplo, Laksh-manan, Sadri, y Subramanian(1996) define una extensión a SQL
que le permite operar conjuntos de datos onmessy,Raman y Hellerstein(2001)
proporciona un marco para limpiar datasets,andKandel, Paepcke, Hellerstein, y
Heer(2011) desarrolla una herramienta interactiva que facilita la limpieza de datos,
creando automáticamente el código para limpiar conjuntos de datos con una interfaz de
usuario amigable. Estas herramientas son útiles, pero se presentan en lenguaje extraño a
la mayoría de los estadísticos, no dan muchos consejos sobre cómo se deben estructurar
los conjuntos de datos, y carecen de conexiones a las herramientas de análisis de datos. El
desarrollo de datos ordenados ha sido impulsado por mis dificultades trabajando con
conjuntos de datos del mundo real, que a menudo se organizan de maneras extrañas. He
pasado innumerables horas para organizar estos conjuntos de datos de una manera que
haga posible el análisis de datos, y mucho menos. También he tenido dificultades para
impartir estas habilidades a mis estudiantes, para que puedan abordar problemas en el
mundo real, donde hay pocas restricciones en la forma en que se organizan los conjuntos
de datos. En el curso de estas luchas desarrollé los paquetes R de remodelación y
remodelación2 (Wickham2007), pero aunque podía usar intuitivamente las herramientas,
me faltaba el marco para hacer que mi comprensión explotara. Este documento
proporciona ese marco, y proporciona una "filosofía de datos" consistente que subyace a
mi trabajo en los paquetes plyr (Wickham2011) y ggplot2 (Wickham2009). El documento
procede de la siguiente manera. Section2begins mediante la definición de las tres
características que hacen un conjunto de datos ordenado. La mayoría de los conjuntos de
datos del mundo real no están ordenados, por lo que Section3 describe las
operacionesneces para hacer conjuntos de datos desordenados ordenados e ilustra las
técnicas con una gama de historias de la vida real. Section4defines herramientas
ordenadas, herramientas que introducen y generan conjuntos de datos ordenados, y
analizan cómo juntos datos ordenados y herramientas ordenadas facilitan la realización de
un análisis de datos. Estos principios se ilustran con un pequeño caso de estudio en la
Sección 5. La sección6 incluye una discusión sobre lo que este marco omite y otros
enfoques que podrían ser fructíferos de seguir.
zzzzzz
No siempre es obvio lo que califica como una variable, y una variable en un análisis puede
ser avalue en otro. Por ejemplo, si las columnas del ejemplo fueran altura y peso,
habríamos estado encantados de llamarlas variables. Si las columnas fueran de alto y
ancho, sería menos claro, ya que podríamos pensar en la altura y el peso como valores de
una variable de dimensión. Si las columnas fueran teléfono residencial y teléfono de
trabajo, podríamos tratarlas como dos variables, pero en un entorno de detección de
fraude podríamos querer variables número de teléfono y tipo de númeroporque el uso de
un número de teléfono para varias personas podría sugerir fraude. Una regla general es
que es más fácil describir las relaciones funcionales entre variables/columnas (por
ejemplo, z es una combinación lineal de x e y, densidad es la relación de peso a volumen)
que entre filas, y es más fácil hacer comparaciones entre grupos de filas/observaciones
(por ejemplo, promedio del grupo a frente a promedio del grupo b) que entre columnas. Si
se encuentra luchando contra estas restricciones, es posible que no haya identificado
correctamente las variables adecuadas para su problema. En un análisis dado, también
puede haber múltiples tiposde unidad observacional. Por ejemplo, en un ensayo de
nuevos medicamentos para la alergia podríamos tener tres tipos observacionales: datos
demográficos recogidos oneach persona (edad, sexo, raza), oneach persona en cada día
de temporada de fiebre del heno (número de estornudos, enrojecimiento de los ojos), y
oneach día (temperatura, recuento de polen). Un conjunto de datos es desordenado o
ordenado dependiendo de cómo se coincidan las filas, columnas y tablas
conobservaciones, variables y tipos. Datos intidy:
1.Cada variable forma una columna,
2.Cada observación forma una fila,
3.Cada tabla (o archivo) almacena información sobre un tipo de observación
Esta es la 3a forma normal de Codd (Codd1990), pero con las restricciones enmarcadas en
el lenguaje estadístico, y el foco en un solo conjunto de datos, no en los muchos conjuntos
de datos conectados comunes bases de datos inrelales. Llamaré a otros arreglos de
datamessy. Tabla 2 muestra la versión ordenada de Table1. Ahora cada fila representa una
observación, el resultado de un tratamiento en una persona, y cada columna es una
variable. También podríamos optar por abandonar la fila representando el resultado del
tratamiento de John Smith a, pero no lo hacemos, porque los valores faltantes sólo deben
omitirse si son estructurales: imposibles debido al diseño del experiencia.
Zzzz
Mientras que el orden de las variables y observaciones no afecta al análisis, un buen orden
hace que sea más fácil escanear los valores sin procesar. Una forma de organizar las
variables es por su papel en el análisis: ¿son valores fijos por el diseño de la recopilación
de datos, o se miden durante el transcurso del experimento? Las variables fijas describen
el diseño experimental y se conocen de antemano. Estos son a menudo llamados
dimensiones por los científicos informáticos, y típicamente denotados por las variables
aleatorias subíndices. Las variedades medidas son lo que realmente medimos en el
estudio. Las variables fijas deben ser lo primero, seguido de variables medidas, cada una
ordenada para que las variables relacionadas sean contiguas. Las filas se pueden ordenar
por la primera variable, rompiendo lazos con la segunda y las variables subsiguientes. Esta
es la convención adoptada por todas las pantallas tabulares en este documento. Cuando
se utilizan tablas para la comunicación, este pedido llamado "Alabama first" (Wainer2000)
debe ser abandonado, y reemplazado por un pedido basado en un significativovariable.
ZZZZZZZZZZ
Cuadro 3: Las primeras diez filas de datos sobre ingresos y religión del Foro Pew. Se han
omitido dos columnas para ahorrar espacio: '$100-150k' y '$150k'
Este conjunto de datos tiene tres variables, religión, ingresos y frecuencia, y para
ordenarlo necesitamos "fundir", o apilarlo, convirtiendo columnas en filas. Esto hace que
los conjuntos de datos "anchos" sean "largos" o "altos", pero evitaré esos términos
porque son imprecisos. La fusión se parametriza por una lista
ZZZZZZZZ
Tabla 4: Un ejemplo sencillo de fusión. (a) se funde con un colvar, fila, produciendo el
conjunto de datos fundido(b). La información de cada tabla es exactamente la misma,
simplemente almacenada de una manera diferente.de columnas que ya son variables,
ocolvarspara abreviar. Las otras columnas se convierten en dos variables: una nueva
variable "columna" que contiene encabezados de columna repetidos y una variable de
"valor" que contiene un vector de valores de datos concatenados a partir de las columnas
previamente separados. Esto se ilustra en Table4 con un conjunto de datos de juguete. El
resultado de la fusión es un conjunto de datos "fundido". El conjunto de datos Pew tiene
un colvar, religión y la fusión produce Table5. La variable de columna se ha cambiado de
nombre aincome y la columna de valor tofreq, para reflejar mejor sus roles en este
conjunto de datos. Esta forma está ordenada: cada columna representa una variable y
cada fila representa una anobservación, en este caso una unidad demográfica
correspondiente a una combinación de religión eincome.
55555555555
Tabla 5: Las primeras diez filas del conjunto de datos ordenado de la encuesta Pew sobre
los ingresos y la religión. La variable "columna" se ha renombrado a ingresos, y "valor" a
freq.
Otro uso común de este formato de datos es registrar observaciones espaciadas
regularmente a lo largo del tiempo. Por ejemplo, el conjunto de datos de la cartelera que
se muestra en Table6gra la fecha en que una canción entró por primera vez en elbillboard
top 100. Tiene variables artista, pista, date.entered, rango y semana. El rango en la
semana siguiente después de que entra en el top 100 se registra en 75
columnas,wk1towk75. Si una canción está en el top 100 durante menos de 75 semanas,
las columnas restantes se llenan con valores que faltan. Esta forma de almacenamiento no
está ordenada, pero es útil para la entrada de datos porque reduce la duplicación:de lo
contrario cada canción de cada semana necesitaría su propia fila, y los metadatos de la
canción como title andartist tendrían que repetirse. Este tema se examinará con mayor
profundidad en la Sección3.4.
66666666
Tabla 6: Los primeros ocho éxitos en la cartelera de 2000. Otras columnas no mostradas
arewk4,wk5, ...,wk75. Este conjunto de datos tiene colvars year, artist, track, time y
date.entered. La fusión produce Table7.I también ha hecho un poco de limpieza, así como
la ordenación: la variable de columna se ha convertido a una variable de semana
mediante la extracción del número de semana, y he añadido una variable de fecha que
combina la fecha en que la canción entró en la cartelera con el número de semana.
777777
Tabla 7: Primeras quince filas del conjunto de datos de la cartelera ordenada.
Thedatecolumn no aparece en la tabla original, pero se puede calcular
fromdate.enteredandweek.
99999
Tabla 9: Ordenar el conjunto de datos de TB requiere primero la fusión y, a continuación,
dividir la columna "columna" en dos variables: sexo y edad.
1010110
Tabla 10: Conjunto de datos meteorológico original. Hay una columna para cada día
posible del mes. Columnas
d11 a d31 se han omitido para conservar el espacio
11 11 11 11
Tabla 11: a) Conjunto de datos meteorológico fundido. Esto es casi ordenado, pero
theelementcolumn contiene nombresde variables, no valores. Los valores que faltan se
descartan para conservar espacio. (b) Conjunto de datos meteorológico ordenado. Cada
fila representa las mediciones meteorológicas durante un solo día. Hay dos medibles,
temperatura mínima (tmin) y máxima (tmax); todas las demás variables son fijas.
4. Tolos ordenados
Una vez que tenga un conjunto de datos ordenado, ¿qué puede hacer con él? Los datos
ordenados solo valen la pena si facilitan el análisis. En esta sección se describen las
herramientas ordenadas, las herramientas que toman datasets ordenados como entrada y
devuelven conjuntos de datos ordenados como salida. Las herramientas ordenadas son
útiles porque la salida de una herramienta se puede utilizar como entrada a otra, por lo
que es sencillo componer varias herramientas para resolver un problema. Los datos
ordenados también garantizan que las variables se almacenen de forma coherente y
explícita. Esto hace que cada herramienta sea más sencilla, ya que no necesita un cuchillo
de parámetros del ejército suizo para tratar con diferentes estructuras de conjunto de
datos. Las herramientas pueden ser desordenadas por dos razones: o bien toman
conjuntos de datos desordenados como entrada (messy-inputtools) o producen conjuntos
de datos desordenados como salida (herramientas de salida desordenada). Las
herramientas de entrada desordenada sontípicamente más complicadas que las
herramientas de entrada ordenada porque necesitan incluir algunas partes del proceso de
ordenamiento. Esto puede ser útil para tipos comunes de conjuntos de datos
desordenados, pero normalmente hace que la función sea más compleja, más difícil de
usar y más difícil de mantener. Las herramientas de salida desordenada son frustrantes y
ralentizan el análisis porque no se pueden componer fácilmente y debe pensar de forma
sencilla cómo convertir de un formato a otro. Veremos ejemplos de dosto en las
siguientes secciones. A continuación, doy ejemplos de herramientas ordenadas y
desordenadas para tres componentes importantes del análisis: manipulación de datos,
visualización y modelado. Me centraré especialmente en las herramientas proporcionadas
por R (R Development Core Team2011), porque tiene muchas herramientas ordenadas
existentes, pero también tocaré en otros entornos de programación estadística.
4.1. Manipulación
La manipulación de datos incluye la transformación variable por variable (por ejemplo,
logorsqrt), así como la agregación, el filtrado y el reordenamiento. En mi experiencia, hay
cuatro operaciones extremadamente comunes que se realizan una y otra vez en el curso
de un análisis. Estos son los cuatro verbos fundamentales de la manipulación de
datos:•Filtrado, o subconjunto, donde las observaciones se eliminan en función de alguna
condición.•Transformación, donde se agregan nuevas variables o se modifican las
variables existentes. Estas modificaciones pueden implicar una sola variable (por
ejemplo.log transformar una variable) o involucrar varias variables (por ejemplo, densidad
informática del peso y el volumen).•Agregación, donde se contraen varios valores en un
solo valor, por ejemplo, sumando medios de toma.•Ordenar, donde se cambia el orden de
las observaciones. Todas estas operaciones se hacen más fáciles cuando hay una manera
coherente de hacer referencia a las variables. Tidydata proporciona esto porque cada
variable vive en su propia columna. En R, el filtrado y la transformación se realizan
mediante las funciones base Rsubsetandtransform. Estos son input y output-tidy.
Theaggregatefun realiza la agregación de grupo, es input-tidy y es output-tidy
proporcionando un único método de agregación se utiliza. El plyrpackage proporciona un
tidysummariseandarrangefunction para la agregación y la ordenación. Los cuatro verbos
pueden ser, y a menudo son, modificados por lapreposición. A menudo necesitamos
agregados, transformaciones o subconjuntos en grupo: elige el más grande de cada grupo,
promedia los excesos de replicación, etc. La combinación de cada uno de los cuatro verbos
con un operador by les permite operar en subconjuntos de un marco de datos a la vez. Los
procs de Manysas poseen una declaración que permite que la operación se realice por
grupo y, por lo general, son de entrada-ordenada. Base R poseeabyfunción, que es input-
tidy, pero no output-tidy, porque produce una lista. Theddplyfunction de theplyrpackage
es una alternativa ordenada. Se necesitan otras herramientas cuando tenemos varios
conjuntos de datos. Una ventaja de los datos ordenados es la profundidad con la que se
pueden combinar con otros conjuntos de datos ordenados: sólo necesitamos un
ajoinoperator que funciona haciendo coincidir variables comunes y agregando nuevas
columnas. Esto es implementedin themergefunction en la base R, o el inplyr de la función
de unión. Compare esto con la dificultad de combinar conjuntos de datos almacenados en
matrices; por lo general requieren una alineación minuciosa antes de que se puedan
utilizar las operaciones de beforematriz, y los errores pueden ser muy difíciles de detectar.
4.2. Visualización
Las herramientas de visualización ordenadas solo tienen que ser de entrada-ordenada, ya
que su salida es visual. Los lenguajes específicos del dominio funcionan particularmente
bien para la visualización de conjuntos de datos ordenados, ya que pueden describir una
visualización como un mapeo entre las variables del conjunto de datos y las propiedades
estéticas de lagrafía como la posición, el tamaño, la forma y el color. Esta es la idea detrás
de la gramática de los gráficos (Wilkinson2005), y la gramática estratificada de gráficos
(Wickham2010), una extensión personalizada específicamente para R.Most herramientas
gráficas en R son la entrada ordenada, incluyendo la baseplotfunction, la familia de
diagramas de celosía (Sarkar2008) y ggplot2 (Wickham2009). Existen algunas
herramientas especializadas para visualizar conjuntos de datos desordenados. Algunas
funciones base de R comobarplot,matplot,dotchart, andmosaicplot, funcionan con
conjuntos de datos desordenados donde las variables se distribuyen en varias columnas.
Del mismo modo, la gráfica de coordenadas paralelas (Wegman1990;Inselberg1985) se
puede utilizar para crear diagramas de series temporales para datasets desordenados
donde cada punto de tiempo es una columna.
4.3. Modelado
El modelado es la inspiración que ha impulsado gran parte de este trabajo, ya que la
mayoría de las herramientas de modelado funcionan mejor con conjuntos de datos
ordenados. Cada lenguaje estadístico tiene una manera de describir una conexión de
modelo asa entre diferentes variables, un lenguaje específico de dominio que conecta las
respuestas a los predictores:
Esto no quiere decir que los datos ordenados sean el formato utilizado internamente para
calcular la regresión. Se producen transformaciones significativas para producir una matriz
numérica que se puede alimentar fácilmente con rutinas de álgebra lineal estándar. Las
transformaciones comunes incluyen agregar una columna de interceptación (columna de
todas las), convertir variables categóricas en múltiples capacidades binarias variables, y
para términos suaves como splines, proyectar los valores de datos en las funciones de bósi
apropiados. Ha habido algunos intentos de adaptar las funciones de modelado para tipos
específicos de messydatasets. Por ejemplo, insas'sproc glm, varias variables en el lado de
respuesta de theequation se interpretarán como medidas repetidas si
therepeatedkeyword está presente. Para los datos de la cartelera en bruto, podríamos
construir un modelo de la formawk1-wk76 - trackinstead ofrank - semana * trackon los
datos ordenados (siempre que la semana se etiqueta como una variable categórica). Otro
ejemplo interesante es la clásica prueba t emparejada, que se puede calcular de dos
manerasdependiendo de cómo se almacenan los datos. Si los datos se almacenan como
en Table13(a), entonces una prueba emparejada es sólo una prueba t aplicada a la
diferencia media entre x e y. Si se almacena en la forma de Table13(b), entonces un
modelo equivalente es ajustar un modelo de efectos mixtos, con una variable fixeddummy
que representa la "variable", y una intercepción aleatoria para cada id. (En lmer4notation
de R, esto esvalue - variable + (1 | id)). Cualquier forma de modelar los datos produce el
mismo resultado. Sin más información no podemos decir qué forma de los datos está
ordenada: si xand y representan la longitud de los brazos izquierdo y derecho, entonces
Table13(a)is orden, if x e y represente el día 1 y el día 10, entonces Table13(b)is tidy.
Aunque las entradas del modelo suelen requerir entradas ordenadas, las salidas del
modelo, como las predicciones y los coeficientes con esti-mate, no siempre son
ordenadas. Esto hace que sea más difícil combinar resultados demultiples modelos. Por
ejemplo, en R, la representación predeterminada de los coeficientes de modelo es nottidy
porque no tiene una variable explícita que registre el nombre de variable para cadatimato:
estos se registran en su lugar como nombres de fila. En R, los nombres de fila deben ser
únicos, socombinar coeficientes de muchos modelos (por ejemplo, de remuestrees de
arranque, o subgrupos) re-quire soluciones alternativas para evitar perder información
importante. Esto le deja fuera del flujo de análisis y hace que sea más difícil combinar los
resultados de varios modelos.
5. Caso práctico
El siguiente estudio de caso ilustra cómo los datos ordenados y las herramientas
ordenadas facilitan el análisis de datos facilitando las transiciones entre manipulación,
visualización y modelado: no verá ningún código que exista únicamente para obtener la
salida de una función en el formato correcto para la entrada a otro. Voy a mostrar el
código R que realiza el análisis, pero incluso si usted no está familiarizado con R o los
modismos exactos que uso, he tratado de hacer que sea fácil de entender por
entrelazamiento estrecho, resultados y explicación. El estudio de caso utiliza datos de
mortalidad a nivel individual de México, con el objetivo de encontrar causas de muerte
que tienen patrones de tiempo notablemente diferentes dentro de un día. El conjunto de
datos completo tiene información sobre 539,530 muertes en México en 2008 y 55
variables, incluyendo la ubicación y hora de la muerte, la causa de muerte y la demografía
del fallecido. Table14 muestra muestras asombrosas del conjunto de datos, centrándose
en variables relacionadas con la hora de la muerte (año, mes, día y hora) y causa
(bacalao). Para lograr nuestro objetivo de encontrar cursos de tiempo inusuales,
comenzaremos contando el número de muertes en cada hora (hod) para cada causa
(bacalao) con el tidycountfunction. A continuación, eliminamos los valores de eliminación
(y por lo tanto no informativos para nuestro propósito) consubset. Esto da Table15(a).
Las muertes totales por cada causa varían más de varios órdenes de magnitud: hubo
46.794 muertes por ataque cardíaco y 10 muertes por avalancha. Esto significa que hace
más sentido comparar la proporción de muertes en cada hora, en lugar del número total.
Tomamos esto desglosando el conjunto de datos por la cocleo y, a
continuación,transformando para agregar una nueva columna de propuesta, la frecuencia
por hora dividida por el número total de muertes por esa causa. Esta nueva columna es la
Tabla 15C.
A continuación calculamos una distancia entre el curso de tiempo de cada causa de
muerte y el curso de tiempo general. Aquí usamos una desviación media cuadrada simple.
También registramos el tamaño de la muestra, el número total de muertes por esa causa
No conocemos las características de varianza de este estimador, por lo que lo exploramos
visualmente mediante plot-ting n frente a la desviación, Figura1a. La escala lineal muestra
poco, excepto que la variabilidad disminuye con el tamaño de la muestra, pero en la
escala log-log, Figure1bthere es un patrón claro.
Nos interesan los puntos que son altos en relación con otras causas con el mismo número
de muertes: estas son las enfermedades más diferentes del patrón general. Para
encontrar estos puntos inusuales, ajustamos un modelo lineal robusto y trazamos los
residuos, como se muestra en la Figura2. La trama muestra una región anempty alrededor
de un residuo de 1,5, por lo que de manera arbitraria seleccionamos esas enfermedades
con aresidual mayor que 1,5. Lo hacemos en dos pasos: primero seleccionando las filas
apropiadas fromdevi (una fila por enfermedad), y luego encontrando la información del
curso de tiempo coincidente en el conjunto de datos de resumen original (24 filas por
enfermedad).
Por último, trazamos los cursos de tiempo de las causas inusuales en la Figura3.
Desglosamos las enfermedades en dos parcelas debido a las diferencias de variabilidad: la
parcela superior muestra enfermedades con más de 350 muertes y la parte inferior con
menos de 350. Las causas de muerte se reducen a tres grupos principales: asesinatos,
ahogamientos y transporte relacionados. Los asesinatos son más comunes por la noche,
ahogarse por la tarde, y el transporte relacionado durante los horarios de viaje diario.
6. Discusión
La limpieza de datos es un problema importante, pero es un tema de estudio poco común
en las estadísticas. Este documento esculbe un pequeño pero importante subconjunto de
limpieza de datos que he llamado datatidying: obtener el conjunto de datos en la
estructura correcta para facilitar la manipulación adicional, la visualización y el modelado.
Todavía queda mucho trabajo por hacer: además de mejoras incrementales, mi
comprensión de los datos ordenados y las herramientas ordenadas, hay grandes mejoras
posibles a partir de la exploración de formulaciones alternativas de datos ordenados y la
lucha contra otros problemas de limpieza de datos. Hay un problema de pollo y huevo con
los datos ordenados: si los datos ordenados son tan útiles como las herramientas que
trabajan con ellos, entonces las herramientas ordenadas están inextricablemente
vinculadas a datos ordenados. Esto hace que sea fácil quedarse atascado en un máximo
local donde cambiar de forma independiente las estructuras de datos o herramientas de
datos no resulta en un flujo de trabajo mejorado. Salir de esta máxima local es difícil,
yrequiere un esfuerzo concertado a largo plazo con muchos falsos comienzos. Si bien
espero que este marco para los datos ordenados no sea un comienzo falso, igualmente,
no lo veo como la solución final y espero que otros se basen en este marco para
desarrollar aún mejores formas de almacenar datos y mejores herramientas para trabajar
con él. He encontrado pocos principios para guiar el diseño de datos ordenados, que
deben reconocer factores tanto estadísticas y cognitivos. Hasta la fecha, mi trabajo ha sido
impulsado por mi experiencia haciendo
análisis de datos, conexiones con el diseño de bases de datos relacionales e introspección
sobre las herramientas de análisis de datos. Los factores humanos, el diseño centrado en
el usuario y las comunidades de interacción humano-ordenador parecen ser capaces de
añadir a esta conversación, pero el diseño de datos y herramientas para trabajar con ella
no ha sido un tema de investigación activo. En el futuro, Espero aplicar metotologías de
estos campos (pruebas de usuario, etnografía, protocolos de voz en voz alta) a mi
trabajopara construir una mejor comprensión del lado cognitivo del análisis de datos, y
cómo podemos mejordiseñar herramientas para apoyar el proceso. Otras formulaciones
de datos ordenados son posibles. Por ejemplo, sería posible construir un conjunto de
herramientas para tratar con valores almacenados en matrices multidimensionales. Este
es un formato de almacenamiento de datos comunes para grandes conjuntos de datos
biomédicos, como datos de microarray o fMRI. Es demasiado necesario para muchos
métodos multivariados cuya teoría subyacente se basa en lamanipulación de la matriz.
Este formato de matriz-tidy sería compacto y eficiente, porque haymanas herramientas
eficientes para trabajar con matrices de alta dimensión, incluso cuando escasa, y el
formato se conectaría más estrechamente con la base matemática de las estadísticas. Este
enfoque es adoptado por la biblioteca de análisis de datos Python de Pandas
(McKinney2010). El mayor desafío es conectar diferentes conjuntos de datos, lo que
requiere el desarrollo de un equivalente eficiente para unirse, y conectarse a las
herramientas de modelado existentes sin una costosa reexpresión en otro formato. Aún
más interesante, podríamos considerar herramientas ordenadas que pueden ignorar la
representación de datos subyacentes, eligiendo automáticamente entre formatos array-
tidy y dataframe-tidy para optimizar el uso y el rendimiento de la memoria. Aparte de la
ordenación, hay muchas otras tareas relacionadas con la limpieza de datos: análisis de
fechas y números, identificación de valores faltantes, corrección de codificaciones de
caracteres (para datos internacionales), coincidencia de valores similares pero no
idénticos (creados por errores tipográficos), verificación del diseño experimental, relleno
de valores estructurales faltantes, por no hablar de la limpieza de datos basada en
modelos que identifica valores discretos. ¿Podemos desarrollar otros marcos para facilitar
estas tareas?