Presentación de PowerPoint -...

29
Sesión 013. “El árbol no me deja ver el bosque: Clasificación y Selección de Variables de Interés” 1480-Técnicas Estadísticas en Investigación de Mercados Grado en Estadística empresaria Curso 2012-13 – Segundo semestre Profesor: Xavier Barber i Vallés Departamento: Estadística, Matemáticas e Informática

Transcript of Presentación de PowerPoint -...

Page 1: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Sesión 013. “El árbol no me deja ver el bosque: Clasificación y Selección de Variables de Interés”

1480-Técnicas Estadísticas en Investigación de Mercados Grado en Estadística empresaria Curso 2012-13 – Segundo semestre Profesor: Xavier Barber i Vallés Departamento: Estadística, Matemáticas e Informática

Page 2: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

La naturaleza está viva…

Deja que los datos te hablen…

Page 3: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Índice

• Definición de Árbol • Árboles frente a Logística

– Ventajas y Desventajas

• Diferentes tipos • Diferentes tipos de Modelos

– Índice Gini – Selección de Recursiva: CART

• En R: rpart() & ctree()

Page 4: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Los “Tree Models” • Habitualmente llamados como:

– Árboles de Decisión, – o simplemente Árboles

• Son métodos para modelizar la predicción.

• Un ejemplo clásico es “Considerar una regla para decidir que tarjeta de crédito ofrecer al cliente”: – Interés inferior al 25% – Meses de carencia de pago >1 – Salario mensual superior a 3000€ – Si ya dispone de alguna trarjeta similar

Page 5: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

El Algoritmo de búsqueda

• Para crear un árbol usaremos un algoritmo basado en la información de los datos.

• El algoritmo de búsqueda para la regla de decisión se basa en la variables predictoras para progresivamente dividir los “casos” en pequeños grupos “afines”. – Los grupos finales los llamamos “hojas”.

Page 6: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Tree vs. Logistic

1. Ambos modelos necesitan información histórica, variables predictoras y una variable OBJETIVO (Target) binaria.

2. Ambos algoritmos usan información histórica para crear (estimar) el modelo que relaciona a los predictores con el Target.

3. Los modelos de regresión necesitan de una formula algebraica, mientras que los Árboles son una secuencia de reglas.

Page 7: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Tree vs. Logistic

4. Uno y otro modelo, una vez generado, puede usar un nuevo caso para predecir el comportamiento de la variable Target.

5. El modelo de regresión calcula la probabilidad de que una variable target tome un valor “bueno” para ese caso. Se utilizarán estas probabilidades para dividir en dos grupos.

6. El modelo de Árbol puede saignar directamente un nuevo caso al grupo del Target.

Page 8: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Ventajas y Desventajas

• La interpretación del calibrado del árbol es muy sencilla, siendo muy útil su uso para audiencias no especializadas.

• Es más flexible que la regresión logística en las asunciones para su ajuste, y se ve menos afectado por los valores perdidos.

• Pero los modelos de regresión pueden detectar efectos más débiles con un número menor de datos

Page 9: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Diferentes tipos de modelos

Los algoritmos varian según su características, incluyendo el tipo de objetivo , manejando la complejidad de las ramas. Utilizaremos la librería de R, rpart (recursive partitioning) (Venables and Ripley 2002). Tambien se utilizarán las librerias party y party.

Page 10: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Índice Gini

Definimos PL y PR como las proporciones de el nodo original en la derecha y en la izquierda, cuyo resultado es: Definimos la proporción de un tipo (1) dentro de los subnodos derecho e izquierdo como pL y pR, dados por Definimo el Índice Gini como (medida de cambio impurea al resultado al particionar los datos)

//SíL R NoP n N P n N= =

1 1/ /X A X BL Si R Nop n n p n n= =

( )(1 ) ) )( (1L L L R R RP p P p pp − + −

Page 11: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Selección recursiva

Y=Sí o Y=No

X1=A y Y=Sí

etc. etc.

X1=B y Y= NO

etc.

Page 12: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Reglas de Parada • Todos los casos en un nodo tienes igual valor para los

predictores • La “profundidad” del árbol sobrepasa el máximo

establecido. • El tamaño del nodo es más pequeño que el mínimo

establecido. • El corte de un nodo va a provocar un tamaño menor

del establecido. • El nodo se convierte en “puro”. • … Y algunas relacionas con estás mismas

Page 13: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Validación del resultado: Cross-Validation y Random Forest

• Como en los métodos de regresión es muy importante validar el modelo: – Particionar la base de datos en dos y utilizar uan

para Estimar y otra para Validar – Realizar una validación cruzada (ajustar tantos

modelos como Datos, eliminando el dato i-ésimo en el modelo i-ésimo).

– Utilizando Random Forest (próxima Sesión)

Page 14: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

MÁS ALGORITMOS, MÁS MEDIDAS DE EFICIENCIA

Page 15: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos
Page 16: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos
Page 17: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos
Page 18: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

CLASIFICANDO EN R

Page 19: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Reseña Histórica. Análisis y decisión (www.analisisydecision.es) Formación para la óptima gestión de la información:

…… Tanto el programa comercial CART como la función rpart() están basados en el libro Classification and Regression Trees. Como lector y revisor de alguno de sus primeros borradores, llegué a dominar la materia. CART comenzó como un enorme programa en Fortran que escribió Jerry Friedman y que sirvió para contrastar las ideas contenidas en el libro. Tuve el código durante un tiempo y realicé algunos cambios, pero me resultó demasiado frustrante el trabajar con él. Fortran no es el lenguaje adecuado para un algoritmo recursivo [...]. Salford Systems adquirió los derechos de dicho código e ignoro si alguna de las líneas origininales permanecen en él todavía. Mantuve muchas conversaciones con su principal programador (hace 15 o 20 años) sobre procedimientos para hacerlo más eficiente, esencialmente un problema interesante de indexación óptima.

….. Rpart se llama rpart porque los autores registraron comercialmente el término CART. Era la mejor alternativa que se me ocurrió entonces. Me parece curioso que una de las consecuencias de haber registrado "CART" es que ahora se utilice "particionamiento recursivo" mucho más a menudo que CART como nombre genérico para los métodos basados en árboles.

Page 20: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

rpart() libraryry(rpart) ### recuperamos los datos del CCS data(CCS, package="BCA") #### Seccionamos la muestra para evitar problemas de overfitting CCS$Sample <- create.samples(CCS, est = 0.34, val = 0.33, rand.seed = 1) tree1CCS<-rpart(MonthGive ~ Age20t29 + Age70pls + AveDonAmt + AveIncEA + DonPerYear + EngPrmLang + FinUnivP + LastDonAmt + Region + YearsGive, data=CCS[CCS$Sample=="Estimation",], method="class") print(tree1CCS) ################### El gráfico ############### par(mar = rep(0.1, 4)) plot(tree1CCS) text(tree1CCS, cex=0.8)

Page 21: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

rpart() > print(tree1CCS) n= 544 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 544 264 No (0.5147059 0.4852941) 2) AveDonAmt< 11.45833 166 28 No (0.8313253 0.1686747) * 3) AveDonAmt>=11.45833 378 142 Yes (0.3756614 0.6243386) 6) DonPerYear< 0.5227273 206 93 Yes (0.4514563 0.5485437) 12) DonPerYear>=0.08712121 192 93 Yes (0.4843750 0.5156250) 24) Age20t29< 0.110101 98 41 No (0.5816327 0.4183673) 48) EngPrmLang< 0.9751829 59 18 No (0.6949153 0.3050847) 96) AveDonAmt< 62.91667 48 11 No (0.7708333 0.2291667) * 97) AveDonAmt>=62.91667 11 4 Yes (0.3636364 0.6363636) * 49) EngPrmLang>=0.9751829 39 16 Yes (0.4102564 0.5897436) * 25) Age20t29>=0.110101 94 36 Yes (0.3829787 0.6170213) 50) LastDonAmt< 17.5 13 3 No (0.7692308 0.2307692) * 51) LastDonAmt>=17.5 81 26 Yes (0.3209877 0.6790123) 102) YearsGive< 2.5 15 5 No (0.6666667 0.3333333) * 103) YearsGive>=2.5 66 16 Yes (0.2424242 0.7575758) * 13) DonPerYear< 0.08712121 14 0 Yes (0.0000000 1.0000000) * 7) DonPerYear>=0.5227273 172 49 Yes (0.2848837 0.7151163) 14) AveIncEA>=54376.5 72 29 Yes (0.4027778 0.5972222) 28) AveIncEA< 69546 42 18 No (0.5714286 0.4285714) 56) LastDonAmt< 27.5 24 5 No (0.7916667 0.2083333) * 57) LastDonAmt>=27.5 18 5 Yes (0.2777778 0.7222222) * 29) AveIncEA>=69546 30 5 Yes (0.1666667 0.8333333) * 15) AveIncEA< 54376.5 100 20 Yes (0.2000000 0.8000000) *

Page 22: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

rpart()

|AveDonAmt< 11.46

DonPerYear< 0.5227

DonPerYear>=0.08712

Age20t29< 0.1101

EngPrmLang< 0.9752

AveDonAmt< 62.92

LastDonAmt< 17.5

YearsGive< 2.5

AveIncEA>=5.438

AveIncEA< 6.955e+04

LastDonAmt< 27.5

No

No YesYes No

No Yes

Yes

No Yes

Yes

Yes

Page 23: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

rpart() > printcp(tree4CCS) Classification tree: rpart(formula = MonthGive ~ AveIncEA + DonPerYear + Log.AveDonAmt + NewRegion + Log.LastDonAmt, data = CCS[CCS$Sample == "Estimation", ], method = "class") Variables actually used in tree construction: [1] AveIncEA DonPerYear Log.AveDonAmt Log.LastDonAmt NewRegion Root node error: 264/544 = 0.48529 n= 544 CP nsplit rel error xerror xstd 1 0.356061 0 1.00000 1.00000 0.044155 2 0.020202 1 0.64394 0.64773 0.041016 3 0.017677 5 0.55682 0.64773 0.041016 4 0.010000 8 0.50379 0.62879 0.040681

• rel error= rel error(before) - (nsplit - nsplit(before)) * CP(before); where (before) always denotes the entry in the row above.

• xerror=The xerror column contains of estimates of cross-validated prediction error for different numbers of splits.

• xstd= standard errors of those estimates

Page 24: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

party() & partykit() > tree1<-(MonthGive ~ Age20t29 + Age70pls + AveDonAmt + AveIncEA + + DonPerYear + EngPrmLang + FinUnivP + LastDonAmt + Region + YearsGive) > > tree1CCS<-ctree(tree1, data=CCS[CCS$Sample=="Estimation",]) > tree1CCS Conditional inference tree with 5 terminal nodes Response: MonthGive Inputs: Age20t29, Age70pls, AveDonAmt, AveIncEA, DonPerYear, EngPrmLang, FinUnivP, LastDonAmt, Region, YearsGive Number of observations: 544 1) AveDonAmt <= 11.25; criterion = 1, statistic = 40.318 2) AveDonAmt <= 5.25; criterion = 0.991, statistic = 11.024 3)* weights = 78 2) AveDonAmt > 5.25 4) YearsGive <= 1; criterion = 0.964, statistic = 8.446 5)* weights = 18 4) YearsGive > 1 6) DonPerYear <= 0.5714286; criterion = 0.989, statistic = 10.719 7)* weights = 59 6) DonPerYear > 0.5714286 8)* weights = 11 1) AveDonAmt > 11.25 9)* weights = 378

Page 25: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

party() & partykit() AveDonAmtp < 0.001

1

11.25 11.25

AveDonAmtp = 0.009

2

5.25 5.25

n = 78y = (0.936, 0.064)

3YearsGivep = 0.036

4

1 1

n = 18y = (0.389, 0.611)

5DonPerYearp = 0.011

6

0.571 0.571

n = 59y = (0.898, 0.102)

7n = 11y = (0.455, 0.545)

8

n = 378y = (0.376, 0.62

9

Page 26: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Log.AveDonAmt

1

< 2.52225 >= 2.52225

n = 166

Yes

No

00.20.40.60.81

DonPerYear

3

< 0.52273 >= 0.52273

DonPerYear

4

>= 0.08712 < 0.08712

NewRegion

5

Other VanFraser

n = 98

Yes

No

00.20.40.60.81

Log.LastDonAmt

7

< 2.1719>= 2.1719

n = 7

Yes

No

00.20.40.60.81 n = 87

Yes

No

00.20.40.60.81 n = 14

Yes

No

00.20.40.60.81

AveIncEA

11

>= 54376.5< 54376.5

AveIncEA

12

< 69546 >= 69546

Log.LastDonAmt

13

< 3.34604>= 3.34604

n = 24Y

esN

o

00.20.40.60.81 n = 18

Yes

No

00.20.40.60.81 n = 30

Yes

No

00.20.40.60.81 n = 100

Yes

No

00.20.40.60.81

partykit()

library(partykit) plot(as.party(tree4CCS), tp_args= list(id=FALSE))

Page 27: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Seguimos trabajando…

Habrá que leer algo para terminar de entender esto.

Page 29: Presentación de PowerPoint - UMHumh1480.edu.umh.es/wp-content/uploads/sites/44/2013/02/teim_sesion_13b.pdf · – Árboles de Decisión, – o simplemente Árboles • Son métodos

Y un buen resumen

Un buen resumen lo vamos a encontrar en : http://www.statmethods.net/advstats/cart.html Y en HSUAR