En este blog iré comentando en español pequeños resúmenes de los módulos del curso Networks, friends, moneys and bytes de Coursera, conducido por el instructor Mung Chiang de la Universidad de Princeton, cualquier duda o comentario serán muy bienvenidos porque así aprendemos todos

lunes, 1 de octubre de 2012

Recomendaciones de Amazon


Las recomendaciones de la tienda online de Amazon se basan en un sistema de votación de clientes que hacen evaluaciones voluntarias de los productos, los evaluadores a su vez son evaluados por un sistema de votación en el que participa la comunidad de clientes. El sistema de Amazon no solo rankea por mayoría de votos sino que también registra el efecto llamado "sabiduría de las multitudes" y otros como los sesgos.

En el año 1906, en una granja de Plymouth, Inglaterra, Sir Francis Galton hizo un experimento muy simple pero de resultados importante para la estadística. El experimento de Galton consistió en juntar a 787 personas comunes y corrientes y pedirles que escribieran su estimación sobre el peso de un buey que estaba a la vista de todos. Cada persona miraba al buey, escribía en un papel su peso estimado y lo echaba en una urna.

 Entre los que estimaban el peso habían unos cuantos granjeros y carniceros, pero la gran mayoría eran personas comunes y corrientes que no tenían idea de como estimar el peso de un buey. Contra la intuición, el peso promedio estimado fue de 1187 libras, mientras que el peso real del buey eran 1198 libras, o sea una exactitud del 99.92%. Y esto no se debió a una coincidencia, porque el experimento se ha repetido innumerables veces desde entonces con resultados similares. Esto dio origen a un principio matemático llamado "la sabiduría de las multitudes". El paper original, Vox Populi, de Francis Galton en la revista Nature lo pueden leer aquí.

 Y tiene una explicación matemática, en palabras simples se puede decir que -si se cumplen ciertas condiciones- las estimaciones de una multitud ignorante serán más acertadas que las de expertos, porque los errores de sub estimación y sobre estimación tienden a compensarse convergiendo el promedio al valor correcto. Las condiciones que deben cumplirse para que esto ocurra son tres:

1.-Definición exacta de la pregunta (con una respuesta exacta, objetiva)
2.-Las estimaciones deben ser completamente independientes y sin sesgo (no deben haber influencias mutuas ni ideas preconcebidas)
 3.-Una cantidad de estimaciones independientes lo suficientemente grande (un problema importante es que significa exactamente "suficientemente grande")

Si las multitudes ignorantes son sabias porque los errores se compensan ¿por que entonces es tan malo el desempeño de las democracias? Creo que es obvio que la condición (2) no se cumple en ninguna de sus dos partes, eso explica por que la sabiduría de las multitudes no funciona en la política.

En este link por ejemplo aparece una página de Amazon con la cámara fotográfica de mis sueños, y al lado del producto se muestran las estrellas de recomendación y un número.

Esta cámara en particular ha obtenido 4 de 5 estrellas y ha sido revisada por 41 clientes. Todo eso es muy sencillo, las 4 estrellas son el puntaje promedio, redondeado, de los 41 puntajes. El problema es si yo quiero compararla con -digamos- la Nikon D3100, que tiene un precio similar, también tiene 4 de 5 estrellas pero la evaluaron 425 personas.

 Intuitivamente podemos pensar que un puntaje de 4 sobre 425 revisiones es mejor que el puntaje de 4 con 41 revisiones y mucho mejor que un puntaje de 4 con -digamos- 2 revisiones. ¿pero que hay de una cámara que tenga un puntaje de 3 pero con 10000 revisiones?. Es un problema de ranking análogo al que tiene Google para ordenar los resultados de búsqueda, no hay un solo criterio sino varios que se manejan siguiendo algún sofisticado análisis matemático.

En esta página, que hace un ranking de todas las cámaras fotograficas veremos que no están ordenadas simplemente por el puntaje obtenido sino por un algoritmo que considera el puntaje y la cantidad de evaluaciones además de otros factores.

Las estimaciones se pueden modelar con la siguiente fórmula:

yi(x)=x+Ei(x)

Donde yi(x) es la estimación, x el valor real y Ei(x) el error de cada estimación. Existe el promedio de los errores de quienes hacen las estimaciones que -usando el error cuadrático medio- se define por

Eae=1/N*(SUMi...n(Ex(Ei^2(x)))

o sea la suma de todos los errores al cuadrado dividido por las N estimaciones. Pero también existe el error del promedio, que después de alguna manipulación  algebraica resulta en Eea=1/N*(Eae) o sea el error anterior dividido por las estimaciones y que normalmente es mucho menor que el error promedio de las estimaciones individuales.

El factor (1/N) que relaciona los errores promedio con el promedio del error es la expresión matemática de la "sabiduría de las multitudes", como N es el número de personas que hacen la estimación, se puede ver que si N es muy grande el error promedio disminuye. A mayor N menor error promedio, asumiendo que las estimaciones son independientes y sin sesgo, por lo que los errores individuales estarán bien distribuídos.

Este concepto se usa para una controvertida rama de las estadísticas llamada "estimación Bayesiana", que asume que la historia pasada da información acerca del futuro, independiente del conocimiento que tengamos del fenómeno. Estas estimaciones bayesianas las hacemos todo el tiempo, Bayes continuó el trabajo de Laplace quien plenteó el siguiente problema "si durante los miles de años que se tiene registro, todos los días ha salido el sol ¿cual es la probabilidad que eso ocurra mañana?"

Desde la estadística clásica en estado de ignorancia, que un evento se haya repertido muchísimas veces no entrega información, bien podría no salir el sol mañana aunque haya salido durante cien millones de días. Ambas estimaciones tienen fundamentos conceptuales filosóficamente diferentes.

Según la estadística clásica si yo tengo una secuencia de n experimentos y s veces yo obtengo un cierto resultado, digamos "1" ¿cual es la probabbilidad de que en el siguiente obtenga 1? Según la estadística clásica la probabilidad sería exactamente s/n, pero el punto de vista bayesyano dice que también depende de cuantas veces se haya obtenido ese valor antes, y después de algo de cálculo integral se llega a una solución muy sencilla que incorpora esta "historia" y la estimación bayesiana quedaría  (s+1)/(n+2).

Se introduce un factor que hace que la probabilidad de que algo ocurra se mueva en una zona entre el valor de algo que nunca ha ocurrido antes hasta algo que ha ocurrido muchísimas veces. Así es como se incluye la sabiduría de las multitudes al cálculo de los rankings de Amazon.

Claro que el algoritmo exacto es un secreto de Amazon, pero mediante ingeniería reversa se ha podido determinar que se basa en el promedio de los puntajes, ajustado por una estimación Bayesiana, más unos bias dependientes de la calidad de los revisores y de las veces que se reporta que el artículo ha salido malo dentro de los primeros 30 días. Con algo de ingeniería reversa observando los rankings se encuentra que Amazon probablemente incorpora el factor bayesiano en una fórmula como esta:

BayesianoAmazon= (Nprom*R+ni*ri)/(Nprom+ri)

Para una estimación bayesiana el valor de N es el total de las observaciones pero también puede ser un Nmin, un Nmax o un Npromedio. Amazon usa un Nprom o Nmax. R es el promedio de todas las puntuaciones, ni es el promedio de estimaciones del item i y ri la puntuación promedio del item i.

Esto, como todas las demás cosas que hemos visto en el curso, no solo tiene que ver con el problema específico de Amazon, sino que con el problema general de construir rankings e incorporar la "sabiduría de las multitudes" a las estimaciones, ambas cosas fundamentales en muchos problemas de economía de redes.

5 comentarios:

  1. Buenos días Thomas. Realmente no hablan español, pero utiliza Google Translate y algo de sentido común para traducir sus comentarios al Inglés. Espero que eso está bien! Estoy aquí: cgbikes.blogspot.com

    Recommendations from Amazon's online store are based on a voting system from customers who voluntary assess products. Evaluators are themselves evaluated by a voting system in which the customer community participates. The Amazon system ranks not only by majority vote but also records the effect called "wisdom of crowds" and other such biases.

    In 1906, on a farm in Plymouth, England, Sir Francis Galton did a very simple experiment that became important to the science of statistic. Galton's experiment was to gather 787 ordinary people and ask them to write their estimate of the weight of an ox. Everyone viewed the ox then wrote their estimate of the weight on a paper and threw the paper in an urn.

    Among those who had guessed the weight were a few farmers and butchers. But most were ordinary people who had no idea how to estimate the weight of an ox. Against intuition, the estimated average weight was 1187 pounds, while the actual weight of the ox was 1198 pounds, or 99.92% of accuracy. And this was not due to a coincidence, because the experiment has been repeated countless times since then with similar results. This gave rise to a mathematical principle called "wisdom of crowds". The original paper, Vox Populi, of Francis Galton in Nature can read here.

    This has a mathematical explanation. We can say that, if certain conditions are met, the estimates of an ignorant crowd can be more successful than those of experts, because the errors of underestimation and overestimation tend to offset the average thus converging to a correct value. The conditions that must be met for this to occur are three:

    1.-There has to be a correct, objective answer
    2.-Estimates should be completely independent and unbiased (must not have mutual influence or preconceived ideas)
    3.-The number of independent estimates must be large enough (a major problem is that it means exactly "big enough")

    If ignorant crowds are wise because errors are compensated for then why is there bad performance in democracies? I think it's obvious that the condition (2) is not met in any of the two parties, that explains why the wisdom of crowds does not work in politics.

    This link shows an Amazon page with the camera of my dreams, and the product side shows the star of recommendation and a number.

    This particular camera has won 4 of 5 stars and has been reviewed by 41 customers. This is very simple, the 4 stars are the mean score, rounded, of the 41 scores. The problem is if I want to compare it to, say, the Nikon D3100, which has a similar price. The Nikon also has 4 of 5 stars but 425 people evaluated the product.

    Intuitively, we think that a score of 4 out of 425 reviews is better than the score of 4 out of 41 reviews and much better than a score of 4 to, say, 2 reviews. But what about a camera that has a score of 3 but with 10,000 reviews? Ranking is a problem analogous to the sort of Google search results, there is not one but several criteria that are managed according to some sophisticated mathematical analysis.

    ResponderEliminar
  2. It´s GREAT Cgbikes, your translation is very accurate thank you very much, I will add it to the english section I´m trying to make at:
    http://q20esp.blogspot.com/p/musings-on-20q.html

    Now I will check your blog Thanks a lot!

    ResponderEliminar
  3. La segunda parte...

    On this page, which does a ranking of all cameras, see that are not ordered simply for their scores but also by an algorithm that considers the score and the number of assessments and other factors.

    Estimates can be modeled with the following formula:

    yi (x) = x + Ei (x)

    Where yi (x) is the estimate, x the actual value and Ei (x) the error of each estimate. There is the average of the errors of those who make the estimates, using the mean square error, defined by

    Eae = 1 / N * (SUMi. .. n (Ex (Ei ^ 2 (x)))

    ie the sum of squared errors divided by the N estimates. But there is also the average error, which after some algebraic manipulation results in Eea = 1 / N * (EAE) that is divided by the above error estimates and is usually much smaller than the average error of the individual estimates.

    The factor (1 / N) which relates the mean errors with the average error is the mathematical expression of the "wisdom of crowds", and N is the number of people making the estimate, you can see that if N is very large the average error decreases. The higher N is the lower is the average error, assuming that the estimates are independent and unbiased, so that individual errors are well distributed.

    This concept is used for a controversial branch of statistics called "Bayesian estimation", which assumes that past history gives information about the future, we have independent knowledge of the phenomenon. The work of Thomas Bayes was continued by Pierre-Simon Laplace who posed the following problem, "If, during the thousands of years on record, we observe that every day the sun is out, what is the probability that the sun will also be out tomorrow?"

    In classical statistics we exist in a state of ignorance about future events. Even when an event is repeated many times we cannot deduce anything about the next event. Both estimates are philosophically different conceptual foundations.

    According to classical statistics if I have a sequence of n experiments and sometimes I get a certain result, say "1" what is the probability that you get a “1” the next time? According to the classical statistical probability it would be exactly s / n, but the in view of Bayes it also depends on how many times that value was obtained before. After some integral calculus leads to a simple solution that incorporates this " history" and Bayesian estimation would be (s +1) / (n +2).

    We introduce a factor that makes the probability of something happening to move in an area between the value of something that has never happened before to something that has happened many times. This is how the wisdom of the crowds is used to calculate the Amazon rankings.

    Of course, the exact algorithm is a secret of Amazon, but through reverse engineering the algorithm has been determined based on the average scores, adjusted by a Bayesian estimation, plus a bias dependent on the quality of the reviewers. With some reverse engineering rankings noting that Amazon probably incorporates the Bayesian factor in a formula like this:

    BayesianoAmazon = (R + Nprom * or * ri) / (Nprom + ri)

    For a Bayesian estimation value N is the total number of observations but can also be a Nmin, Nmax or Npromedio one. Amazon uses a Nprom or Nmax. R is the average of all the scores, and is the average estimates of item i and ri the average score of item i.

    This, like everything else we've seen in the course, not only has to do with the specific problem of Amazon, but with the general problem of constructing rankings and incorporating the "wisdom of crowds" to estimates, both are fundamental problems in the network economy.

    ResponderEliminar
  4. You really wrote some parts better than me :) It was a nice job and I sincerely thank you, I wonder how you translated so well just using Google translator, I wouldn´t be able

    ResponderEliminar
  5. By the way Prof. Chiang suggested me to publish at Q20 blog, I entered to Wordpress but I was unabled to figure how to post an article, maybe we may do a joint venture to publish in English

    ResponderEliminar