Primero pimpea tu libreta!


In [2]:
from IPython.core.display import HTML
import os
def css_styling():
    """Load default custom.css file from ipython profile"""
    base = os.getcwd()
    styles = "<style>\n%s\n</style>" % (open(os.path.join(base,'files/custom.css'),'r').read())
    return HTML(styles)
css_styling()


Out[2]:

Un poco de estadística


In [9]:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

Hacemos dos listas, la primera contendrá las edades de los chavos de clubes de ciencia y la segusda el número de personas que tienen dicha edad


In [33]:
Edades = np.array([15, 16, 17, 18, 19, 20, 21, 22, 23, 24])
Frecuencia = np.array([10, 22, 39, 32, 26, 10, 7, 5, 8, 1])
print sum(Frecuencia)
plt.bar(Edades, Frecuencia)
plt.show()


160

Distribución uniforme

Lotería mexicana


In [35]:
x1=np.random.rand(50)
plt.hist(x1)
plt.show()


Distribución de Poisson

Número de solicitudes de amistad en facebook en una semana


In [49]:
s = np.random.poisson(5,20)
plt.hist(s)
plt.show()


Distribución normal

Distribución de calificaciones en un exámen


In [34]:
x=np.random.randn(50)
plt.hist(x)
plt.show()



In [36]:
x=np.random.randn(100)
plt.hist(x)
plt.show()



In [37]:
x=np.random.randn(200)
plt.hist(x)
plt.show()


Una forma de automatizar esto es:


In [38]:
tams = [1,2,3,4,5,6,7]

for tam in tams:
    numeros = np.random.randn(10**tam)
    plt.hist(numeros,bins=20 )
    plt.title('%d' %tam)
    plt.show()



In [ ]:
numeros = np.random.normal(loc=2.0,scale=2.0,size=1000)
plt.hist(numeros)
plt.show()

Probabilidad en una distribución normal

$1 \sigma$ = 68.26%

$2 \sigma$ = 95.44%

$3 \sigma$ = 99.74%

$4 \sigma$ = 99.995%

$5 \sigma$ = 99.99995%

Actividades

Grafica lo siguiente:

  • Crear 3 distribuciones variando mean
  • Crear 3 distribuciones variando std
  • Crear 2 distribuciones con cierto sobrelape

Campanas gaussianas en la Naturaleza

Examenes de salidad en prepas en Polonia:

Distribución normal en 2D


In [43]:
x = np.random.normal(loc=2.0,scale=2.0,size=100)
y = np.random.normal(loc=2.0,scale=2.0,size=100)
plt.scatter(x,y)
plt.show()


Actividades

  • Crear 3 distribuciones variando mean
  • Crear 3 distribuciones variando std
  • Crear 2 distribuciones con cierto sobrelape

In [ ]: