Es bien sabido que python posee una poderosa librería para generar números y distribuciones aleatorias. En este post explicaremos como generar números que siguen una distribución uniforme, una distribución gaussiana o normal y una distribución de pareto.
Adicionalmente, utilizaremos parte de lo aprendido en el post:
para graficar los histogramas de los datos generados.
Necesitaremos tener instalada la librería matplotlib, y utilizaremos adicionalmente la librería random que biene por defecto con python.
Pasamos entonces a mirar el código que nos permitirá hacer todo lo comentado anteriormente:
# -*- coding: utf-8 -*-"""Creado por: Alejandro J. Alvarez S.19 de Junio de 2012"""import random as rfrom matplotlib.pylab import hist, show, figureuniforme=[] # Distribución uniforme entre 0 y 1gaussiana=[] # Distribución Gaussiana, con centro 0 y desviación estándar 1pareto=[] # Distribución de pareto, con parametro de forma alpha=3/2numiter=100000bins=100for i in range(numiter):uniforme.append(r.uniform(0,1))gaussiana.append(r.gauss(0,1))pareto.append(r.paretovariate(2.5))figure()h1=hist(uniforme,bins)figure()h2=hist(gaussiana,bins)figure()h3=hist(pareto,bins,(0,10))show()
Observese que se crearon tres listas para guardar los numeros que siguen los tres tipos de distribuciones que deseamos simular. numiter es el número de iterados y bins, es el numero de partes en las que dividiremos el espacio muestral. Finalmente se crean tres figuras a partir de la data generada con el comando hist. por último, utilizamos la instrucción show() para mostrar en pantalla cada una de las figuras.
El resultado final es el siguiente:
Espero que este post les sea de utilidad.
Si te ha gustado este artículo, compártelo en facebook, twitter,
google+, coméntalo, envíalo por correo, y si quieres mas información,
pídela. Si no te gusta, critícalo. Tu tienes completo control sobre
los contenidos de este blog.