Muchos trabajos estadísticos requieren experiencia con datos a gran escala. ¿Cuáles son los tipos de habilidades estadísticas y computacionales que serían necesarias para trabajar con grandes conjuntos de datos? Por ejemplo, ¿qué tal construir modelos de regresión dado un conjunto de datos con 10 millones de muestras?
regression
machine-learning
multivariate-analysis
large-data
pregunta de bit
fuente
fuente
Respuestas:
Ya han aparecido buenas respuestas. Por lo tanto, solo compartiré algunos pensamientos basados en la experiencia personal: adapte los relevantes a su propia situación según sea necesario.
Para antecedentes y contexto- para que pueda dar cuenta de cualquier sesgo personal que pueda aparecer en este mensaje - gran parte de mi trabajo ha sido ayudar a las personas a tomar decisiones importantes basadas en conjuntos de datos relativamente pequeños. Son pequeños porque la información puede ser costosa de recolectar (10K dólares para la primera muestra de un pozo de monitoreo de aguas subterráneas, por ejemplo, o varios miles de dólares para análisis de químicos inusuales). Estoy acostumbrado a obtener la mayor cantidad de información posible, a explorarlos hasta la muerte e inventar nuevos métodos para analizarlos si es necesario. Sin embargo, en los últimos años me he comprometido a trabajar en algunas bases de datos bastante grandes, como una de datos socioeconómicos y de ingeniería que cubre todo Estados Unidos a nivel de bloque del Censo (8.5 millones de registros,
Con conjuntos de datos muy grandes, todo el enfoque y el cambio de mentalidad . Ahora hay demasiados datos para analizar. Algunas de las implicaciones obvias (y, en retrospectiva) obvias (con énfasis en el modelo de regresión) incluyen
Cualquier análisis que piense hacer puede tomar mucho tiempo y cálculos. Necesitará desarrollar métodos de submuestreo y trabajar en conjuntos de datos parciales para poder planificar su flujo de trabajo cuando compute con todo el conjunto de datos. (El submuestreo puede ser complicado, porque necesita un subconjunto representativo de los datos que sea tan rico como todo el conjunto de datos. Y no se olvide de validar de forma cruzada sus modelos con los datos retenidos).
Debido a esto, pasará más tiempo documentando lo que hace y escribiendo todo (para que se pueda repetir).
Como @dsimcha acaba de señalar, las buenas habilidades de programación son útiles. En realidad, no necesita mucha experiencia en entornos de programación, pero necesita estar dispuesto a programar, la capacidad de reconocer cuándo la programación ayudará (en casi todos los pasos, realmente) y una buena comprensión de los elementos básicos de informática, como el diseño de estructuras de datos apropiadas y cómo analizar la complejidad computacional de los algoritmos. Esto es útil para saber de antemano si el código que planea escribir se ampliará al conjunto de datos completo.
Algunos conjuntos de datos son grandes porque tienen muchas variables (miles o decenas de miles, todas diferentes). Espere pasar mucho tiempo simplemente resumiendo y entendiendo los datos . Un libro de códigos o diccionario de datos , y otras formas de metadatos , se vuelven esenciales.
Pasa gran parte de su tiempo simplemente moviendo datos y formateándolos. Necesita habilidades para procesar grandes bases de datos y habilidades para resumir y graficar grandes cantidades de datos. ( El pequeño múltiplo de Tufte aparece aquí).
Algunas de sus herramientas de software favoritas fallarán. Olvídate de las hojas de cálculo, por ejemplo. Una gran cantidad de software de código abierto y académico simplemente no podrá manejar grandes conjuntos de datos: el procesamiento tomará una eternidad o el software se bloqueará. Espere esto y asegúrese de tener múltiples formas de realizar sus tareas clave.
Casi cualquier prueba estadística que ejecute será tan poderosa que es casi seguro identificar un efecto "significativo". Debe centrarse mucho más en la importancia estadística , como el tamaño del efecto, en lugar de la importancia.
Del mismo modo, la selección del modelo es problemática porque casi cualquier variable y cualquier interacción que pueda contemplar se verá significativa. Debe centrarse más en el significado de las variables que elige analizar.
Habrá más que suficiente información para identificar las transformaciones no lineales apropiadas de las variables. Sepa cómo hacer esto.
Tendrá suficientes datos para detectar relaciones no lineales, cambios en las tendencias, no estacionariedad, heterocedasticidad , etc.
Usted nunca se termine . Hay tantos datos que podría estudiarlos para siempre. Es importante, por lo tanto, establecer sus objetivos analíticos desde el principio y tenerlos constantemente en mente.
Terminaré con una breve anécdota que ilustra una diferencia inesperada entre el modelo de regresión con un gran conjunto de datos en comparación con uno más pequeño. Al final de ese proyecto con los datos del Censo, un modelo de regresión que había desarrollado necesitaba implementarse en el sistema informático del cliente, lo que significaba escribir código SQL en una base de datos relacional. Este es un paso rutinario, pero el código generado por los programadores de bases de datos involucraba miles de líneas de SQL. Esto hizo casi imposible garantizar que estuviera libre de errores, aunque pudimos detectarlos (dio resultados diferentes en los datos de prueba), encontrarlos era otra cuestión. (Todo lo que necesita es un error tipográfico en un coeficiente ...) Parte de la solución fue escribir un programa que generara los comandos SQL directamente a partir de las estimaciones del modelo. Esto aseguró que lo que salió del paquete de estadísticas fue exactamente lo que entró en el RDBMS. Como beneficio adicional, algunas horas dedicadas a escribir este script reemplazaron posiblemente varias semanas de codificación y prueba de SQL. Esta es una pequeña parte de lo que significa para el estadístico poder comunicar sus resultados.
fuente
Su pregunta debería dar algunas buenas respuestas. Aquí hay algunos puntos de partida.
La capacidad de trabajar con las compensaciones entre la precisión y las demandas impuestas a la potencia informática.
Facilidad con técnicas de minería de datos que pueden usarse como herramientas preliminares de detección antes de realizar la regresión. Por ejemplo, chaid, carro o redes neuronales.
Una comprensión profunda de la relación entre significación estadística y significación práctica. Un amplio repertorio de métodos para la selección de variables.
El instinto de validación cruzada.
fuente
Buenas habilidades de programación son imprescindibles. Debe poder escribir código eficiente que pueda manejar grandes cantidades de datos sin asfixiarse, y tal vez pueda paralelizar dicho código para que se ejecute en un período de tiempo razonable.
fuente
También agregaría que los datos a gran escala también introducen el problema de posibles "datos incorrectos". No solo faltan datos, sino errores de datos y definiciones inconsistentes introducidas por cada pieza de un sistema que alguna vez tocó los datos. Por lo tanto, además de las habilidades estadísticas, debe convertirse en un experto en limpieza de datos, a menos que alguien más lo haga por usted.
-Ralph Winters
fuente
fuente