los investigadores del MIT esperan avanzar en la democratización de la ciencia de datos con una nueva herramienta para los no estadísticos que genera automáticamente modelos para analizar datos sin procesar.
Democratizar la ciencia de datos es la noción de que cualquiera, con poca o ninguna experiencia, puede hacer ciencia de datos si se proporcionan datos amplios y herramientas de análisis fáciles de usar. Apoyando esa idea, la nueva herramienta ingiere conjuntos de datos y genera sofisticados modelos estadísticos típicamente utilizados por expertospara analizar, interpretar y predecir patrones subyacentes en los datos.
La herramienta actualmente vive en Jupyter Notebook, un marco web de código abierto que permite a los usuarios ejecutar programas interactivamente en sus navegadores. Los usuarios solo necesitan escribir unas pocas líneas de código para descubrir información sobre, por ejemplo, tendencias financieras, viajes aéreos, etc.patrones de votación, la propagación de enfermedades y otras tendencias.
En un documento presentado en el Simposio ACM SIGPLAN de esta semana sobre Principios de Lenguajes de Programación, los investigadores muestran que su herramienta puede extraer patrones con precisión y hacer predicciones de conjuntos de datos del mundo real, e incluso superar modelos construidos manualmente en ciertas tareas de análisis de datos.
"El objetivo de alto nivel es hacer que la ciencia de datos sea accesible para personas que no son expertas en estadística", dice el primer autor Feras Saad '15, MEng '16, estudiante de doctorado en el Departamento de Ingeniería Eléctrica y Ciencias de la Computación EECS"La gente tiene una gran cantidad de conjuntos de datos y nuestro objetivo es crear sistemas que permitan a las personas obtener automáticamente modelos que puedan usar para hacer preguntas sobre esos datos".
En última instancia, la herramienta aborda un cuello de botella en el campo de la ciencia de datos, dice el coautor Vikash Mansinghka '05, MEng '09, PhD '09, investigador del Departamento de Ciencias Cerebrales y Cognitivas BCS que dirige la Computación ProbabilísticaProyecto. "Existe una escasez ampliamente reconocida de personas que entienden cómo modelar bien los datos", dice. "Este es un problema en los gobiernos, el sector sin fines de lucro y los lugares donde las personas no pueden pagar los científicos de datos".
Los otros coautores del artículo son Marco Cusumano-Towner, estudiante de doctorado de EECS; Ulrich Schaechtle, un postdoc de BCS con el Proyecto de Computación Probabilística; y Martin Rinard, profesor e investigador de EECS en el Laboratorio de Ciencias de la Computación e Inteligencia Artificial.
modelado bayesiano
El trabajo utiliza modelado bayesiano, un método estadístico que actualiza continuamente la probabilidad de una variable a medida que hay disponible más información sobre esa variable. Por ejemplo, el estadístico y escritor Nate Silver usa modelos basados en Bayesian para su popular sitio web FiveThirtyEight.una elección presidencial, los modelos del sitio hacen una predicción inicial de que uno de los candidatos ganará, en función de varias encuestas y otros datos económicos y demográficos. Esta predicción es la variable. El día de las elecciones, el modelo utiliza esa información y sopesa los votos entrantesy otros datos, para actualizar continuamente esa probabilidad del potencial de ganar de un candidato.
En términos más generales, los modelos bayesianos se pueden usar para "pronosticar", predecir un valor desconocido en el conjunto de datos, y para descubrir patrones en los datos y las relaciones entre las variables. En su trabajo, los investigadores se centraron en dos tipos de conjuntos de datos: el tiempo-serie, una secuencia de puntos de datos en orden cronológico; y datos tabulares, donde cada fila representa una entidad de interés y cada columna representa un atributo.
Los conjuntos de datos de series temporales se pueden usar para predecir, por ejemplo, el tráfico de las aerolíneas en los próximos meses o años. Un modelo probabilístico analiza puntuaciones de datos históricos de tráfico y produce un gráfico de series temporales con patrones de tráfico futuros trazados a lo largo de la línea. El modelotambién puede descubrir fluctuaciones periódicas correlacionadas con otras variables, como la época del año.
Por otro lado, un conjunto de datos tabular utilizado para, por ejemplo, la investigación sociológica, puede contener cientos o millones de filas, cada una representando a una persona individual, con variables que caracterizan la ocupación, el salario, la ubicación del hogar y las respuestas a las preguntas de la encuesta. Modelos probabilísticospodría usarse para completar las variables faltantes, como predecir el salario de alguien en función de la ocupación y la ubicación, o para identificar variables que se informan entre sí, como descubrir que la edad y la ocupación de una persona son predictivas de su salario.
Los estadísticos ven el modelado bayesiano como un estándar de oro para construir modelos a partir de datos. Pero el modelado bayesiano es notablemente lento y desafiante. Los estadísticos primero hacen una suposición educada sobre la estructura y los parámetros necesarios del modelo, basándose en su conocimiento general del problema yutilizando un entorno de programación estadística, como R, un estadístico construye modelos, ajusta parámetros, verifica resultados y repite el proceso hasta alcanzar una compensación de rendimiento adecuada que pese la complejidad y calidad del modelo.
La herramienta de los investigadores automatiza una parte clave de este proceso. "Estamos dando a un sistema de software un trabajo que debería hacer un estadístico junior o un científico de datos", dice Mansinghka. "El software puede responder preguntas automáticamente a partir de los datos- pronosticando predicciones o diciéndole cuál es la estructura - y puede hacerlo rigurosamente, reportando medidas cuantitativas de incertidumbre. Este nivel de automatización y rigor es importante si estamos tratando de hacer que la ciencia de datos sea más accesible ".
síntesis bayesiana
Con el nuevo enfoque, los usuarios escriben una línea de código que detalla la ubicación de los datos sin procesar. La herramienta carga esos datos y crea múltiples programas probabilísticos que representan cada uno un modelo bayesiano de los datos. Todos estos modelos generados automáticamente se escriben en un dominio específicolenguajes de programación probabilísticos lenguajes de codificación desarrollados para aplicaciones específicas que están optimizados para representar modelos bayesianos para un tipo específico de datos.
La herramienta funciona utilizando una versión modificada de una técnica llamada "síntesis de programa", que crea automáticamente programas informáticos con datos y un lenguaje para trabajar. La técnica es básicamente la programación informática a la inversa: dado un conjunto de ejemplos de entrada-salida,la síntesis del programa retrocede, rellenando los espacios en blanco para construir un algoritmo que produzca las salidas de ejemplo basadas en las entradas de ejemplo.
El enfoque es diferente de la síntesis de programas ordinarios de dos maneras. Primero, la herramienta sintetiza programas probabilísticos que representan modelos bayesianos de datos, mientras que los métodos tradicionales producen programas que no modelan datos en absoluto. Segundo, la herramienta sintetiza múltiples programas simultáneamente,mientras que los métodos tradicionales producen solo uno a la vez. Los usuarios pueden elegir qué modelos se adaptan mejor a su aplicación.
"Cuando el sistema crea un modelo, escupe un código escrito en uno de estos lenguajes de programación probabilísticos específicos del dominio ... que las personas pueden entender e interpretar", dice Mansinghka. "Por ejemplo, los usuarios pueden verificar siun conjunto de datos de series de tiempo como el volumen de tráfico de una aerolínea tiene una variación estacional con solo leer el código, a diferencia de los métodos de aprendizaje automático y estadísticas de caja negra, donde los usuarios tienen que confiar en las predicciones de un modelo pero no pueden leerlo para comprender su estructura ".
La programación probabilística es un campo emergente en la intersección de lenguajes de programación, inteligencia artificial y estadísticas. Este año, el MIT organizó la primera Conferencia Internacional sobre Programación Probabilística, que contó con más de 200 asistentes, incluidos los principales actores de la industria en programación probabilística comoMicrosoft, Uber y Google.
Fuente de la historia :
Materiales proporcionado por Instituto de Tecnología de Massachusetts . Original escrito por Rob Matheson. Nota: El contenido puede ser editado por estilo y longitud.
Referencia del diario :
Cita esta página :