Big Data - New Tricks For EconometricsEs

Big Data: Nuevos trucos para Econometría Hal R. Varian * Junio 2013 Revisado: 14 de abril 2014 Resumen Hoy en día compu

Views 25 Downloads 0 File size 764KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Big Data: Nuevos trucos para Econometría Hal R. Varian * Junio 2013 Revisado: 14 de abril 2014

Resumen Hoy en día computadoras están en el centro de la mayoría de las transacciones económicas. Estas “transacciones a través del ordenador” generan enormes cantidades de datos, y las nuevas herramientas se pueden utilizar para manipular y analizar estos datos. Este ensayo ofrece una breve introducción a algunas de estas herramientas y ods met.

Las computadoras están ahora involucrados en muchas transacciones económicas y pueden cap- datos tura asociados con estas operaciones, que pueden ser manipulados y analizados. técnicas estadísticas y econométricas convencionales, tales como la regresión a menudo funcionan bien, pero hay problemas únicos para grandes conjuntos de datos que pueden requerir diferentes herramientas. En primer lugar, la magnitud de los datos en cuestión puede requerir más poderosas herramientas de manipulación de datos. En segundo lugar, podemos tener más predictores potenciales que adecuada para la estimación, así que tenemos que hacer algún tipo de selección de variables. En tercer lugar, grandes conjuntos de datos pueden permitir relaciones más flexibles que sencilla 1

Hal Varian es Economista Jefe, Google Inc., Mountain View, California, y Profesor Emérito de Economía, Universidad de California, Berkeley, California. Gracias a Jeffrey Oldham, Tom Zhang, Rob On, Pierre Grinspan, Jerry Friedman, Arte Owen, Steve Scott, Bo Cowgill, Brock Noland, Daniel Stonehill, Robert Snedegar, Gary King, Fabien Curtomijo y los editores de esta revista para útiles comentarios sobre versiones anteriores de este documento. *

2

modelos lineales. técnicas de aprendizaje de máquina, tales como árboles de decisión, máquinas de vectores de soporte, redes neuronales, el aprendizaje profundo y así sucesivamente pueden permitir formas más eficaces para modelar relaciones complejas. En este ensayo voy a describir algunas de estas herramientas para la manipulación y anun- alyzing grandes volúmenes de datos. Creo que estos métodos tienen mucho que ofrecer y deben ser más ampliamente conocidos y utilizados por los economistas. De hecho, mi consejo estándar para los estudiantes graduados en estos días es “ir al departamento de informática y tomar una clase de aprendizaje automático.” Ha habido raciones colabo- muy fructíferas entre los informáticos y estadísticos en la última década más o menos, y yo esperan que la colaboración entre los científicos de la computación y econometristas también serán productivas en el futuro.

1

Herramientas para manipular los datos grande

Los economistas han tratado históricamente con los datos que cabe en una hoja de cálculo, pero que está cambiando como nuevos datos de que se disponga de más detallada; ver Einav y Levin [2013] durante varios ejemplos y discusión. Si usted tiene más de un millón o más filas en una hoja de cálculo, es probable que desee almacenar en una base de datos relacional, como MySQL. bases de datos relacionales ofrecen una forma flexible para almacenar, manipular y recuperar los datos usando un lenguaje de consulta estructurado (SQL) que es fácil de aprender y muy útiles para tratar con conjuntos de datos de tamaño medio. Sin embargo, si tiene varios gigabytes de datos o de varios millones de las observaciones, las bases de datos relacionales estándar vuelto difícil de manejar. Bases de datos para gestionar los datos de este tamaño son genéricamente conocidas como bases de datos NoSQL “”. El término se utiliza más bien débilmente, pero a veces se interpreta como que significa 3

“no sólo SQL.” Bases de datos NoSQL son más primitivo que bases de datos SQL en términos de capacidades de manipulación de datos, pero pueden manejar grandes cantidades de datos. Debido al aumento de las transacciones a través de ordenador, muchas empresas han encontrado que es necesario desarrollar sistemas para procesar mil millones de transacciones por

4

día. porejemplo, según Sullivan [2012], Google ha visto 30 billones de direcciones URL, se arrastra más de 20 mil millones de los que un día, y respuestas de 100 mil millones de consultas de búsqueda al mes. Analizar incluso el valor de los datos de este tamaño de un día es prácticamente imposible con bases de datos convencionales. El desafío de tratar con conjuntos de datos de este tamaño condujo al desarrollo de varias herramientas para gestionar y analizar grandes volúmenes de datos. Varias de estas herramientas son propiedad de Google, pero no se han des- cribe en las publicaciones académicas en suficiente detalle para que de código abierto implementaciones se han desarrollado. La tabla 1 contiene tanto el nombre de Google y el nombre de herramientas de código abierto relacionados. Más detalles se pueden encontrar en las entradas de Wikipedia asociados con los nombres de las herramientas. Aunque estas herramientas se pueden ejecutar en un solo ordenador con fines de aprendizaje, aplicaciones reales utilizan grandes grupos de ordenadores como los proporcionados por Amazon, Google, Microsoft y otros proveedores de cloud computing. La posibilidad de alquilar en vez de comprar almacenamiento y procesamiento de datos se ha convertido lo que antes era un costo fijo de la informática en un costo variable y ha reducido las barreras de entrada para trabajar con grandes volúmenes de datos.

2 Herramientas para analizar los datos El resultado de la gran procesamiento de datos descrito anteriormente es a menudo una mesa “pequeña” de datos que pueden ser directamente legible por humanos o se pueden cargar en una base de datos SQL, un paquete de estadísticas, o una hoja de cálculo. Si los datos extraídos sigue siendo excesivamente grande, a menudo es posible seleccionar una submuestra para el análisis estadístico. En Google, por ejemplo, he encontrado que las muestras aleatorias del orden de 0,1 por ciento bien el 5

trabajo para el análisis de los datos empresariales. Una vez que un conjunto de datos se ha extraído a menudo es necesario hacer un poco de análisis de datos exploratorio junto con las tareas de consistencia y limpieza de datos. Esto es algo de un arte que se puede aprender solamente por la práctica, pero los datos limpiadores herramientas ing como OpenRefine y DataWrangler se puede utilizar para ayudar en los datos

6

nombre de Google

Término análogo Sistema de archivos Hadoop de Google Ex pediente Sistema Mesa grande Cassandra

Mapa reducido

Hadoop

Sawzall

Cerdo

Ir

Ninguna

Dremel, BigQuery

Colmena, Taladro, impala

Descripción Este sistema es compatible con archivos tan grandes que deberán estar distribuidos a través de cientos o incluso miles de ordenadores. Esta es una tabla de datos que vive en el Google File System. También puede prolongarse durante muchos ordenadores. Se trata de un sistema para acceder manipulatción de datos en las estructuras de datos de gran tamaño como BigTables. MapReduce le permite ac- ceso a los datos en paralelo, usando cientos o miles de máquinas para extraer los datos que le interesan. La consulta se “mapea” a las máquinas y luego se manejó AP- en paralelo con diferentes fragmentos de los datos . Los cálculos parciales se combinan a continuación ( “reducida”) para crear la tabla resu- men le interesa. Este es un lenguaje para la creación de MapReduce trabajos. Goisaflexible fuente abierta generalidioma ordenador de propósito que hace que sea más fácil hacer el procesamiento de datos en paralelo. Esta es una herramienta que permite la consulta de datos que sean escrito en una forma simplificada de SQL. Con Dremel es posible ejecutar una consulta SQL en un petabtye de datos 7

(1000 terabytes) segundos.

en

unos

pocos

Tabla 1: Herramientas para la manipulación de grandes volúmenes de datos.

8

la limpieza. Análisis de los datos en las estadísticas y econometría se puede dividir en cuatro categorías: 1) de predicción, 2) el resumen, de estimación 3) y 4) prueba de hipótesis. El aprendizaje automático se ocupa principalmente de predicción; el campo estrechamente relacionado de la minería de datos también tiene que ver con el resumen, y en la búsqueda Particularmente interesantes patrones en los datos. Económetras, los estadísticos y especialistas en minería de datos son por lo general en busca de ideas que se pueden extraer de los datos. especialistas en aprendizaje de máquinas a menudo son principal- mente preocupada con los sistemas informáticos de alto rendimiento en desarrollo que pueden proporcionar predicciones útiles en presencia de restricciones computacionales difíciles. la ciencia de datos, un algo nuevo término, se basa tanto en la predicción y el resumen, pero también con la manipulación de datos, visualiza- ción, y otras tareas similares. Tenga en cuenta que la terminología no ha sido estandarizada en estas áreas, por lo que estas descripciones reflejan el uso general, las definiciones no es difícil y rápidas. Otros términos utilizados para describir el análisis de datos asistida por ordenador incluyen la extracción de conocimiento, el descubrimiento de información, recolección de información, la arqueología de datos, procesamiento patrón de datos y análisis de datos exploratorio. Gran parte de econometría aplicada se refiere a la detección y relaciones Rizing summa- en los datos. La herramienta más común usado para para marization SUM- es el análisis de regresión (lineal). Como veremos más adelante, la máquina de aprendizaje ofrece un conjunto de herramientas que útilmente pueden resumir varios tipos de relaciones no lineales en los datos. Nos centraremos en estas herramientas de regresión similar, ya que son los más naturales para aplicaciones económicas. En la formulación más general de un problema de predicción 9

estadística, estamos interesados en la comprensión de la distribución condicional de alguna variable y dado algunas otras variables x = (x1,..., XP). Si queremos una predicción punto podríamos usar la media o la mediana de la distribución condicional. En el aprendizaje de máquina, las variables x generalmente se llaman “predictores” o “características”. El enfoque de aprendizaje automático es encontrar alguna función que ofrece una buena predicción de y en función de x. Históricamente, la mayoría del trabajo

10

en la máquina de aprendizaje ha implicado datos de corte transversal donde es natural pensar de los datos de ser independiente e idénticamente distribuida (IID) o al menos distribuido de forma independiente. Los datos pueden ser “grasa”, lo que significa un montón de predictores en relación con el número de observaciones, o “altos”, que significa un montón de observaciones en relación con el número de predictores. Nosotros suelen tener algunos datos observados en Y y X y queremos calcular una “buena” la predicción de y nuevos valores dados de x. Por lo general, “bueno” significa que se reduce al mínimo la pérdida de algunas funciones tales como la suma de los residuos al cuadrado, con una media del valor absoluto de los residuos, y así sucesivamente. Por supuesto, la pérdida en cuestión es el asociado con nuevas observaciones fuera de la muestra de x, no las observaciones utilizadas para ajustar el modelo. Cuando nos enfrentamos a un problema de predicción de este tipo economista sería pensar inmediatamente en una regresión lineal o logística. Sin embargo, puede haber opciones mejores, sobre todo si una gran cantidad de datos disponibles. Estos incluyen métodos no lineales, tales como 1) árboles de clasificación y regresión (CART), 2) bosques aleatorios, y 3) la regresión penalizado como LASSO, LARS, y elastiredes de tics. (También hay otras técnicas tales como redes neuronales, el aprendizaje profundo, y las máquinas de vectores de soporte, que yo no cubren en esta revisión.) Mucho más detalles acerca de estos métodos se puede encontrar en los textos de aprendizaje automático; un excelente tratamiento está disponible en Hastie et al. [2009], que se puede descargar libremente. sugerencias adicionales para la lectura adicional se dan al final de este artículo.

3 Consideraciones generales para la predicción Nuestro objetivo con la predicción es típicamente para obtener buenas 11

predicciones fuera de muestra. La mayoría de nosotros sabemos por experiencia que todo es demasiado fácil de construir un predictor que funciona bien dentro de la muestra, pero falla miserablemente fuera de la muestra. Para tomar un ejemplo trivial, n linealmente independientes regresores encajarán n observaciones perfectamente, pero por lo general tienen bajo rendimiento fuera de la muestra. Aprendizaje automático

12

especialistas se refieren a este fenómeno como el “problema de sobreajuste” y han llegado con varias maneras de tratar con él. En primer lugar, ya que los modelos más simples tienden a funcionar mejor para pronósticos fuera de muestra, los expertos de aprendizaje de máquina han llegado con diferentes formas de penalizar modelos de excesiva complejidad. En el mundo de aprendizaje automático, esto se conoce como “regularización” y vamos a describir algunos ejemplos a continuación. Los economistas tienden a preferir los modelos más sencillos por la misma razón, pero no han sido tan explícito acerca de la cuantificación de los costes de complejidad. En segundo lugar, es habitual dividir los datos en grupos separados para fines de formación, pruebas y validación. Utiliza los datos de entrenamiento para estimar un modelo, los datos de validación para elegir su modelo y los datos de prueba para evaluar qué tan bien el modelo elegido lleva a cabo. (A menudo validación y pruebas conjuntos se combinan.) En tercer lugar, si tenemos una medida numérica explícita de la complejidad del modelo, podemos verla como un parámetro que puede ser “afinado” para producir el máximo rendimiento de las predicciones de la muestra. La forma estándar de elegir un buen valor para un parámetro de sintonización tal es el uso de k veces la validación cruzada. 1. Dividir los datos en k subconjuntos aproximadamente iguales (pliegues) y etiquetarlos por s = 1,. . . , K. Comience con subconjunto = 1 s. 2. Elegir un valor para el parámetro de ajuste. 3. Ajuste a su modelo utilizando el k - 1 subconjuntos distintos subconjuntos s. 4. Predecir para subconjunto s y medir la pérdida asociada. 5. Pare si s = k, de lo contrario incrementar s por 1 y vaya al paso 2. 13

opciones comunes para k son 10, 5, y el tamaño de la muestra menos 1 ( “dejar uno fuera”). Después de la validación cruzada, se termina con valores de k del parámetro de ajuste y la pérdida asociada que luego se puede examinar para elegir un valor adecuado para el parámetro de ajuste. Incluso si no hay sintonía

14

parámetro, es prudente utilizar la validación cruzada para informar de bondad de ajuste medi- Sures ya que mide el rendimiento fuera de la muestra, que generalmente es más significativo que el rendimiento dentro de la muestra. El ciclo de ensayo de tren y la validación cruzada se utilizan con mucha frecuencia en el aprendizaje y la má- quina, en mi opinión, se deben utilizar mucho más en la economía, sobre todo cuando se trabaja con grandes conjuntos de datos. Durante muchos años, los economistas han informado de medidas dentro de la muestra de bondad de ajuste con la excusa de que teníamos pequeños conjuntos de datos. Pero ahora que los conjuntos de datos más grandes se han hecho disponibles, no hay ninguna razón para no usar conjuntos de entrenamiento y pruebas separadas. validación cruzada también resulta ser una técnica muy útil, sobre todo cuando se trabaja con datos razonablemente grandes. También es una medida mucho más realista de predicción de rendimiento que las medidas de uso común en la economía.

4 árboles de clasificación y regresión Comencemos considerando una regresión variable discreta donde nuestro objetivo es predecir un resultado de 0-1 basado en un conjunto de características (lo que los economistas llamarían variables explicativas o predictores.) En el aprendizaje de esto se conoce como un problema de clasificación de la máquina. Un ejemplo común sería estar clasificando correo electrónico en “correo no deseado” o “no es spam”, basada en las características del correo electrónico. Los economistas suelen utilizar un modelo lineal generalizado como un logit o probit para un problema de clasificación. Una forma muy diferente de construir un clasificador es utilizar un árbol de decisión. La mayoría de los economistas están familiarizados con los árboles de decisión que describen una secuencia de deci- siones 15

que se traduce en algún resultado. Un clasificador árbol tiene la misma forma general, pero la decisión al final del proceso es la posibilidad de elegir la forma de clasificar la observación. El objetivo es construir (o “crecer”) un árbol de decisión que conduce a buenas predicciones fuera de muestra. Irónicamente, uno de los primeros trabajos sobre la construcción automática de árboles de- cisión fue co-escrito por un economista (Morgan y Sonquist [1963]).

16

caracteristicas clase 3 clase 1-2, más joven que 16 clase 2, mayores de 16 años clase 1, mayor de 16 años

predicho murió vivió

real / Total 370/501 34/36

murió

145/233

vivió

174/276

Tabla 2: Modelo de árbol en forma de regla. Sin embargo, la técnica en realidad no ganó mucha tracción hasta 20 años más tarde en la obra de Breiman et al. [1984] y sus colegas. Hoy en día esta técnica la predicción se conoce como “árboles de clasificación y regresión”, o “Carro”. A ilustran el uso de modelos de árbol, utilicé el rpart paquete R para encontrar un árbol que predice supervivientes Titanic utilizando sólo dos variables, la edad y la clase de travel.1 El árbol resultante se muestra en la Figura 1, y las reglas descritas en el árbol están se muestra en la Tabla 2. las normas ajustar los datos razonablemente bien, clasificación errónea de aproximadamente el 30% de las observaciones en el conjunto de pruebas. Esta clasificación también se puede representar en el “parcela partición” que se muestra en la Figura 2, que muestra cómo el árbol divide el espacio de los pares de la edad y de clase en regiones rectangulares. Por supuesto, la trama partición sólo se puede utilizar para dos variables, mientras que una representación del árbol puede manejar un número arbitrariamente grande. Resulta que hay maneras computacionalmente eficientes para la construcción de árboles de clasificación de este tipo. Estos métodos generalmente se restringen a los árboles binarios (dos ramas en cada nodo). Pueden ser utilizados para la clasificación con múltiples resultados ( “árboles de clasificación”), o con variables dependientes continuas ( “árboles de regresión.”) árboles tienden a funcionar bien para problemas en los que hay 17

importantes earities no linealidad e interacciones. A modo de ejemplo, vamos a continuar con los datos del Titanic y creamos un árbol que se relaciona con la supervivencia a la edad. En este caso, la regla generada por el árbol es muy simple: predecir “sobrevivir” si la edad = 2,5

muerto 370/501

no

edad> = 16

vivido 34/36

clase> = 1,5

muerto 145/233

vivido 174/276

80

Figura 1: Un árbol de clasificación para los sobrevivientes de la Titanic.See texto para la interpretación.

 

0

20

año s 40

60





  

 



                                                                                                  









                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

1st2nd3rd clase

Figura 2: El modelo simple árbol predice la muerte en la región sombreada. Los círculos blancos indican la supervivencia, cruces negras indican la muerte. 19

Coeficiente Estimar

std error

Interceptar 0,465 -0.002 años

0,0350 0,001

valor de t 13.291 -1.796

valor de p 0.000 0,072





 

  



0.1

0.2

fracción sobrevivió 0.3 0.4

0.5

0.6

0.7

Tabla 3: La regresión logística de la supervivencia frente a la edad.

1020304050607080 bin edad

Figura 3: La figura muestra las tasas de supervivencia promedio para diferentes grupos de edad, junto con intervalos de confianza. La bandeja es más bajo “10 y más joven”, la siguiente es “mayor de 10 años, a través de 20” y así sucesivamente. probabilidad de supervivencia en función de la edad, con resultados reportados en la Tabla 3. El modelo de árbol sugiere que la edad es un importante predictor de supervivencia importante, mientras que el modelo logístico dice que es apenas importante. Esta discrepancia se explica en la Figura 3 donde representamos gráficamente las tasas de supervivencia por contenedores de edad. Aquí vemos que las tasas de supervivencia para los pasajeros más jóvenes fueron relativamente altas y los pasajeros de más edad eran relativamente bajos. Para los pasajeros entre estos dos extremos, la edad no importa mucho. Sería difícil de descubrir este patrón de una alone.2 regresión logística 2 0

Eso Es cierto que si sabía que había una no linealidad en la edad, se puede utilizar maniquíes de edad en el modelo logit para capturar este efecto. Sin embargo, la formulación de árbol hizo esta no linealidad inmediatamente evidente. 2

21

árboles También manejar los datos faltantes así. Perlich et al. [2003] examinó variosconjuntos de datos estándar y encontraron que “la regresión logística es mejor para los conjuntos de datos más pequeños y la inducción de árboles de grandes conjuntos de datos.” Curiosamente, los árboles tienden a no funcionar muy bien si la relación subyacente es muy lineal, pero hay modelos híbridos como RuleFit (Friedman y Popescu [2005]) que puede incorporar tanto el árbol y las relaciones lineales entre las variables. Sin embargo, incluso si los árboles pueden no mejorar en precisión predictiva en comparación con los modelos lineales, el ejemplo muestra que la edad pueden revelar aspectos de los datos que no son evidentes a partir de un enfoque de modelo lineal tradicional.

4.1

poda de árboles

Uno de los problemas con los árboles es que tienden a “overfit” los datos. Así como una regresión con n observaciones y n variables le dará un buen ajuste en la muestra, un árbol con muchas ramas también cabrá los datos de entrenamiento también. En cualquiera de los casos, las predicciones utilizando nuevos datos, como el equipo de prueba, podrían ser muy pobre. La solución más común a este problema es la de “podar” el árbol mediante la imposición de un costo de complejidad. Hay varias medidas de complejidad, pero muy común es el número de nodos terminales (también conocido como “hojas”. El costo de complejidad es un parámetro de ajuste que se elige para proporcionar las mejores predicciones fuera de la muestra, que es típicamente medido utilizando el 10 veces cruzada procedimiento de validación se mencionó anteriormente. Una sesión típica de la estimación de árboles podría implicar que divide los datos en diez pliegues, con nueve de los pliegues para hacer crecer un árbol con una particular complejidad, y luego predecir en el pliegue excluidos. Repetir la estimación con diferentes valores del 22

parámetro de complejidad usando otros pliegues y elegir el valor del parámetro de complejidad que minimiza el error de clasificación fuera de la muestra. (Algunos investigadores recomiendan ser un poco más agresivo y advo- cado elegir el parámetro de complejidad que es una desviación estándar menor que el valor de pérdida de minimización).

23

1 sexo p