43 votos

¿Cómo consigo que la gente cuide mejor los datos?

Mi lugar de trabajo tiene empleados de una gran variedad de disciplinas, por lo que generamos datos en muchas formas diferentes. Por ello, cada equipo ha desarrollado su propio sistema de almacenamiento de datos. Algunos utilizan bases de datos Access o SQL; otros equipos (para mi horror) dependen casi exclusivamente de hojas de cálculo Excel. A menudo, los formatos de los datos cambian de un proyecto a otro. En algunos casos, llamar a esto "sistema" es demasiado amable.

Los problemas que esto conlleva son que tengo que escribir un nuevo código para limpiar los datos de cada proyecto, lo cual es caro; las personas que editan manualmente las hojas de cálculo hacen que la reproducibilidad y la auditoría de los datos sean casi imposibles; y lo que es peor, existe la posibilidad de que los datos se pierdan o sean incorrectos.

Me han dado la oportunidad de discutir estos problemas con un miembro del consejo de administración de la empresa y tengo que pensar qué decirle. Creo que ya le he convencido de que tenemos un problema y de que si lo solucionamos conseguiremos mejorar la ciencia y ahorrar dinero. La cuestión es: ¿a qué deberíamos aspirar y cómo llegar a ello?

Más concretamente:

¿Cómo debemos almacenar los datos, de forma que nos permita seguirlos desde su creación hasta su publicación en un artículo? (¿Bases de datos almacenadas en un servidor central?)

¿Cómo se normalizan los formatos de las bases de datos?

¿Existen buenos recursos para educar a la gente sobre cómo cuidar los datos? (Por regla general, los higienistas ocupacionales y los ingenieros de explosivos no son aficionados a los datos; así que es preferible el contenido no técnico).

16voto

Omar Kooheji Puntos 384

Merece la pena considerar ideas del mundo del software. En particular, podría pensar en crear: un repositorio de control de versiones y un servidor de base de datos central.

El control de versiones probablemente le ayude con archivos que, de otro modo, flotarían libremente, como los de Excel y los de texto, etc. Pero también podría incluir archivos asociados a datos, como R, SAS, etc. La idea es que haya un sistema que rastree los cambios en tus archivos y que te permita saber qué ha pasado y cuándo y retroceder a un punto en el pasado si es necesario.

Si ya dispone de bases de datos SQL, lo mejor que puede hacer es crear un servidor central y contratar a un DBA . El DBA es la persona encargada de asegurar y mantener la integridad de los datos. Parte de la descripción del trabajo implica cosas como las copias de seguridad y la puesta a punto. Pero otra parte es más relevante aquí: controlar cómo entran los datos en el sistema, garantizar que se cumplen las restricciones, que se aplican políticas de acceso para evitar que se dañen los datos, configurar vistas para exponer formatos de datos personalizados o simplificados, etc. En definitiva, implantar una metodología en torno al proceso de datos. Incluso si no se contrata a un verdadero DBA (los buenos son muy difíciles de contratar), tener un servidor central permite empezar a pensar en instituir algún tipo de metodología en torno a los datos.

12voto

6voto

Kevin Ballard Puntos 88866

Creo que, en primer lugar, hay que preguntarse: ¿por qué la gente utiliza Excel para hacer tareas para las que no está hecho?

1) Ya saben cómo utilizarlo 2) Funciona. Quizá de forma torpe, pero funciona y eso es lo que quieren

Copio una serie de números, pulso un botón y ya tengo un gráfico. Tan fácil como eso.

Por lo tanto, hazles comprender las ventajas que pueden tener al utilizar conjuntos de datos centralizados, bases de datos adecuadas (ten en cuenta que Access NO es una de ellas), etc. Pero recuerda los dos puntos anteriores: tienes que crear un sistema que funcione y que sea fácil de usar.

He visto demasiadas veces sistemas mal hechos que me han dado ganas de volver no a Excel sino a lápiz y papel.

Sólo como ejemplo, tenemos un sistema de pedidos horrible donde trabajo.

Antes teníamos que rellenar un formulario de pedido que era una hoja de cálculo de Excel en la que se introducía el nombre del producto, la cantidad, el coste, etc. Se sumaba todo, se añadía la TVA, etc., se imprimía, se entregaba a la secretaria que hacía el pedido y listo. No era eficiente, pero funcionaba.

Ahora tenemos un sistema de pedidos en línea, con una base de datos centralizada y todo. Es un horror. No debería tardar 10 minutos en rellenar un maldito formulario por culpa de los atajos de teclado unitarios y las diversas rarezas del software. Y ten en cuenta que yo soy bastante experto en informática, así que imagínate lo que le pasa a la gente a la que no le gusta la informática...

5voto

J Wynia Puntos 4679

Subrayo todas las respuestas ya dadas, pero llamemos al gato gato: en muchos espacios de trabajo es casi imposible convencer a la dirección de que la inversión en herramientas de software "exóticas" (exóticas para ellos, es decir) es necesaria, por no hablar de la contratación de alguien que pueda configurarlo y mantenerlo. He dicho a bastantes clientes que se beneficiarían enormemente de la contratación de un estadístico con una amplia experiencia en software y bases de datos, pero la respuesta general es "no se puede".

Así que mientras eso no ocurra, hay algunas cosas sencillas que puedes hacer con Excel que te facilitarán la vida. Y la primera de ellas es, sin duda, el control de versiones. Puedes encontrar más información sobre el control de versiones con Excel aquí .

Algunas cosas sobre el uso de Excel

A la gente que utiliza EXCEL le suelen gustar las funciones de las fórmulas de EXCEL. Sin embargo, esta es la fuente más importante de errores dentro de las hojas de EXCEL, y de problemas al tratar de leer en los archivos de EXCEL hasta donde llega mi experiencia. Me niego a trabajar con hojas que contengan fórmulas.

También obligo a todas las personas con las que trabajo a entregar las hojas de EXCEL en un formato sencillo, es decir, que:

  • La primera fila contiene los nombres de las diferentes variables
  • La hoja de cálculo comienza en la celda A1
  • Todos los datos se colocan en columnas, sin interrupciones y sin formato.
  • Si es posible, los datos se guardan también en formato .csv. No es difícil escribir un script VBA que extraiga los datos, los reformatee y los ponga en un archivo .csv. Esto también permite un mejor control de las versiones, ya que puedes hacer un volcado de los datos en .csv cada día.

Si hay una estructura general que los datos siempre tienen, entonces podría ser bueno desarrollar una plantilla con macros VB subyacentes para añadir datos y generar el conjunto de datos para el análisis. Esto, en general, evitará que cada empleado venga con su propio sistema "genial" de almacenamiento de datos, y le permite escribir su código en función de éste.

Dicho esto, si puedes convencer a todo el mundo de que use SQL (y un front-end para introducir datos), puedes vincular R directamente a ese. Esto aumentará en gran medida el rendimiento.

Estructura y gestión de datos

Como regla general, los datos almacenados en las bases de datos (o en las hojas de EXCEL, si insisten) deben ser los mínimos imprescindibles, lo que significa que cualquier variable que pueda ser calculada a partir de otras variables no debe estar contenida en la base de datos. Eso sí, a veces puede ser beneficioso almacenar también esas variables derivadas o transformadas, si los cálculos son tediosos y llevan mucho tiempo. Pero estas deben ser almacenadas en una base de datos separada, si es necesario vinculada a la original.

También hay que pensar en lo que se considera un caso (y, por tanto, una fila). Como ejemplo, la gente tiende a producir series de tiempo haciendo una nueva variable para cada punto de tiempo. Si bien esto tiene sentido en un EXCEL, la lectura de estos datos exige que se dé la vuelta a la matriz de datos. Lo mismo ocurre con la comparación de grupos: Debería haber un indicador de grupo y una variable de respuesta, no una variable de respuesta para cada grupo. De esta manera, las estructuras de datos también pueden ser estandarizadas.

Una última cosa que me encuentro con frecuencia es el uso de diferentes métricas. Las longitudes se dan en metros o centímetros, las temperaturas en Celcius, Kelvin o Farenheit, ... Hay que indicar en cualquier frontal o en cualquier plantilla cuál es la unidad en la que se mide la variable.

E incluso después de todas estas cosas, todavía se quiere tener un paso de control de los datos antes de empezar realmente con el análisis. Una vez más, puede tratarse de cualquier script que se ejecute diariamente (por ejemplo, durante la noche) en las nuevas entradas, y que señale los problemas inmediatamente (fuera de rango, tipo incorrecto, campos que faltan, ...) para que puedan ser corregidos lo más rápidamente posible. Si tienes que volver a una entrada que se hizo hace 2 meses para averiguar qué es lo que está mal y por qué, será mejor que adquieras algunas buenas "habilidades de Sherlock" para corregirlo.

mis dos centavos

3voto

Konrad Rudolph Puntos 967

VisTrails: Un sistema de flujo de trabajo científico y procedencia basado en Python . Esta charla dada en la PyCon 2010 tiene algunas buenas ideas. Merece la pena escucharla incluso si no estás interesado en usar VisTrails o python. Al final creo que si se podría exigir que haya una forma clara de documento para reproducir los datos. Y requerir alguna validación de que pueden.

Citando:

"En esta charla, daremos una visión general de VisTrails ( http://www.vistrails.org ), un flujo de trabajo científico de código abierto basado en Python que captura de forma transparente la procedencia (es decir, el linaje) tanto de los productos de datos como de los procesos utilizados para obtener estos productos. Mostraremos cómo VisTrails puede utilizarse para agilizar la exploración y visualización de datos. Utilizando ejemplos reales, demostraremos las características clave del sistema, incluida la capacidad de crear visualmente tuberías de procesamiento de información que combinan múltiples herramientas y bibliotecas como VTK, pylab y matplotlib. También mostraremos cómo VisTrails aprovecha la información de procedencia no sólo para apoyar la reproducibilidad de los resultados, sino también para simplificar la creación y el refinamiento de las tuberías."

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X