Un modelo de juguete, una bolsa y Benford

Bienvenido de nuevo a este pequeño rincón donde escribo, donde te cuento lo que para mi es interesante, donde busco que aprendas cosas maravillosas del mundo que te rodea y que por ser evidentes pasan desapercibidas a la vista. En esta entrada voy a presentarte un patrón que se repite en muchos lugares de la naturaleza, esos lugares son muy distintos entre sí; aparece en el tamaño de los lagos, en el número de las casas de las calles, en las constantes que manejan los que investigan, en tu declaración de la renta, en los precios de un supermercado, en el mercado de valores y en muchos más.También quiero mostrarte como crear modelos de juguetes para entender algunos aspectos del comportamiento de los sistemas.

¿Qué es la ley de Benford?¿Dónde puedo encontrarla?¿Qué aplicaciones puede tener?¿Cómo es que los valores de la bolsa, algo a primera vista completamente aleatorio, sigue esta ley?





Responderé a estas preguntas, así que atento y disfruta de la lectura.

Benford

Los descubrimientos vienen de pararse y observar algo que antes no se había percatado nadie. Eso le ocurrió a Simon Newcomb . Todos los libros se desgastan, sobre todo los que se usan más o menos igual, sueles pasar todas las páginas las misma cantidad de veces así que todas las páginas tienen el mismo desgaste. Pero Simon se percató de que unos libros de la biblioteca que contenían tablas se gastaban de una forma peculiar, las primeras páginas de las tablas estaban más desgastada que las últimas y no era porque eran libros de novelas malas que te aburres al empezar, eran libros que contenían datos que se usaban a modo de calculadora para obtener el resultado de logaritmos. Por ejemplo si alguien quería saber el Log 15, se iba al libro y lo buscaba.
Esto le llevó a pensar que, ya que los datos estaban ordenador de menor a mayor, los números no estaban distribuidos de forma uniforme, es decir, que había números que salían más veces que otros. En concreto los que tenían la primera cifra más baja salían más veces.

-¡Qué curioso!, es un fenómeno extraño. Es lo que tiene inventar esas cosas feas como los logaritmos.-

Lo primero, los logaritmos no son feos, ayudan a reducir muchos cálculos. Lo segundo, resulta que no es un fenómeno tan extraño. Se da en todas partes, bueno casi en todas parte, pero hasta ahora nadie se fijó en ellos.

- ¿Ah,sí, en cuales?-

Pues aquí toca mencionar a Frank Benford, que visto el resultado de Simon decidió mirar a ver si se daba en más sitios. Y vaya si se daba. Áreas fluviales, constantes y magnitudes físicas y químicas, funciones matemáticas e incluso números de direcciones de personas y tomados de portadas de revistas y más. Te invito a poner más ejemplos donde se dan.

En enlace de la wikipedia de la ley Benford viene bien explicado, pero si eres de los que se les resiste el inglés te describo la idea básica a ver si eres capaz de llegar al entendimiento por ti mismo. Bueno mejor te lo dejo para un poquito más adelante, ten paciencia.

Otro de los lugares donde aparece la distribución de Benford es en el mercado de valores, es decir, en la bolsa. Si coges los precios de las acciones en un momento dado de todas las empresas y cuentas cuantos de ellos empiezan por 1, cuantos empiezan por 2, cuantos empiezan por 3, cuantos por 4 y así hasta el 9. ¿Qué esperas encontrar?¿Que todas las primeras cifras se distribuyan de la misma manera?

Pues sorpresa, verás que hay más que empiezan por 1, luego por 2, a continuación por 3 y así  decreciendo hasta el nueve.
En concreto:

Primera cifra 


Porcentaje de aparición
1


30.1 %
2


17.6 %
3


12.5 %
4


9.7 %
5


7.9 %
6


6.7 %
7


5.8 %
8


5.1 %
9


4.6 %




Claro que dependerá de la cantidad de datos que cojas, si coges dos valores no verás esta distribución, ni con 100. Tienes que coger más, a medida que cojas más verás como se acercan a esta distribución.

Otra característica de este tipo de fenómenos es que no importan las unidades, puedes coger la bolsa de New York, que estará en dolares, y la de Tokyo, que estará en yenes, juntar sus datos y comprobar las primera cifras. Y ¡¡pum!! te saldrá la distribución.
Un detalle a tener en cuenta es que los ordenes de magnitud ( algo así como las cifras que poseen) de los valores que aparecen en este tipo de distribuciones son muy distintos, lo mismo aparecen valores de 1000, que de 10, que de 1.
¿Que no me crees? haces bien, prueba.

-Vale, vale. Sale en muchos sitios. pero ¿De que me sirve conocer esto?-

Pues resulta que si tiene aplicaciones en la vida real. Si por ejemplo sabes que las cifras que aparecen en un libro contable deben seguir esta distribución y cuando lo compruebas ves que no lo hacen, es que debe a ver algo raro. No necesariamente un fraude pero si algo que no encaja y que hay que explicar. En datos electorales, macroeconómicos,en el estudio de los genes y en más sitios. Experimenta, investiga donde más se puede dar y cuéntamelo.


Modelos de juguete

 Una herramienta que usan algunas personas que trabajan investigando son los modelos de juguete o toy model   , se usan para cuando se quiere entender un aspecto del comportamiento  de un sistema. Por ejemplo  materiales ferromagnéticos...para los de la E.S.O trozos de metal que se pueden imantar y pegar clips y chinchetas a ellos. Si quieres entender como se imantan estos materiales puede simplificar su comportamiento. Supones que los trocitos de los que se componen son como pequeñas brújulas apuntando en sentidos diferentes de tal manera que de media es como si no apuntaran a ningún sitio. Solo cuando una gran cantidad de ellos apuntan a un mismo lado se convierte en un imán. Este pequeño modelo así rápidamente explicado es el modelo de Ising. Hay multitud de modelos de juguete, el juego de la vida explicado en una entrada anterior es otro modelo de juguete.






 Modelo de juguete bolsa

Voy a desarrollar un modelo de juguete que me he inventado, la idea es captar la esencia de como funciona la bolsa y ver si este modelo da como resultado que los valores sigan la distribución de Benford.

El mercado de valores consiste en un conjunto de acciones que tienen un valor por el que puedes comprarlas o venderlas. Ese precio va cambiando a lo largo del tiempo. En las noticias económicas suelen a parecer noticias como que el banco Alasaca S.A ha bajado su cotización en bolsa un 2% , la empresa de internet Hazteunafotodetuombligo  ha subido un 19% . Esto indica que el valor de las acciones suele variar un porcentaje. Bien pues con esto te voy a describir los pasos que sigue el modelo que me he inventado:

  1. Coges una cantidad de acciones, pongamos 1000
  2. Le asignas a cada una un valor entre 1 y 100 por ejemplo, de forma aleatoria, siguiendo una distribución uniforme, es decir, todos los valores tienen la misma probabilidad de ser asignados a las acciones.
  3. Escoges una acción al azar y le aplicamos un porcentaje escogido al azar entre [-porcentajeMaximo, porcentajeMaximo] . De tal manera que el nuevo valor de la acción sera el viejo + o menos el porcentaje por el valor viejo. Esa elección de porcentaje también sigue una distribución uniforme.
  4. Si alguna acción se vuelve cero o negativa se elimina y se añade otra siguiendo el paso 2.
  5. Repites este último paso un montón de veces, cuantas más mejor.
  6. Coges los nuevos valores de las acciones y ves cuantas empiezan por 1,por 2...
Puedes comparar como era la distribución de las primeras cifras de los valores de las acciones antes y después de aplicar el algoritmo.
Para ser un poco más preciso hay que repetir todo este proceso muchas veces de tal forma que tengamos un conjunto de distribuciones finales. Con este conjunto puedes calcular la media y el error para cada porcentaje que sale la cifra y ver si se ajustan o no a una distribución de Benford.
Eso es lo que he hecho mediante un script de python. En la siguiente imagen puedes ver como evoluciona el precio de una acción a medida que vas aplicando el algoritmo.


En la siguiente imagen (haz click para ampliarla) se puede ver que casi, pero no todos, los valores de la distribución de Benford entran dentro de los valores  medios que he obtenido con su error . He usado un porcentaje máximo del 50% y he cambiado al azar 100,000 acciones de las 1000 que tenía. Luego he obtenido así unas 100 distribuciones de las cuales he obtenido la media y el error.



Para verlo con mejor detalle pongo esta imagen.



Esto es un modelo de juguete y claro que tiene sus limitaciones, por ejemplo que tal vez los porcentajes no sigan una distribución de probabilidad uniforme, tal vez sigan otra. En python probé varias y esta es la que me dio mejor resultado. Luego pondré el código para que puedas bajarlo y trastearlo.

Con este modelo de juguete se ve que que una cantidad de valores a los cuales se les va cambiando el precio siguen una distribución de Benford después de muchos cambios aplicados. Tal vez con este juguete se empiece a intuir porque siguen esa distribución y no una uniforme donde todas las cifras estén el mismo porcentaje de veces. Si no consigues ver el como acaba ahí piensa que cuando un valor crece, pasar de 1 a 9 es más fácil que de la zona del intervalo [10,19] al intervalo [90,99] y esto a su vez es más fácil que pasar del intervalo [100,199] al [900,999] y ya no te cuento para mayores. Para que la primera cifra de un valor cambie si estás en la zona de las decenas tienes que pasar diez números, en las centenas 100.


Herramienta


Para ver mejor este modelo de juguete y siguiendo mi forma de hacer las entradas te pongo aquí una herramienta donde puedes elegir unos parámetros iniciales, a continuación pinchar en generar y luego en simular para ver como cambian la distribución inicial de las primeras cifras. Esto te lo indicaran las barras azules y los valores en negro. En amarillo se ve la distribución de Benford y en rojo sus valores numéricos. Toquetea y diviértete.







Tienes un navegador que no va el HTML5 




Después de todo esto espero que al menos te hayas quedado con la idea de que es la distribución de Benford y  como aparece en muchas situaciones. También que para explicar fenómenos se puede recurrir a pequeños modelos de juguete. Si quieres saber más visita los enlaces que he puesto y encuentra nuevos lugares, no te olvides de comentármelos.

El código del script de python para estudiar el modelo propuesto lo puedes descargar de aquí y la herramienta en html y javascript aquí.

Gracias por tu tiempo y espero que hayas disfrutado y aprendido.

Actualizado
Esta entrada participa en la Edición 4.1 del Carnaval de Matemáticas cuyo anfitrión es Tito Eliatron Dixit.

1 comentario: