Conceptos Estadísticos para la Modelación Predictiva

Post on 28-Jan-2018

867 views 4 download

Transcript of Conceptos Estadísticos para la Modelación Predictiva

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/juliho.castillo@yahoo.com/2017-2_PE/PE_PYTHON/analisisPredictivo/advertising.py’,wdir=’/home/jdk2py/juliho.castillo@yahoo.com/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