Cómo determinar la distribución que sigue un conjunto de datos

En Wolfram Language (WL) tiene una función dedicada FindDistribution, que se basa en algoritmos de aprendizaje automático. Puede darle muchas sugerencias para posibles modelos, que podrían servir como un excelente punto de partida si no es la solución real. Aquí hay un ejemplo de cómo funciona en el ejemplo de la ley Zipf. Comience desde un conjunto de datos, por ejemplo, cuente el número de apariciones de palabras en la Declaración de Independencia:

text = ExampleData [{“Text”, “DeclarationOfIndependence”}, “Words”];
wordCount = Tally [texto] [[Todos, 2]];

Entonces estimar la distribución del conteo de palabras es tan fácil como:

En [2]: = dist = FindDistribution [wordCount, MaxItems -> 1]
Fuera [2] = Distribución Zipf [1.63521]

Compare los histogramas de los datos originales con el PDF de la distribución estimada:

Mostrar[
Histograma [wordCount, {1,20,0.9}, “ProbabilityDensity”],
DiscretePlot [PDF [dist, x], {x, 1,20}, PlotStyle-> PointSize [Medium]]
]

Puedes probar este código gratis en:

Plataforma de desarrollo Wolfram (Open Cloud)

si no tienes Mathematica.

En Python pandas hay una función llamada cut y qcut … con parámetros como datos y bins.

Te quiero cuenta original ..
Da un contenedor para cada fila a la que pertenece.

Si desea el recuento total de cada contenedor … puede usar …
value_counts con función de corte como parámetro

Siga los enlaces a continuación para obtener más información …

pandas.cut – documentación de pandas 0.20.3

Si desea contar igual en todos los contenedores, use qcut

pandas.qcut – documentación de pandas 0.20.3

Para el recuento de muestras en cada contenedor:

pandas.Series.value_counts – documentación de pandas 0.20.3

Espero que esto te pueda ayudar …

Intente usar el histograma o una gráfica cuantil con muestras aleatorias de una distribución dada.