conceptos estadísticos para la modelación predictiva
TRANSCRIPT
Probabilidad y Estadıstica:Conceptos Estadısticos paraModelacion Predictiva
Dr. Juliho Castillo22 de octubre de 2017
Universidad LaSalle Oaxaca
1
1 Objetivos
2 Muestreo aleatorio y teorema del lımite central
3 Pruebas de hipotesis
4 Estadısticos Z y t
5 Intervalos de confianza, niveles de significacion y valore p
6 Una guıa paso a paso para realizar una prueba de hipotesis
7 Un ejemplo de la prueba de hipotesis
8 Prueba χ−cuadrada
9 Correlacion
10 Recursos
2
Conceptos Estadısticos Importantes
1 Pruebas de hipotesis.2 p−valores.3 Distribucion normal.4 Correlacion.
3
Objetivos
4
Muestreo aleatorio y teorema del lımite central
Entender el concepto de muestreo aleatorio a traves deejemplos e ilustrar las aplicaciones del teorema del lımitecentral. Estos dos conceptos son la columna vertebral de laspruebas de hipotesis.
5
Pruebas de hipotesis
Entender el significado de los terminos tales como hipotesisnula, hipotesis alternativa, intervalos de confianza,p−valores, nivel de significacion, etc. Desarrollaremos unaguıa de la implementacion de pruebas de hipotesis, seguidaspor un ejemplo.
6
Pruebas χ−cuadrada
Calcularemos el estadıstico χ-cuadrada y describiremos el usode pruebas χ-cuadrada con un par de ejemplos.
7
Correlacion
Entenderemos el significado y la significacion de la correlacionentre dos variables, de los coeficientes de correlacion ycalcularemos y visualizaremos la correlacion entre variables deuna base de datos.
8
Muestreo aleatorio y teoremadel lımite central
9
Ejemplo
Supongamos que tratamos de encontrar la edad promedio enuna ciudad, digamos Oaxaca. Una manera de hacerlo serıa porfuerza bruta, es decir, recolectando esta informacion personapor persona. Pero este metodo serıa muy costoso en terminosde infraestructura y tiempo.
10
En estadıstica, este es un problema comun, cuya solucion estaen el muestreo aleatorio: Tomemos un grupo de 1000individuos (o 10,000 dependiendo de tu capacidad, obviamenteentre mas, es mejor) y calculemos la edad promedio en estegrupo, a la que denotaremos por A1.
11
Repitamos este procedimiento, digamos 100 veces, ydenotaremos por A1, A2, ..., A100 el promedio de edadesobtenido en cada respectivo intento.
12
De acuerdo a la ley de los grandes numeros, la cantidad
A100 = A1 + ...+ A100
100 (2.1)
es una aproximacion muy cercana al promedio real de la edadde los pobladores de la ciudad.
13
De acuerdo al teorema del lımite central, si el numero detales muestras es suficientemente grande, entonces ladistribucion de estos promedios seguiran una distribucionnormal. Es decir, A1, A2, ..., A100 estaran distribuidos demanera normal.
14
Observacion: No estamos mas interesados en obtener elvalor exacto de la edad promedio, si no establecer unestimador para la misma. En tal caso, tenemos queconformarnos con la definicion de un rango de valores en elque el valor real podrıa estar.
Dado que hemos asumido una distribucion normal para losvalores de edad media de estos grupos, podemos aplicartodas las propiedades de una distribucion normal paracuantificar las probabilidades de que esta edad media seamayor o menor que un cierto numero.
15
Dado que hemos asumido una distribucion normal para losvalores de edad media de estos grupos, podemos aplicar todaslas propiedades de una distribucion normal para posibilidadesde que esta edad media sea mayor o menor que un ciertonumero.
16
Pruebas de hipotesis
17
El concepto que acabamos de comentar en la seccion anteriorse utiliza para una tecnica en estadıstica, llamada prueba dehipotesis. En la prueba de hipotesis, asumimos una hipotesis(generalmente relacionada con el valor del estimador)denominada hipotesis nula y tratar de ver si es cierto o noaplicando las reglas de una distribucion normal. Tenemos otrahipotesis llamada hipotesis alternativa.
18
Hipotesis nula vs. alternativa
Hay un truco para decidir cual sera la hipotesis nula y cualsera la hipotesis alternativa. La hipotesis nula es la premisainicial o algo que asumir que todavıa es cierto. La hipotesisalternativa es algo de lo que no estamos seguros y proponencomo premisa alternativa (casi con frecuencia contradictoria ala nula hipotesis) que podrıa o no ser cierto.
19
Por lo tanto, cuando alguien esta haciendo una investigacioncuantitativa para calibrar el valor de un estimador, el valorconocido del parametro se toma como hipotesis nula mientrasque el nuevo valor encontrado (de la investigacion) se tomacomo la hipotesis alternativa.
20
En nuestro caso (encontrar la edad media de nuestra ciudad),un investigador puede afirmar que la edad menor que 35. Estopuede servir como la hipotesis nula. Si una nueva agenciaafirma lo contrario (que es mayor que 35), entonces se puededenominar como la hipotesis alternativa.
21
Estadısticos Z y t
22
Suponga que el valor del parametro asumido en la hipotesisnula es Ao. Tomemos una muestra aleatoria de 100 o 1000personas o eventos del evento y calculemos la media delparametro, por ejemplo la edad promedio de una ciudad, eltiempo medio de suministro de la pizza, la media ingresos, etc.Podemos llamarlo A.
23
El estadıstico Z se calcula para convertir una variablenormalmente distribuida (la distribucion de la mediapoblacional de edad) a una distribucion normal estandar. Estoes porque los valores de probabilidad para una variable quesigue a la distribucion normal estandarizada se puede obtenerde una tabla precalculada.
24
El estadıstico Z se da por la siguiente formula:
Z = A− A0
σ/√n
(4.1)
donde σ es la desviacion estandar de la poblacion y n es elnumero de personas en la muestra
25
Ahora, debemos considerar dos casos
26
Prueba Z (distribucion normal)
El investigador conoce a desviacion estandar del parametro desu experiencia pasada. Un buen ejemplo de esto es el caso deltiempo de entrega de una pizza. En este caso (4.1) seguirauna distribucion normal y los valores normalizados seconoceran como valores Z.
27
Prueba t (distribucion t de Student
En este caso, el investigador no conoce la desviacion estandarde la poblacion. Esto puede pasar porque:
No existen tales datos en algun registro historico;o el numero de eventos o personas es demasiado pequenopara suponer una distribucion normal.
28
En este caso, la media y la desviacion estandar sondesconocidas, y la expresion asume una distribucion diferente ala normal llamada distribucion t de Student. El valorestandarizadas en este caso es llamado t−valor y la prueba esllamada prueba-t.
29
Distribucion t de Student
La distribucion de Student fue descrita en 1908 porWilliam Sealy Gosset. Gosset trabajaba en unafabrica de cerveza, Guinness, que prohibıa a susempleados la publicacion de artıculos cientıficosdebido a una difusion previa de secretos industriales.De ahı que Gosset publicase sus resultados bajo elseudonimo de Student.
Wikipedia: Distribucion t de Student
30
Figura 4.1: De The original uploader was Thorin de Wikipedia enfrances - Transferido desde fr.wikipedia a Commons., CC BY-SA1.0, https://commons.wikimedia.org/w/index.php?curid=1878902
31
Figura 4.2: De Desconocido, CC BY-SA 3.0,https://commons.wikimedia.org/w/index.php?curid=788691
32
Distribucion t en Python
from scipy import statsimport numpy as npimport matplotlib.pyplot as plt
def ft(x, nu):return stats.t.pdf(x, df=nu)
def Ft(x, nu):return stats.t.cdf(x, df=nu)
x = np.arange(-4,4,0.01)
33
Distribucion t en Python
yd = ft(x,30)yc = Ft(x,30)
fig, ax = plt.subplots()plt.plot(x, yd, ’r’, linewidth=2)plt.plot(x, yc, ’b’, linewidth=2)plt.ylim(ymin=0)plt.show()
34
35
El parametro df se le conoce como grados de libertad ygeneralmente se denota como ν (la letra nu griega).
36
Si una variable aleatoria X tiene distribucion t con ν gradosde libertad, entonces
µX = 0, σ2X = ν
ν − 2 (4.2)
37
Ejemplo 4.1.Consideremos una variable con distribucion t y ν = 9 gradosde libertad. Encuentre el valor de t para el cual el area a laderecha sea 0.05 pero el total del area sin sombrear sea 0.90.
38
tExample.py
from scipy import statsimport numpy as npimport matplotlib.pyplot as plt
def tp(x, nu):return stats.t.ppf(x, df=nu)
print tp(0.05, 9)##-1.83311293265print tp(1-0.05, 9)##1.83311293265
39
Varianza muestral
S2 =∑ (Ai − A0)2
n− 1 (4.3)
40
Estadıstico t
t = (A− A0)S/√n
(4.4)
41
Intervalos de confianza, nivelesde significacion y valore p
42
Figura 5.1: Una distribucion tıpica normal con valores p.
43
Supongamos que Z1 y Z2 son dos Z−estadısticoscorrespondientes a dos valores de una variable aleatoria y p1 yp2 son areas encerradas por la curva de densidad a la derechade esos valores.
En otras palabras
P (X > Z1) = p1 (5.1)P (X > Z2) = p2 (5.2)
44
Entonces, podemos definir un intervalo en el cual encontrar elvalor de una variable aleatoria, al cual llamaremos intervalode confianza.
45
Por ejemplo, para una distribucion normal con media µ ydesviacion estandar σ, el valor de la variable aleatoria estara enel intervalo [µ− 3σ, µ+ 3σ] con una confianza(probabilidad) del 99 %.
46
Para cualquier estimador (variable aleatoria) que tenga unadistribucion normal, uno puede definir un intervalo deconfianza si decidimos el nivel de confianza o probabilidad.
Podemos pensar en los intervalos de confianza como elumbral de los valores aceptados para sostener que la hipotesisnula es cierta
Si el valor del estimador vive en este rango, seraestadısticamente correcto decir que la hipotesis nula escorrecta.
47
Para definir un intervalo de confianza, se necesita definir antesun nivel (o probabilidad) de confianza. Esta probabilidadnecesita ser definida por el investigador dependiendo delcontexto.
48
Digamos que esta probabilidad es p. En general, utilizaremosel nivel de significacion
β = 1− p, (5.3)
que representa la probabilidad de que la hipotesis nula no seacorrecta.
β es definida por el investigador y usualmente esta en el ordende 0.01 a 0.1.
49
Un concepto importante que aprender aquı es el valor deprobabilidad o simplemente valor-p de un estadıstico: Es laprobabilidad de que una variable aleatoria asuma un valormayor al valor-Z (o al valor-t)
p− valor = P (X > Z) (5.4)
50
Figura 5.2: Una distribucion normal tıpica con p−valores y nivelde significacion.
51
Criterio
Aceptar la hipotesis nula y rechazar la alternativa sip− valor > β
Aceptar la hipotesis alternativa y rechazar la nula sip− valor < β
52
Debido a la simetrıa de la distribucion normal, existen trestipos de pruebas de hipotesis:
1 Cola izquierda;2 cola derecha;3 ambas colas.
53
Cola izquierda
Figura 5.3: Prueba de hipotesis: Cola izquierda
54
Cola derecha
Figura 5.4: Prueba de hipotesis: Cola derecha
55
Dos colas
Analizamos ambas colas y si en alguna de las dos colas, falla larespectiva prueba de hipotesis, la prueba de hipotesis serechaza.
56
Una guıa paso a paso pararealizar una prueba de hipotesis
57
Paso #1
Defina sus hipotesis nula y alternativa. Las hipotesis nulaes algo que ya se establece y se acepta como cierto, al cualdenotamos como H0. Tambien, suponemos que el valor delparametro en la hipotesis nula es A0.
58
Paso #2
Tome una muestra, digamos de unas 100 o 1000 personas oocurrencias de eventos, y calcule el valor del estimador (porejemplo, el promedio del parametro como es la edad promedio,el tiempo promedio de entrega de la pizza, ingreso promedio,etc.) Digamos que este valor fue Am.
59
Paso #3
Calcule el valor normal estandar del valor Z
Z = Am − A0
σ/√n
(6.1)
60
En la formula anterior, σ es la desviacion estandar de lapoblacion o ocurrencias de eventos y n es el numero depersonas en la muestra.
61
La probabilidad asociada con el valor Z calculada en el paso 3se debe comparar con el nivel de significacion de la prueba adeterminar si la hipotesis nula sera aceptada o rechazada.
62
Un ejemplo de la prueba dehipotesis
63
Planteamiento
Un famoso restaurante de pizza afirma que su tiempo deentrega es de 20 minutos, con una desviacion estandar de 3minutos.
Un investigador de mercados independiente afirma que ellosestan desinflando los numeros para ganar clientes y el tiempode entrega promedio es de hecho 21.2 minutos.
¿Es su afirmacion justificada o esta el negocio de pizzacorrecto en su afirmacion? Suponga un nivel designificacion del 5 %
64
Definamos las hipotesis nula y alternativa:
Lo que el negocio de pizzas afirma: H0 : A0 = 20.Lo que el investigador reclama: Ha : A0 > 20.Desviacion estandar (conocida): σ = 3.Tamano de la muestra: n = 64.Nivel de significacion: β = 0.05.
65
Calculemos el valor Z:
Z = 21.2− 203/√
64= 3.2
66
Denotemos por F la funcion de distribucion acumulativa deuna variable normal N(0, 1).
Calculamos el valor p correspondiente al valor Z = 3.2:
valor-p = 1− F (3.2)= 1− 0.999312862062= 0.000687137937916
67
Esto significa que si la media fuera A0 = 20, la probabilidad deque la media muestral fuera A = 21.2 es ≈ 0.069 %.
Como elegimos un nivel de significacion β = 5 %, y0.069 % < 5 %, podemos rechazar la hipotesis nulaH0 : A0 = 20.
68
Figura 7.1: La hipotesis nula se rechaza porque el p−valor esmenor al nivel de significacion β.
69
Prueba χ−cuadrada
70
La prueba χ2 se usa comunmente para comparar datosobservados vs datos esperados suponiendo que los datossiguen ciertas hipotesis.
71
Debemos suponer cierta hipotesis, la cual nuestros datosseguiran y calculamos los datos esperados de acuerdo a esahipotesis.
72
Debemos ya tener los datos observados, y calcular ladesviacion entre estos y los esperados usando el estadısticodefinido en la siguiente formula:
valor χ2:g =∑ (O − E)2
E, (8.1)
donde O es el valor observado y E el esperado, con la sumasobre todos los posibles datos.
73
Aplicaciones del estadıstico χ−cuadrada
La prueba de ji cuadrado se puede usar para hacer lo siguiente:
Mostrar una relacion causal o independencia entre unavariable de entrada y otra de salida.Verificar si los datos observados provienen de una fuentejusta / imparcial.Comprobar si los datos son demasiado buenos para serverdad.
74
Ejemplo
Realicemos un experimento hipotetico en el que una monedase lanza 10 veces.¿Cuantas veces espera obtener ya sea unaguila o un sol? La respuesta adecuada serıa 5. Ahora bien,¿que pasarıa si realizamos este experimento 1000 veces yregistramos los numeros de aguilas y soles.
75
Supongamos que observamos soles 553 veces y aguilas el restode ocasiones:
H0 : La proporcion de soles y aguilas es 0.5Ha : La proporcion no es 0.5
76
Soles AguilasObservado 553 447Esperado 500 500
77
Calculemos el valor χ2 :
g =
((553− 500)2 + (447− 500)5
)500 ≈ 11.236
78
Este valor−χ2 se compara al valor en una distribucion χ2
para un numero dado de grados de libertad y un nivel designificacion.
79
La Distribucion χ2
Sean X1, X2, ..., Xν variables aleatorias independientesN(0, 1). Consideremos la variable aleatoria
χ2 = X21 + ...+X2
ν (8.2)
a la que llamaremos chi cuadrada. Su correspondientedistribucion de probabilidad recibe el mismo nombre.
80
Propiedades de χ2
µ = ν, σ = 2ν (8.3)
81
scipy.stats.chi2
from scipy.stats import chi2import numpy as npimport matplotlib.pyplot as pltfig, ax = plt.subplots(1, 1)
df = 55
x = np.linspace(chi2.ppf(0.01, df),chi2.ppf(0.99, df), 100)
ax.plot(x, chi2.pdf(x, df),’r-’,lw=5, alpha=0.6, label=’chi2 pdf’)
82
Figura 8.1: Funcion de densidad de distribucion χ2 con ν = 55
83
statsChi2.py
from scipy.stats import chi2import numpy as npimport seaborn as snsimport matplotlib.pyplot as plt
sns.set_palette("husl")fig, ax = plt.subplots(1, 1)
for df in range(2,15+1):x = np.linspace(chi2.ppf(0.01, df),
chi2.ppf(0.99, df), 100)ax.plot(x, chi2.pdf(x, df), label=’chi2 pdf’)
84
85
Regresando a nuestro ejemplo...
El numero de grados de libertad es el numero de categorıasmenos uno. En nuestro ejemplo ν = 2− 1 = 1. Supongamosun nivel de significacion β = 0.05.
86
Figura 8.2: La hipotesis nula se rechaza porque el valor delestadıstico χ2 al nivel de significacion es menor que el valor delestadıstico.
87
Otro ejemplo
Examinemos otros ejemplo donde queremos demostrar que elgenero de un estudiante y las materias que escoge sonindependientes.
88
Otro ejemplo
Supongamos que un grupo de estudiantes, la siguiente tablarepresenta el numero de hombres y mujeres que tomanmatematicas, arte y comercio como sus materias principales.
89
Otro ejemplo
Matematicas Artes Comercio TotalHombres 68 52 90 210Mujeres 28 37 35 100Total 96 89 125 310
90
Si en la eleccion de las materias, no fuera relevante el genero,entonces el numero esperado de hombres y mujeres tomandodiferentes materias serıa
Matematicas Arte Comercio TotalNinosNinasTotal
91
Las desviaciones se calculan usando la formula (O − E)2/E:
Matematicas Arte Comercio TotalNinosNinasTotal
El estadıstico χ2 se obtiene al sumar todos estos valores.
92
Conclusiones (del profesor)
Como χ2 = 4.99 y el valor del estadıstico χ2 a un nivel sesignificacion es 11.07, la hipotesis nula se acepta.
De manera equivalente
valor-p = 1− Fχ2(4.99) = 0.416991040312 > β = 0.05,
obtenemos la misma conclusion:
La eleccion de materias es independiente del genero.
93
Correlacion
94
La correlacion es la premisa de la modelacion predictiva, en elsentido de que es un factor con base en el cual podemospredecir resultados.
95
Una buena correlacion entre dos variables sugiere que existeuna suerte de dependencia entre ambas: Si una cambia, la otratambien lo hara.
Podemos decir que una buena correlacion asegura una relacionmatematica entre dos variables y debido a esto, seremoscapaces de predecir su comportamiento.
96
La relacion puede ser de cualquier tipo. Si x y y son dosvariables correlacionadas, entonces podemos escribir:
Y = f(X)
97
Ejemplos de correlacion
Correlacion lineal
y = ax+ b
Correlacion exponencial
y = beax
98
Definicion de correlacion
En el caso discreto,
h =∑x,y ((x− x) (y − y))√∑
x,y (x− x)2∑x,y (y − y)2
[x], [y] son dos listas de datos con promedios x, yrespectivamente.
99
Propiedades de la correlacion
El valor del coeficiente de correlacion esta entre −1 y 1,es decir −1 ≤ h ≤ 1.Una correlacion positiva significa una relacion directaentre las dos variables.Una correlacion negativa significa una relacion inversaentre las dos variables.Entre mayor sea la magnitud del coeficiente, mas fuertesera la relacion entre variables.
100
¡Advertencia!
Aunque una correlacion fuerte sugiere algun tipo de relacionque puede ser utilizada para la prediccion del comportamientode una variable respecto de otra, esto no implica que dicharelacion sea el unico factor que explique dichocomportamiento.
101
Observacion: ¡Correlacion no implica causalidad!
102
Por ejemplo, existe una correlacion positiva muy fuerte entre elnumero de palabras que conoce un ser humano y el numero decalzado que utiliza... Pero esto esto se explica porque amedida que el ser humano crece, necesita zapatos mas grandesy aprende palabras nuevas.
¡No quiere decir que si utilizas un numero mas grandeseras mas culto!
103
Tratemos de entender mejor este concepto mirando una basede datos y tratando de encontrar una correlacion entre susvariables. La base de datos que estaremos observando es unamuy popular sobre los costos varios incurridos en publicidadpor diferentes medios y ventas de un producto enparticular.
104
Posteriormente, utilizaremos el metodo conocido comoregresion lineal para explorar estos mismo datos.Por ahora,importemos esta base de datos y calculemos los coeficientes decorrelacion:
105
advertising.py
#!/usr/bin/env python3# -*- coding: utf-8 -*-
import pandas as pd
advert = pd.read_csv("./dataBases/Advertising.csv")print(advert.head())
import numpy as np
106
advertising.py
advert["dX*dY"] = ( advert["TV"] -np.mean(advert["TV"])) * ( advert["Sales"]np.mean(advert["Sales"]))
advert["dX**2"] = ( advert["TV"] -np.mean(advert["TV"])) ** 2
advert["dY**2"] = ( advert["Sales"] -np.mean(advert["Sales"])) ** 2
sxy = advert.sum()["dX*dY"]sxx = advert.sum()["dX**2"]
107
advertising.py
syy = advert.sum()["dY**2"]
r = sxy/np.sqrt(sxx*syy)
108
runfile(’/home/jdk2py/[email protected]/2017-2_PE/PE_PYTHON/analisisPredictivo/advertising.py’,wdir=’/home/jdk2py/[email protected]/2017-2_PE/PE_PYTHON/analisisPredictivo’)
TV Radio Newspaper Sales0 230.1 37.8 69.2 22.11 44.5 39.3 45.1 10.42 17.2 45.9 69.3 9.33 151.5 41.3 58.5 18.54 180.8 10.8 58.4 12.9
109
advertising2.py
#!/usr/bin/env python3# -*- coding: utf-8 -*-
import pandas as pd
advert = pd.read_csv("./dataBases/Advertising.csv")print(advert.head())
import numpy as np
110
advertising2.py
def rCoef(df, var1, var2):df["dX*dY"] = (df[var1]-np.mean(df[var1]))*(df[var2]-np.mean(df[var2]))df["dX**2"] = (df[var1]-np.mean(df[var1]))**2df["dY**2"] = (df[var2]-np.mean(df[var2]))**2sxy = df.sum()["dX*dY"]sxx = df.sum()["dX**2"]syy = df.sum()["dY**2"]r = sxy/np.sqrt(sxx*syy)return r
111
advertising2.py
tvVsSales = rCoef(advert, "TV", "Sales")## 0.782224424862radioVsSales = rCoef(advert, "Radio", "Sales")## 0.576222574571
112
Figura 9.1: Matriz de correlacion
113
Veamos la naturaleza de esta correlacion graficando lasvariables TV, Radio y Newspaper vs Sales del data frameadvert.
114
tvVsSales.py
#!/usr/bin/env python3# -*- coding: utf-8 -*-
import pandas as pdadvert = pd.read_csv("./dataBases/Advertising.csv")
import matplotlib.pyplot as plt
plt.plot(advert[’TV’],advert[’Sales’],’ro’)
115
tvVsSales.py
plt.title(’TV vs Sales’)plt.show()
plt.plot(advert[’Radio’],advert[’Sales’],’ro’)plt.title(’Radio vs Sales’)plt.show()
plt.plot(advert[’Newspaper’],advert[’Sales’],’ro’)plt.title(’Newspaper vs Sales’)plt.show()
116
117
118
119
Recursos
120
analisisPredictivo
El repositorio con losscripts de Python 3 de esta presentacion los puede encontrar enhttps://github.com/julihocc/ulsaPye/tree/master/analisisPredictivo
121
Referencias
Murray Spiegel John Schiller, R. Alu Srinivasan,Probability and statistics, 4 ed., Schaum’s Outlines,McGraw-Hill Education, 2012.Ashish Kumar, Learning predictive analytics withpython, Packt, 2016.
Murray R. Spiegel, Estadıstica - schaum 2da edicion,2nd edition ed., McGraw-Hill Interamericana, 1991.
122