Distribución Zipf en NumPy

La distribución de Zipf , también conocida como la ley de Zipf, es un tipo de distribución de probabilidad discreta que se utiliza comúnmente para modelar datos en diversas áreas, como lingüística, ciencias sociales y muchas otras. Esta distribución se caracteriza por la ley de Zipf, que establece que la frecuencia de un elemento es inversamente proporcional a su rango. En otras palabras, algunos elementos son muy comunes, mientras que la mayoría de los elementos son raros. Esta distribución es útil para modelar la distribución de popularidad en grandes conjuntos de datos.

Esta lección introduce una librería o módulo usado en ciencia de datos con Python. Instálalo con pip en local; en el editor de The Data Schools muchas ya vienen precargadas.

Importa, ejecuta el ejemplo mínimo y solo después pasa a casos más complejos.

En NumPy, puedes generar datos que sigan una distribución Zipf utilizando la función numpy.random.zipf .


Ejemplo de Distribución Zipf en NumPy

Ejemplo

    import numpy as np
rng = np.random.default_rng(1)
print(rng.zipf(2.5, 6))
  

distribución Zipf en NumPy:

  • Importa las bibliotecas necesarias, incluyendo NumPy y Matplotlib.
  • Define el parámetro de forma a , que debe ser mayor que 1. Este parámetro controla la forma de la distribución Zipf.
  • Especifica el tamaño de la muestra que deseas generar ( size ).
  • Genera una muestra de datos Zipf utilizando numpy.random.zipf con el parámetro de forma a y el tamaño de la muestra size .
  • Grafica un histograma de la muestra utilizando matplotlib para visualizar la distribución de los datos.
  • Calcula la probabilidad teórica de la distribución Zipf para compararla con la muestra generada.
  • Grafica la probabilidad teórica de Zipf junto con el histograma de la muestra para visualizar cómo se ajusta la distribución.

Esta lección proporciona una introducción básica a la generación y visualización de datos que siguen una distribución Zipf en NumPy. Puedes ajustar el parámetro de forma a y el tamaño de la muestra según tus necesidades.

Practica Distribución Zipf en NumPy en el editor

Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.

Ejercicio: Números aleatorios

En NumPy, puedes generar datos que sigan una distribución Zipf utilizando la función numpy.random.zipf.

Ejemplo

    import numpy as np

muestra = np.random.zipf(a=2.0, size=8)
print(muestra)
  
Abrir en editor

Ejercicio: Muestra aleatoria Zipf

Genera datos con np.random.zipf y resume el resultado.

Ejemplo

    import numpy as np
print(np.random.zipf(1.5, size=5))
  
Abrir en editor

Ejercicio: Frecuencias de una muestra Zipf

Cuenta cuántas veces aparece cada valor en la muestra.

Ejemplo

    import numpy as np
rng = np.random.default_rng(1)
print(rng.zipf(2.5, 6))
  
Abrir en editor

Cómo practicar

1. Pulsa Ejecutar en el bloque de código.
2. Modifica un valor o argumento.
3. Vuelve a ejecutar y observa la consola.