Un poco de estadística

Antes de meternos a tratar el problema de clasificacion, vamos a ver unas cosas basicas de las gaussianas. Atravez de ellas vamos a entender algunos conceptos de la estadistica y la probabilidad.

En particular vamos a ver los conceptos de:

  • Tipos de aleatoredad.
  • Distribuciones normales o Gaussianas.
  • Que significa el promedio (mean) y la varianza/desviacion estandar (var/std)?
  • Que significa la sigmas para un experimento.

Primero las librerias


In [31]:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

Encuesta de edades

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 [32]:
Edades = np.array([10,15, 16, 17, 18, 19, 20, 21, 22, 23, 24,25,26,30,32,33,34,37,38])
Frecuencia = np.array([2,1,20,12,12,20,16,17,9,4,1,2,1,2,1,1,1,1,3])
print(sum(Frecuencia))
plt.bar(Edades, Frecuencia)
plt.show()


126

Distribución uniforme

Cacho!

Que otros feneomenos siguen una distribuicon uniforme?


In [40]:
x = np.random.rand(100)
sns.distplot(x,kde=False)
plt.xlim(0,1)
plt.show()


Distribución de Poisson

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


In [42]:
s = np.random.poisson(10,20000)
sns.distplot(s,kde=False)
plt.show()


Distribución normal

Distribución de tiempos de maraton para corredores de varias edades:

Cambia el numero de datos y ve que pasa:


In [ ]:
x=np.random.randn(50)
sns.distplot(x)
plt.show()

Una forma de automatizar esto es:


In [ ]:
numeros = [10,50,100,1000,10000]

for n in numeros:
    x = np.random.randn(n)
    sns.distplot(x)
    plt.title('n = %d'%n)
    plt.show()

Tambien podemos hacerlo de otra manera con np.random.normal() que tiene 3 argumentos:

  • loc, la locacion ... o mejor dicho el promedio.
  • scale, la escala ... o mejor dicho el la desviacion estandar.
  • size, o tamaño ... cuantos numeros vamos a generar.

In [47]:
numeros = np.random.normal(loc=2.0,scale=0.1,size=1000)
sns.distplot(numeros)
plt.xlim(0,4)
plt.show()


Que significa la desviacion estandar?

Y las sigmas!

$1 \sigma$ = 68.26%

$2 \sigma$ = 95.44%

$3 \sigma$ = 99.74%

$4 \sigma$ = 99.995%

$5 \sigma$ = 99.99995%

Actividades

Haz lo siguiente:

  • Crear 3 distribuciones variando promedio (mean)
  • Crear 3 distribuciones variando la desviacion estandar (std)
  • Crear 2 distribuciones con cierto sobrelape, es decir que se toquen

In [ ]:


In [ ]:

Campanas gaussianas en la Naturaleza

Examenes de salidad en prepas en Polonia:

Que podria ser esta desviacion?

Distribución normal en 2D


In [ ]:
x = np.random.normal(loc=2.0,scale=0.5,size=100)
y = np.random.normal(loc=2.0,scale=0.5,size=100)
plt.scatter(x,y,c='r',label='rojos')
plt.legend()
plt.show()

Actividades

Hacer:

  • Crear 3 distribuciones variando mean en una sola imagen.
  • Crear 3 distribuciones variando std en una sola imagen.
  • Crear 2 distribuciones con cierto sobrelape en una sola imagen.

Discussion

  • Como podemos extender esta idea de gaussianas a mas dimensiones?
  • Que significa el promedio y la desviacion estandar?
  • Que significa las sigmas?
  • Como se relaciona las sigmas con la precision de experimentos fisicos?
  • Y con el LHC?

In [ ]:


In [ ]: