En este blog se exploran las posibilidades de analizar datos y crear modelos basados en la Teoría de la Información usando Powerhouse

miércoles, 14 de noviembre de 2007

¿Cuántos datos necesito para obtener un buen modelo?

Esta es una pregunta que cualquier que haya trabajado en Data Mining se ha hecho alguna vez y la respuesta es las misma en todos los casos: depende de la naturaleza de los datos.

A fin de entender por qué la cantidad de datos necesaria para obtener un buen modelo depende de los datos analizaremos detalladamente qué representa un modelo de predicción, aunque la misma idea es válida para un modelo de explicación (clustering).

Supongamos que queremos analizar diferentes características de automóviles. La industria automotriz puede ser considerada como un sistema que va generando distintas marcas y modelos. Una vez que elegimos qué atributos comparar, podremos ir armando una tabla de datos con una fila por vehículo y una variable por atributo.

Una manera de analizar estos datos es a través de lo que se llama un espacio de estados. Comencemos con un ejemplo simple. Supongamos que sólo decidimos medir dos atributos: la cilindrada y la potencia. Si dibujamos un espacio de dos dimensiones (un plano) y a cada dimensión le asignamos una variable, obtenemos el espacio de estados. La combinación de cada par de valores representada por un punto en el plano es el estado para ese automóvil

La distribución de los puntos en el plano adquiere una determinada forma dada por el tipo de relación entre las variables. Podríamos suponer que la verdadera distribución es una línea en el plano que puede ser inferida en base a los puntos. O sea, estamos asumiendo que la forma en que se distribuyen los puntos debería ser una línea pero la representación que obtenemos es algo difusa. Si en vez de usar sólo dos variables hubiéramos usado tres, el espacio de estado tendría 3 dimensiones y la forma de la distribución podría ser un cuerpo con volumen o un plano, probablemente curvado, en un espacio de 3D. Si usáramos más de 3 variables, ya no podríamos visualizar el espacio pero la idea sigue siendo la misma: la nube de puntos (estados) representaría en forma difusa un cuerpo hiperdimensional. A este cuerpo se lo llama manifold.

Un modelo de predicción sobre estos datos debe contener un mapa que relacione cada zona del manifold con un valor de la variable dependiente. La forma que adquiere el mapa depende del tipo de herramienta usada, puede ser una función (lineal o no), un conjunto de reglas, un gráfico, etc, pero lo importante es que el modelo es un mapa, pero hay que recordar que el mapa no es el territorio. Dicho de otra forma, el mapa podría no ser perfecto, y generalmente no lo es por varias razones.

La nube de puntos nos da una idea del verdadero manifold, pero normalmente es imposible conocerlo. Sólo podemos inferir cómo debería serlo basándonos en los puntos. Cuánto más cantidad de puntos tengamos a disposición, más fiel será nuestra representación del manifold.

Si no tenemos suficientes puntos, el manifold tendrá muchas zonas vacías cuya forma deberá ser inferida corriendo el riesgo de cometer errores. El manifold podría tener cualquier forma, desde muy simple hasta muy complejo. Cuánto más complejo sea, más necesidad de puntos tendremos para representar lo mejor posible su verdadera forma.

El párrafo anterior sugiere que la cantidad de filas, o lo que es lo mismo, la cantidad de puntos del manifold, necesarias para tener una buena representación depende de la cantidad de variables y de la complejidad de las relaciones entre estas variables. ¿Por qué?

Supongamos un manifold simple formado por dos variables. ¿Cuántos puntos serán necesarios para tener una idea más o menos clara del mismo? ¿Son suficientes 100? ¿o se necesitan 1000? Supongamos que intuitivamente creemos que con 100 puntos alcanza (el manifold del gráfico antrior está formado por 400 puntos). Si agregamos una nueva variable, el espacio pasa a ser de 3D y el manifold pasará de ser una línea a ser un plano. Aún continuando con la suposición de que el manifold es simple, serán necesarios más puntos para obtener una buena definición de un plano (curvado) que de una línea (curvada). Esta es la razón de por qué para realizar un buen modelo generalmente se necesitan más casos (filas) cuando la cantidad de variables se incrementa. De hecho, para obtener una buena representación del manifold con 20 o 30 variables podrían ser necesarias tantos casos que no sería posible obtenerlos.

Por otro lado, cuánto más compleja sea la relación entre las variables, más complejo será el manifold y por lo tanto mayor cantidad de puntos, o casos se necesitarán para crear un buen modelo.

Estimación de la cantidad de datos necesarios

Una manera de estimar los datos necesarios para tener una buena representación del manifold es ir construyendo un gráfico de la distribución de los datos. Supongamos que empezamos construyendo la distribución con muy pocos datos. Luego agregamos varios datos más y volvemos a crear otro gráfico con la distribución. Es probable que ambas distribuciones no sean muy parecidas, pero a medida que se agreguen más valores, la forma de la distribución irá convergiendo a la distribución de la población.

Supongamos que tenemos una distribución construida con n casos. Luego agregamos m casos más y volvemos a construir la distribución. Si ambas distribuciones no cambian demasiado, podremos asumir que la muestra de n casos ha capturado la distribución de la población.

Los siguientes gráficos muestran cómo va variando la distribución a medida que se agregan datos. El primer gráfico está construido con 20 casos, el segundo con 40 y el tercero con 100. En cada caso se acompaña la distribución de la población para comparar cómo la distribución de la muestra se va acercando a la de la población a medida que crece su tamaño.

Distribución con 20 casos

Distribución con 40 casos

Distribución con 100 casos

Las distribuciones anteriores fueron construidas en base a una sola variable. Cuando existen más de una variable, se puede usar el mismo procedimiento, teniendo en cuenta que ahora la distribución ya no será en un plano sino en un espacio de 3 o más dimensiones. Por ejemplo, el siguiente gráfico muestra la distribución conjunta de dos variables

Tomando muestras al azar cada vez mayores se puede encontrar el tamaño mínimo tal que tomando una muestra más grande, la forma de la distribución no se modifique significativamente.

Este tamaño mínimo, es la cantidad de datos que se necesitará para crear un buen modelo sobre esos datos con esas variables.

Powerhouse va calculando la probabilidad de contar con una muestra que tenga una distribición representativa de la población a medida que agrega variables en una selección de las mejores variables. El proceso de selección para automáticamente cuando la cantidad de información que aporta una nueva variable no justifica la pérdida de representatividad de la muestra.

Este método ha demostrado ser muy confiable y permite generar modelos con rendimientos muy similares entre los datos de entrenamiento y los de prueba, aumentando así la probabilidad de que el modelo funcione correctamente cuando se ponga en producción.

No hay comentarios: