18 · Ley de potencia y Pareto
Distribuciones donde el ganador se lo lleva todo con varianza infinita — por qué el 20% de los usuarios genera el 80% de los ingresos y por qué la media muestral carece de sentido.
Las colas de ley de potencia (P(X > x) ∝ x^-α) son la firma de los fenómenos 'el ganador se lo lleva todo' — la Pareto es el caballo de trabajo.
Sin esto:
Sin ella, predecirías una 'renta media' que no se acerca nada a un ingreso típico, porque las colas de ley de potencia destruyen la media.
Una distribución de ley de potencia es aquella en la que la función de supervivencia (la CDF complementaria) decae como una potencia de x:
P(X > x) ∝ x^(−α) para x ≥ x_min, α > 0
El exponente α (alfa) es el índice de la cola — cuanto más pequeño sea α, más pesada es la cola.
La distribución de Pareto es la distribución de ley de potencia continua canónica: PDF: f(x) = α · x_min^α / x^(α+1) para x ≥ x_min
Pareto(b=α) en scipy usa el parámetro de forma b = α. El x_min predeterminado es 1.
Media y varianza:
- E[X] = α · x_min / (α − 1) cuando α > 1; infinita cuando α ≤ 1
- Var(X) = x_min² · α / ((α − 1)² · (α − 2)) cuando α > 2; infinita cuando α ≤ 2
Esto es crítico: cuando α ≤ 2, la varianza es infinita — la varianza muestral sigue creciendo a medida que recopilas más datos y nunca converge. Cuando α ≤ 1, incluso la media es infinita.
La regla 80/20 (principio de Pareto): Para una distribución de Pareto con α ≈ 1.16, el 20% superior de los valores de x representa el 80% de la "riqueza" total. Este es el famoso principio de Pareto — el 80% de los efectos proviene del 20% de las causas.
Diagnóstico log-log: Si P(X > x) ∝ x^(−α), entonces en un gráfico log-log: log P(X > x) = −α · log(x) + const → una línea recta con pendiente −α
Si la función de supervivencia de tus datos es lineal en un gráfico log-log, tienes una ley de potencia.
Python (in browser)
Pareto(α=1.5): media teórica = 3.0, pero la media muestral es ruidosa y el valor máximo es muy grande. Con α ≤ 2 la varianza es infinita — la media muestral converge muy lentamente (si es que lo hace) y la dispersión de la distribución está dominada por valores extremos raros.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
La función de supervivencia de Pareto P(X > x) es curva y difícil de interpretar en escala lineal (izquierda). En escala log-log (derecha) se convierte en una línea recta con pendiente −α = −1.5 — el diagnóstico definitivo de una ley de potencia. Abre /tmp/pareto.png para ver.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
La regla 80/20 emerge cerca de α≈1.16. Con α=1.5, el 20% superior aún posee una gran fracción. Con α=3.0 la cola es más ligera y la concentración es menos extrema. Compara con la distribución Normal donde la riqueza se distribuye mucho más uniformemente.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Las leyes de potencia están en todas partes donde opera un proceso competitivo o de efecto de red: riqueza, tamaño de ciudad, frecuencia de palabras, magnitud de terremotos, conteo de seguidores. Reconocer una cola de ley de potencia te impide confiar en la media muestral y te empuja hacia estadísticas basadas en la mediana o log-transformadas.
¿Por qué la media de una distribución Pareto(α=1) diverge?
- PDF de Pareto ∝ x^(−α−1); función de supervivencia P(X > x) ∝ x^(−α). Cuando α ≤ 2: la varianza es infinita. Cuando α ≤ 1: incluso la media es infinita.
- Gráfico log-log de la función de supervivencia: si es lineal con pendiente −α, tienes una ley de potencia. Este es el diagnóstico estándar.
- Nunca uses la media para resumir datos de ley de potencia cuando α ≤ 2 — está dominada por valores extremos atípicos y nunca se estabiliza. Usa la mediana o la transformación logarítmica.
Problemas de recomendación de cola larga (la mayoría de los ítems tienen pocas interacciones, unos pocos dominan); las frecuencias de palabras en NLP siguen la ley de Zipf (una ley de potencia discreta); el desequilibrio del conjunto de entrenamiento en clasificación a menudo tiene frecuencias de clase de ley de potencia.
Si lo quitas: Modelarías el 'comportamiento promedio del usuario' pero los sistemas reales están dominados por el comportamiento de los usuarios más activos.