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 [ ]:
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 [ ]:
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()

Distribución uniforme

Cacho!

Que otros feneomenos siguen una distribuicon uniforme?


In [ ]:
x = np.random.rand(10)
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 [ ]:
s = np.random.poisson(2,2000)
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 [ ]:
numeros = np.random.normal(loc=2.0,scale=2.0,size=1000)
sns.distplot(numeros)
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 [ ]: