Sesión 010. El poder de la información: más dinero 1480-Técnicas Estadísticas en Investigación de Mercados Grado en Estadística Empresarial Profesor: Xavier Barber i Vallés Departamento: 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 de datos. Las dificultades más habituales en estos casos se centran en la captura, el almacenamiento, búsqueda, compartición, análisis, y visualización. La tendencia a manipular ingentes cantidades de datos se debe a la necesidad en muchos casos de incluir los datos relacionados del análisis en un gran conjunto de datos.
DEFINICIÓN Estamos viviendo la época de la revolución del Big Data, donde los grandes volúmenes de datos, usados para trabajar, han superado con creces, la capacidad de procesamiento de un simple host. El Big Data nace para solucionar 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 usamos genera datos, estos pueden ser analizados actualmente. De esta gran cantidad de datos que tenemos a nuestro alcance, sólo el 20% se trata de información estructura y el 80% son datos no estructurados. Estos últimos añ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 Data http://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 a través de clusters, usando un modelo simple de programación. Además su diseño permite pasar de pocos nodos a miles de nodos de forma ágil. Hadoop es un sistema distribuido usando una arquitectura Master-Slave, usando para almacenar su Hadoop Distributed File System (HDFS) y algoritmos de MapReduce para hacer cálculos.
Arquitecturas del Big Data http://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 cotidianos interconectados. El concepto de Internet de las cosas se atribuye a Auto-ID Center, fundado en 1999 y basado en el MIT. La idea es muy simple pero su aplicación es difícil. Si todas las latas, libros, zapatos o partes de un vehículo estuvieran equipados con dispositivos de identificación minúsculos, la vida 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 consume en el otro lado del planeta. El robo sería una cosa del pasado, sabríamos dónde está el producto en todo momento. Lo mismo 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, estuvieran equipados con etiquetas de radio, podrían ser identificados y gestionados por equipos de la misma manera que si lo fuesen por seres humanos. Con la próxima generación de aplicaciones de Internet (protocolo IPv6) se podrían identificar todos los objetos, algo que no se puede hacer con IPv4, el sistema actualmente en uso. Este sistema sería, por tanto, capaz de identificar instantáneamente cualquier tipo de objeto. El Internet de las cosas debe codificar de 50 a 100.000 millones de objetos y seguir el movimiento 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ón avanzada de dispositivos, sistemas y servicios que va más allá del tradicional M2M y cubre 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 universo digital se consideraba información útil, pero menos del 5% de los datos fueron analizados. Para el año 2020, más del 35% de todos los datos podrían considerarse útiles, gracias al crecimiento de los datos motivado por el Internet de las Cosas, pero luego serán las empresas las que se encarguen de extraer valor estos datos.
BIG DATA & MARKETING
BD & Marketing Al combinar el Big Data con una estrategia de gestión de marketing integrada, las empresas de marketing pueden tener un impacto significativo en las siguientes áreas clave: Relación con los clientes. El Big Data puede proporcionar información no 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 descubrir qué influye en la lealtad de los clientes y qué hace que acudan a su marca una y otra vez. Desempeño/optimización de marketing. Usar el Big Data permite determinar el gasto en marketing óptimo para los diversos canales, así como perfeccionar de manera continua los programas de marketing a travé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 Learning Chapter 2: Managing and Understanding Data Chapter 3: Lazy Learning Classification Using Nearest Neighbors Chapter 4: Probabilistic Learning Classification Using Naive Bayes Chapter 5: Divide and Conquer Classification Using decision Trees and Rules Chapter 6: Forecasting Numeric Data Regression Methods Chapter 7: Black Box Methods Neural Networks and Support Vector Machines Chapter 8: Finding Patterns Market Basket Analysis Using Association Rules Chapter 9: Finding Groups of Data Clustering with k-means Chapter 10: Evaluating Model Performance Chapter 11: Improving Model Performance Chapter 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 Boston Red Sox. U.S. government uses R to coordinate disaster response to BP oil spill. Medical diagnostics company analyzes millions of lines of data to develop first non-intrusive test for predicting coronary artery disease. 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/
https://sites.google.com/site/miningtwitter/ OBTENIENDO INFORMACIÓN DE TWITTER
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 you do. 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 you can 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 it anymore. And just leave the Callback URL blank.
Autorizando
Pidiendo autorización Click on Create you ll get redirected to a screen with all the OAuth setting of your new App. Just leave this window in the background; we ll need it later Continue to R and type in the following lines (on separate lines): library(rcurl) # Set SSL certs globally options(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=req URL,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 on Twitter, 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")
twitter ANÁLISIS DE SENTIMIENTOS
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 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Incendio Privatización Nada falso
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 palabras barca.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 cloud commonality.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-miningwith-r-of-twitter-data-analysis