Construyendo tu propia bola de cristal predicción de precios con machine learning

30
@rafbermude z #codemotion_es Rafael Bermúdez Míguez @rafbermudez [email protected] Construyendo tu propia bola de cristal: predicción de precios con machine learning MADRID · NOV 27-28 · 2015

Transcript of Construyendo tu propia bola de cristal predicción de precios con machine learning

Page 1: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

● Rafael Bermúdez Míguez ● @rafbermudez● [email protected]

Construyendo tu propia bola de cristal:predicción de precios con machine learning

MADRID · NOV 27-28 · 2015

Page 2: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Bolas de los deseos

Métodos de adivinación

De qué va esta película

• Estadística• Probabilidad• Imaginación• Producto

Page 3: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

GRACIAS

ETS Asset Management Factorywww.ets.es

www.otogami.com

http://www.runnics.com/

Page 4: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

El problema• Qué

• Predecir el precio de videojuegos• Cómo

• Data science• Por qué

• Aportar más valor a los usuarios/tiendas• Abrir nuevas líneas de negocio• Aprovechar los datos históricos

Page 5: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

CLASIFICAR pintarenblancopintarenblanco

clusterización

EXPLORAR Y PREPARAR

DATOS

limpieza y filtrado

Proceso

GENERAR MODELO Y VALIDAR

selección de atributos y modelo

predictivo

Page 6: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Por dónde empezamos

Page 7: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

MVP

• Modelo predictivo• Ajuste de tendencia• Precio mínimo

• Plataformas maduras• PS3 y Xbox360

• Series temporales completas

Page 8: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

1. Explorar y preparar datos

Page 9: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

matices

Morphing

granularidad

Simplificar

RAW DATA

o

gaps

Rellenar

Comparación

Generalizar

diversas medidas

Normalizar

temporalidad

Truncar

Explorar y preparar datosEnemigo 1 Enemigo 3

Enemigo 4 Enemigo 5 Enemigo 6

GOAL

Enemigo 2

Page 10: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

raw data

Page 11: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Gaps: RellenarValor anteriorLibrería zoo (R)

Page 12: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Granularidad: SimplificarAgregación

por semana

Page 13: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Matices: Morfología matemática1. Apertura

1.1.Erosión1.2.Dilatación2. Cierre

2.1.Dilatación2.2.Erosión

Page 14: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Temporalidad: Truncar• Truncar preorders• Truncar cola

Page 15: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Temporalidad: Truncar• Truncada!

Page 16: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Diversas medidas: Normalizar• Escalar serie

• serie <- serie/serie[1]

Page 17: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Comparación : Generalizar• Aproximación

logarítmica

• LogValue: -0.2541175

• error: 0.01328662

Page 18: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

2. Clasificar

Page 19: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Histograma: Valor de aproximación• 358 juegos

procesados [-0.25, -0.1]

74% de los datos

Page 20: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Histograma: Error de aproximación• 358 juegos

procesados[0.005, 0.015]

77% de los datos

Page 21: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Clusterización

• K-means 6 clusters• cluster, size, mean

1 | 38 | -0.034472 | 10 | 0.088363 | 67 | -0.156304 | 106| -0.195205 | 82 | -0.242316 | 55 | -0.10462

Page 22: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Tendencia por cluster

• Rojo: 2, 1• Verde: 6, 3, 4, 5

Page 23: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

3. Generar modelo y validar

Page 24: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Modelo predictivo

• Algoritmo: rpart• Atributos:

• referenceprice• year• date_part (mes)• platform• metacritic • pegi• publisher• developer

Page 25: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Probando...

• Cluster asignado: 4• fiabilidad: 56%• Desviación: mínima

• Cluster real: 4• Desviación: mínima

Page 26: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Probando...2

• Cluster asignado: 4• fiabilidad: 49%• Desviación:

razonable

• Cluster real: 3• Desviación: mínima

Page 27: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Probando...3

• Cluster asignado: 5• fiabilidad: 42%• Desviación: grande

• Cluster real: 4• Desviación: mínima

Page 28: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Probando...4

• Cluster asignado: 1• fiabilidad: 45%• Desviación: grande

• Cluster real: 5• Desviación: grande

Page 29: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

Conclusiones

Etapa Posibles mejoras

Aproximar 1. Subdividir y aproximar en intervalos

Clasificar 1. Detectar y eliminar outliers2. Afinar clusters ( fisión, fusión)

Generar modelo

(Fiabilidad media 53%)

1. Añadir atributos2. Afinar y podar árbol3. Generación de modelos alternativos

Page 30: Construyendo tu propia bola de cristal  predicción de precios con machine learning

@rafbermudez#codemotion_es

¡Gracias! ¿Preguntas?

● Rafael Bermúdez Míguez ● @rafbermudez● [email protected]

Construyendo tu propia bola de cristal:

predicción de precios con machine learning

MADRID · NOV 27-28 · 2015