presentación de powerpoint -...

Post on 16-Jun-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sesión 010. “El poder de la información: más dinero”1480-Técnicas Estadísticas en Investigación de MercadosGrado en Estadística EmpresarialProfesor: Xavier Barber i VallésDepartamento: Estadística, Matemáticas e Informática

BIG DATA & MARKETING

Índice

• Definición• Aplicaciones al Marketing• Text mining

– Twitter

DEFINICIÓN

Sistemas que manipulan grandes conjuntos dedatos.

Las dificultades más habituales en estos casos secentran en la captura, el almacenamiento,búsqueda, compartición, análisis, y visualización.

La tendencia a manipular ingentes cantidades dedatos se debe a la necesidad en muchos casos deincluir los datos relacionados del análisis en un granconjunto de datos .

DEFINICIÓNEstamos viviendo la época de la revolución del Big Data, donde los grandesvolúmenes de datos, usados para trabajar, han superado con creces, lacapacidad de procesamiento de un simple host. El Big Data nace parasolucionar estos problemas:

– Como almacenar y trabajar con grandes volúmenes de datos.– Y la más importante, como poder interpretar y analizar estos datos, de

naturaleza muy dispar.

Si miramos alrededor nuestro, vemos que cualquier dispositivo que usamosgenera datos, estos pueden ser analizados actualmente. De esta grancantidad de datos que tenemos a nuestro alcance, sólo el 20% se trata deinformación estructura y el 80% son datos no estructurados. Estos últimosañaden complejidad en la forma que se tienen que almacenar y analizar.

Hadoop aparece en el mercado como una solución para estos problemas,dando una forma de almacenar y procesar estos datos.

Arquitecturas del Big Datahttp://www.ticout.com/blog/2013/04/02/introduccion-a-hadoop-y-su-ecosistema/

Hadoop y su arquitectura• Apache es un framework que permite el

procesamiento de grandes volúmenes de datos através de clusters, usando un modelo simple deprogramación.

• Además su diseño permite pasar de pocos nodos amiles de nodos de forma ágil.

• Hadoop es un sistema distribuido usando unaarquitectura Master-Slave, usando para almacenar suHadoop Distributed File System (HDFS) y algoritmosde MapReduce para hacer cálculos.

Arquitecturas del Big Datahttp://www.ticout.com/blog/2013/04/02/introduccion-a-hadoop-y-su-ecosistema/

El “internet de las cosas”Internet de las cosas se refiere a una red de objetos cotidianosinterconectados. El concepto de Internet de las cosas seatribuye a Auto-ID Center, fundado en 1999 y basado en elMIT.

La idea es muy simple pero su aplicación es difícil. Si todas laslatas, libros, zapatos o partes de un vehículo estuvieranequipados con dispositivos de identificación minúsculos, lavida cotidiana en nuestro planeta sufriría una transformación.Ya no existirían cosas fuera de stock o productos perdidos,porque nosotros sabríamos exactamente lo que se consumeen el otro lado del planeta. El robo sería una cosa del pasado,sabríamos dónde está el producto en todo momento. Lomismo se aplica a los paquetes perdidos.

El “internet de las cosas”Si todos los objetos de la vida cotidiana, desde el yogur a un avión, estuvieranequipados con etiquetas de radio, podrían ser identificados y gestionados por equiposde la misma manera que si lo fuesen por seres humanos.

Con la próxima generación de aplicaciones de Internet (protocolo IPv6) se podríanidentificar todos los objetos, algo que no se puede hacer con IPv4, el sistemaactualmente en uso. Este sistema sería, por tanto, capaz de identificarinstantáneamente cualquier tipo de objeto.

El Internet de las cosas debe codificar de 50 a 100.000 millones de objetos y seguir elmovimiento de estos. Todo ser humano está rodeado de 1.000 a 5.000 objetos.

Actualmente, el término Internet de las Cosas se usa con una denotación de conexiónavanzada de dispositivos, sistemas y servicios que va más allá del tradicional M2M ycubre una amplia variedad de protocolos, dominios y aplicaciones ( códigos QR, etc.).

Utilidades del Big Data• Las cantidad de “datos útiles” en el universo digital,

también se verá afectada por Internet de las Cosas.

• En 2013, sólo el 22% de la información en el universodigital se consideraba información útil, pero menos del5% de los datos fueron analizados.

• Para el año 2020, más del 35% de todos los datospodrían considerarse útiles, gracias al crecimiento delos datos motivado por el Internet de las Cosas, peroluego serán las empresas las que se encarguen deextraer valor estos datos.

BIG DATA & MARKETING

BD & MarketingAl combinar el Big Data con una estrategia de gestión de marketingintegrada, las empresas de marketing pueden tener un impactosignificativo en las siguientes áreas clave:

– Relación con los clientes. El Big Data puede proporcionar informaciónno solo sobre quiénes son sus clientes, sino sobre dónde están, quéquieren, cómo y cuándo desean ser contactados.

– Lealtad y retención de clientes. El Big Data puede ayudar a descubrirqué influye en la lealtad de los clientes y qué hace que acudan a sumarca una y otra vez.

– Desempeño/optimización de marketing. Usar el Big Data permitedeterminar el gasto en marketing óptimo para los diversos canales, asícomo perfeccionar de manera continua los programas de marketing através de pruebas, mediciones y análisis.

BD & Marketing

http://www.puromarketing.com/30/18327/data-ahora-gran-reto-para-empresas-profesionales-marketing.html

BD & Marketing: ¿cómo?

BD & Marketing: ¿cómo?Chapter 1: Introducing Machine LearningChapter 2: Managing and Understanding DataChapter 3: Lazy Learning – Classification Using Nearest NeighborsChapter 4: Probabilistic Learning – Classification Using Naive BayesChapter 5: Divide and Conquer – Classification Using decision Trees and RulesChapter 6: Forecasting Numeric Data – Regression MethodsChapter 7: Black Box Methods – Neural Networks and Support Vector MachinesChapter 8: Finding Patterns – Market Basket Analysis Using Association RulesChapter 9: Finding Groups of Data – Clustering with k-meansChapter 10: Evaluating Model PerformanceChapter 11: Improving Model PerformanceChapter 12: Specialized Machine Learning Topics

5 ejemplos reales de Big Data• NYU Ph.D. student conducts comprehensive analysis of Wikileaks

data for greater insight into the Afghanistan conflict• International non-profit organization uses data science to confirm

Guatemalan genocide.• Statistician develops innovative metrics tracking for baseball

players, gains widespread recognition and a job with the BostonRed Sox.

• U.S. government uses R to coordinate disaster response to BP oilspill.

• Medical diagnostics company analyzes millions of lines of data todevelop first non-intrusive test for predicting coronary arterydisease.

http://gigaom.com/2011/07/17/5-real-world-uses-of-big-data/

Ejemplos más mundanos

• Amazon• Supermercados on-line• Tarjetas de comercios• Tarjetas de Gasolineras• Peluquerías• Etc.

Ejemplos de Visualización

Ejemplos de visualización

Ejemplos de visualización

Big Data & R

• Paquetes:– Biglm: construyendo GLM para Big Data (chunks)– ff: acceso a datos muy grandes eficientemente.– Bigmemory: Permite aálisis en paralelo

eficientes, a nivel de gestión de memoria, y potentes.

– Snow: Simple Network of Workstations• Páginas web interesantes:

– http://www.rdatamining.com/

OBTENIENDO INFORMACIÓN DE TWITTER

https://sites.google.com/site/miningtwitter/

Creando el acceso al API#### http://thinktostart.wordpress.com/2013/05/22/twitter-authentification-with-r/ ####

Since Twitter released the Version 1.1 of their API a OAuth handshake is necessary for every request youdo. So we have to verify our app.

First we need to create an app at Twitter.

Got to https://dev.twitter.com/ and log in with your Twitter Account.

Now you can see your Profile picture in the upper right corner and a drop-down menu. In this menu youcan find “My Applications”.

Click on it and then on “Create new application”.

You can name your Application whatever you want and also set Description on whatever you want. Twitter requires a valid URL for the website, you can just type in http://test.de/ ; you won´t need itanymore.

And just leave the Callback URL blank.

Autorizando

Pidiendo autorizaciónClick on Create you´ll get redirected to a screen with all the OAuth setting of your new App. Justleave this window in the background; we´ll need it laterContinue to R and type in the following lines (on separate lines):

library(RCurl)# Set SSL certs globallyoptions(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

require(twitteR)reqURL <- "https://api.twitter.com/oauth/request_token"accessURL <- "https://api.twitter.com/oauth/access_token"authURL <- "https://api.twitter.com/oauth/authorize"apiKey <- "yourAPIkey"apiSecret <- "yourAPIsecret"

twitCred <-OAuthFactory$new(consumerKey=apiKey,consumerSecret=apiSecret,requestURL=reqURL,accessURL=accessURL,authURL=authURL)

twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))

registerTwitterOAuth(twitCred)You have to replace yourAPIkey and yourAPIsecret with the data provided on your app page onTwitter, still opened in your webbrowser.

The command twitCred$handshake(cainfo=”cacert.pem”) will ask you to go a certain URL and enter the PIN you receive on this page.

Probando si funciona…

# collect tweets in english containing 'data mining'tweets = searchTwitter(”Estadística", lang=”sp")

[[1]][1] "marijobremon: Si mañana va a estadística, somos compañeras ❤"

[[2]][1] "miguelcpa: @JoseLuis_Hndz @martindep @JaimeEGMelendez y el 8 nunca le ha ganado al 1 para después coronarse, no todo es estadística, #ValeMásElCorazón"

[[3]][1] "tamaraverab: RT @JenniferVP3: Situación actual:\nActualizar campus virtual (x54581 veces), sección: Introducción a la Estadística.\nMe da un algo #putasno…"

Probando si funciona…

tweets = searchTwitter("UMH", lang="sp")users <- ldply(tweets,function(x) return(x$screenName))

ggplot(users,aes(x=V1))+geom_histogram()+theme(axis.text.x = element_text(angle = 45, hjust = 1))+ylab("Count of tweets using #UMH")+xlab("Twitter handle")

ANÁLISIS DE SENTIMIENTOS twitteR

Sentimientos: Positivos y negativos

###################################################################http://www.slideshare.net/jeffreybreen/r-by-example-mining-twitter-for##################################################################

sent.pos<-scan('sentimientosPositivos.txt', what='character', comment=';')sent.neg<-scan("sentimientosNegativos.txt", what='character', comment=';')

# estamos cargando ficheros de Texto con este estilo:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; aqui van comentrios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

IncendioPrivatizaciónNadafalso

• Cargaremos las funciones que nos dice en la pagina web mencionada:– score.sentiment = function(sentences, pos.words,

neg.words, .progress='none')– clean.text = function(x)

• Y luego decimos que nos pinte el histograma con los sentimientos positivos y negativos:

##################################################################

UMH.text<-laply(UMH, function(t)t$getText())

result<-score.sentiment(UMH.text, sent.pos, sent.neg)

result$score

hist(result$score)

Comparando palabras

• Podemos estar interesados en comprar por ejemplo las palabras más usadas respecto a 2,4, etc.. Cuentas o hastags…

• Para ello utilizaremos los tweets como “corpus” y contaremos las palabras para ver cuales son las que más aparecen.

Comparando palabrasbarca.tweets = userTimeline("barca", n=1000)

atleti.tweets = userTimeline("atleti", n=1000)

ba.txt = sapply(barca.tweets, function(x) x$getText())

ba.clean.text=clean.text(ba.txt)

ba.collapse<-paste(ba.clean.text, collapse=" ")

atleti.txt = sapply(atleti.tweets, function(x) x$getText())

atleti.clean.text=clean.text(atleti.txt)

atleti.collapse<-paste(atleti.clean.text, collapse=" ")

all=c(ba.collapse,atleti.collapse)#,rm.collapse,atleti.collapse)

# remove stop-words

all = removeWords(all,

c(stopwords("spanish"), "barça","atleti"))

corpus = Corpus(VectorSource(all))

# create term-document matrix

tdm = TermDocumentMatrix(corpus)

# convert as matrix

tdm = as.matrix(tdm)

# add column names

colnames(tdm) = c("Barça", "ATleti")#, "T-Mobile", "MetroPCS”)

# comparison cloud

comparison.cloud(tdm, random.order=FALSE,

colors = c("#00B2FF", "red", "#FF0099", "#6600CC"),

title.size=1.5, max.words=500)

Comparando dos …..

O Una sola nube de palabras

# commonality cloudcommonality.cloud(tdm, random.order=FALSE,

colors = brewer.pal(8, "Dark2"),title.size=1.5)

ENLACES DE INTERÉS

Enlaces de interés• Gender Analysis of Facebook Post Likes

– http://www.r-bloggers.com/gender-analysis-of-facebook-post-likes/

• Analyze Facebook with R– http://www.r-bloggers.com/analyze-facebook-with-r/

• What is machine learning, and how does it work? – https://www.youtube.com/watch?v=elojMnjn4kk

• In-depth introduction to machine learning in 15 hours of expert video

– http://www.r-bloggers.com/in-depth-introduction-to-machine-learning-in-15-hours-of-expert-videos/

• Practical machine learning: methods and algorithmics– http://www.cbcb.umd.edu/~hcorrada/PracticalML/

• R machine learning packages– http://www.inside-r.org/category/packagetags/machinelearning

twitter

• Sentiment Analysis with "sentiment“– https://sites.google.com/site/miningtwitter/questi

ons/sentiment/sentiment

• Text Mining with R: Twitter Data Analysis– http://www.rdatamining.com/docs/text-mining-

with-r-of-twitter-data-analysis

top related