Intervalos de igual frecuencia en Python

Puedes opinar sobre este contenido:
  • 1
  • 0
  • 0
  • 0

Actualizado el 26 de julio de 2024, por Luis Benites.

En estadística, el binning es el proceso de colocar valores numéricos en bins .

La forma más común de agrupación se conoce como agrupación de igual ancho , en la que dividimos un conjunto de datos en k agrupaciones de igual ancho.

Una forma de agrupación menos utilizada se conoce como agrupación de igual frecuencia , en la que dividimos un conjunto de datos en k agrupaciones que tienen el mismo número de frecuencias.

Este tutorial explica cómo realizar agrupaciones de igual frecuencia en Python.

Intervalos de igual frecuencia en Python

Supongamos que tenemos un conjunto de datos que contiene 100 valores:

importar numpy como np importar matplotlib.pyplot como plt #crear datos np.random.seed (1) datos = np.random.randn (100) #ver

 datos de los 

primeros 5 valores

 [: 5]

matriz ([1.62434536, -0.61175641, -0.52817175, -1.07296862, 0.86540763])

Intervalos de igual ancho:

Si creamos un histograma para mostrar estos valores, Python usará agrupaciones de igual ancho de forma predeterminada:

#crear histograma con bandejas de igual ancho n, bins, parches = plt.hist (data, edgecolor = ‘black’) plt.show () #muestra los límites y la frecuencia de los contenedores por contenedor contenedores, m (matriz ([- 2.3015387, -1.85282729, -1.40411588, -0.95540447, -0.50669306, -0.05798165, 0.39072977, 0.83944118, 1.28815259, 1.736864, 2.18557541]), matriz ([3., 1., 6., 17., 19., 20., 14., 12., 5., 3.]))

Cada contenedor tiene un ancho igual de aproximadamente .4487, pero cada contenedor no contiene la misma cantidad de observaciones. Por ejemplo:

  • El primer intervalo se extiende desde -2,3015387 a -1,8528279 y contiene 3 observaciones.
  • El segundo intervalo se extiende desde -1,8528279 a -1,40411588 y contiene 1 observación.
  • El tercer intervalo se extiende desde -1,40411588 hasta -0,95540447 y contiene 6 observaciones.

Y así.

Intervalos de igual frecuencia:

Para crear bins que contengan un número igual de observaciones, podemos usar la siguiente función:

#define función para calcular bins de igual frecuencia def equalObs (x, nbin): nlen = len (x) return np.interp (np.linspace (0, nlen, nbin + 1), np.arange (nlen), np.sort (x)) #crear histograma con contenedores de igual frecuencia n, bins, parches = plt.hist (data, equalObs (data, 10), edgecolor = ‘negro’) plt.show () #muestra los límites y la frecuencia de los contenedores por contenedor contenedores, m (matriz ([- 2.3015387, -0.93576943, -0.67124613, -0.37528495, -0.20889423, 0.07734007, 0.2344157, 0.51292982, 0.86540763, 1.19891788, 2.18557541]), matriz ([10., 10., 10., 10., 10., 10., 10., 10., 10., 10.]))

Binning de igual frecuencia en el ejemplo de Python

Cada bin no tiene una anchura igual, pero cada bin hace contener una cantidad igual de observaciones. Por ejemplo:

  • El primer contenedor se extiende desde -2.3015387 a -0.93576943 y contiene 10 observaciones.
  • El segundo intervalo se extiende desde -0,93576943 hasta -0,67124613 y contiene 10 observaciones.
  • El tercer intervalo se extiende desde -0,67124613 a -0,37528495 y contiene 10 observaciones.

Y así.

Podemos ver en el histograma que cada contenedor claramente no tiene el mismo ancho, pero cada contenedor contiene la misma cantidad de observaciones, lo que se confirma por el hecho de que la altura de cada contenedor es igual.

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

A menudo, puede estar interesado en calcular la suma de una o más filas en un DataFrame de pandas. Afortunadamente,…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!