You are on page 1of 110

Business Analytics & Big Data

Caleb Terrel
Temario
1. Introducción a R (8 horas) – Preparación de los datos
– Uso de R con XEmacs+ESS – Tipos de datos
– Objetos en R – Poblamiento y manejo de datos
– Importación/Exportación de datos ausentes
– Gráficos en R 3. Análisis exploratorio de datos (3
– Programación en R horas)
2. Minería de Datos (3 horas) – Estadísticas
– Relaciones entre Data Mining, – Gráficas
Visualización, Business Intelligence, – Líneas XY, diagramas de
Analítica dispersión, diagramas de caja
– Tipos de problemas en minería: – Coordenadas paralelas, matrices
minería supervisada, minería no de dispersión
supervisada, predicción – Selección de atributos
– Estructura de datos para análisis – Reducción de atributos: PCA
(Tidy Data)
Temario
4. El problema de clasificación (15 – Métodos de ensamble
horas) • Bosques aleatorios
– Objetivo de los modelos • Ada-boosting
– Matrices de confusión – Validación y selección de modelos
– Métodos elementales de clasificación
• 1R • Validación cruzada
• Naive bayes • Curvas Lift y ROC
• K-vecinos más cercanos – Métodos de agrupamiento
(Clustering)
– Métodos básicos
• K-Means
• Regresión logística
• DBSCAN
• Arboles de clasificación
• Agrupamiento jerárquico
• Maquinas de soporte vectorial
• Agrupamiento difuso
– Métodos avanzados
• Reglas de asociación
• Redes neuronales
• Deep learning
Temario
5. Otros temas de minería (3 horas)
– Sistemas de recomendación
– Minería de texto
– Web mining
1. INTRODUCCIÓN A R
R es un lenguaje y entorno para computación (cálculos) estadística y gráficos.

R ofrece una amplia variedad de técnicas estadísticas (lineal y no lineal de


modelado, pruebas estadísticas clásicas, análisis de series temporales,
clasificación, agrupación, ...) y gráficas, y es altamente extensible.

https://www.r-project.org/about.html
https://cran.r-project.org/web/packages/
RStudio desarrolla código abierto y software profesional “preparado para la
empresa” para el entorno estadístico computacional R. Nuestros productos
simplifican el análisis de datos con R y proporcionan potentes herramientas para
publicar y compartir.

https://www.rstudio.com/products/
data=read.csv(file="D:\\Caleb\\OTROS\\Cursos\\Curso Analisis de Datos con R\\data regresion.csv", header=T)
RL=lm(rl$salario~rl$edad)
summary(RL)
1. Introducción a R

ESTRUCTURAS DE DATOS
Estructuras de datos en R
1. Introducción a R

MANIPULACIÓN DE DATOS:
NÚMEROS Y VECTORES
1. Introducción a R

ARRAYS Y MATRICES
1. Introducción a R

LISTAS Y DATA FRAMES


1. Introducción a R

IMPORTACIÓN Y EXPORTACIÓN DE
DATOS
Importación de Datos en R
• Mejores prácticas en la preparación
de archivos de datos para importar
en R
• Lectura de datos desde archivos txt |
csv: funciones base R
• Lectura rápida de datos de archivos
txt | csv en R: paquete readr
• Lectura de datos de archivos de
Excel (xls | xlsx) en R

http://www.sthda.com/english/wiki/import-and-export-data-using-r
Importación de
Datos en R
• Mejores prácticas en la preparación de
archivos de datos para importar en R
– Preparar tu archivo
– Convenciones de nomenclatura
– Archivo final
Importación de Datos en R
Lectura de datos desde archivos
txt | csv: funciones base R
• read.csv (): para leer archivos "valores separados por comas" (".csv").
• read.csv2 (): variante utilizada en países que usan una coma "," como punto
decimal y punto y coma ";" como separadores de campo.
• read.delim (): para leer archivos "valores separados por tabulaciones" (".txt").
Por defecto, el punto (".") Se usa como puntos decimales.
• read.delim2 (): para leer archivos "valores separados por tabuladores" (".txt").
Por defecto, la coma (",") se usa como puntos decimales.

# Read tab separated values # Read semicolon (";") separated


read.delim(file.choose()) values
read.csv2(file.choose())
# Read comma (",") separated values
read.csv(file.choose())
Lectura de datos desde archivos
txt | csv: funciones base R

• Si sus datos contienen una columna con texto, R puede suponer que las
columnas son factores o variables de agrupamiento (por ejemplo, "bueno",
"bueno", "malo", "malo", "malo"). Si no desea que sus datos de texto se
conviertan como factores, agregue stringsAsFactor = FALSE en las funciones
read.delim (), read.csv () y read.table (). En este caso, las columnas del
marco de datos correspondientes a la cadena en su archivo de texto serán
caracteres.
my_data <- read.delim(file.choose(), stringsAsFactor = FALSE)

• Si el separador de campo es, por ejemplo, "|", es posible usar la función


general read.table () con argumentos adicionales:
my_data <- read.table(file.choose(), sep ="|", header = TRUE, dec =".")

• Leyendo un archivo de internet


my_data <- read.delim("http://www.sthda.com/upload/boxplot_format.txt")
Lectura rápida de datos de archivos
txt | csv en R: paquete readr

• En comparación con las funciones de base R, las funciones de lectura son:


• mucho más rápido (X10),
• tener una barra de progreso útil si la carga va a tomar un tiempo y
• todas las funciones funcionan exactamente de la misma manera.
library("readr")

# Read tab separated values


read_tsv(file.choose())

# Read comma (",") separated values


read_csv(file.choose())

# Read semicolon (";") separated values


read_csv2(file.choose())
Lectura de datos de archivos
de Excel (xls | xlsx) en R

• Copiando datos de Excel e importándolos a R


my_data <- read.table(file = "clipboard", sep = "\t", header=TRUE)

• Importación de archivos de Excel en R usando el paquete readxl


# Loading library("readxl")
# xls files
my_data <- read_excel("my_file.xls")

# xlsx files
my_data <- read_excel("my_file.xlsx")
my_data <- read_excel(file.choose())

# Specify sheet by its name


my_data <- read_excel("my_file.xlsx", sheet = "data")
# Specify sheet by its index
my_data <- read_excel("my_file.xlsx", sheet = 2)
Lectura de datos de archivos
de Excel (xls | xlsx) en R

• Importación de archivos de Excel en R usando el paquete readxl


– Caso de valores perdidos: NA (no disponible). Si las NA están
representadas por algo (ejemplo: "-") que no sean celdas en blanco,
configure el argumento na:
my_data <- read_excel("my_file.xlsx", na = "---")

• Importación de archivos de Excel usando el paquete xlsx


library("xlsx")
my_data <- read.xlsx(file.choose(), 1) # read first sheet
Exportación de Datos en R
• Exportar datos de R a txt | csv |
Archivos de Excel
• Escribir datos de R en un archivo txt |
csv: funciones base R
• Escritura rápida de datos de R a txt |
archivos csv: paquete readr
• Escribir datos de R a archivos de
Excel (xls | xlsx)
• Guardar datos en formato de datos
R: RDATA y RDS
http://www.sthda.com/english/wiki/import-and-export-data-using-r
Exportar datos de R a txt
| csv | archivos de Excel
• Funciones base R para escribir datos: write.table (), write.csv (),
write.csv2 ()
• Escribir datos en un archivo
# Loading mtcars data # Write data to csv files:
data("mtcars") # decimal point = "." and value
separators = comma (",")
# Write data to txt file: tab write.csv(mtcars, file =
separated values "mtcars.csv")
# sep = "\t"
write.table(mtcars, file = # Write data to csv files:
"mtcars.txt", sep = "\t", # decimal point = comma (",") and
row.names = TRUE, col.names = NA) value separators = semicolon (";")
write.csv2(mtcars, file =
"mtcars.csv")
Exportar datos de R a txt
| csv | archivos de Excel
• Escritura rápida de datos de R a txt | csv Files: paquete readr
– Instalación y carga de readr: install.packages ("readr")
– Funciones readr para escribir datos: write_tsv (), write_csv ()
– Escribir datos en un archivo
# Loading mtcars data
data("mtcars")

library("readr")
# Writing mtcars data to a tsv file
write_tsv(mtcars, path = "mtcars.txt")

# Writing mtcars data to a csv file


write_csv(mtcars, path = "mtcars.csv")
Exportar datos de R a txt
| csv | archivos de Excel

• Escribir datos de R a archivos de Excel (xls | xlsx)


– Instalar el paquete xlsx: install.packages ("xlsx")
– Usando el paquete xlsx: write.xlsx ()
library("xlsx")

# Write the first data set in a new workbook


write.xlsx(USArrests, file = "myworkbook.xlsx", sheetName =
"USA-ARRESTS", append = FALSE)

# Add a second data set in a new worksheet


write.xlsx(mtcars, file = "myworkbook.xlsx",
sheetName="MTCARS", append=TRUE)
Exportar datos de R a txt
| csv | archivos de Excel
• Guardar datos en formato de datos R: RDATA y RDS
– Guarde un objeto en un archivo: saveRDS (objeto, archivo), readRDS
(archivo)
# Save a single object to a file
saveRDS(mtcars, "mtcars.rds")

# Restore it under a different name


my_data <- readRDS("mtcars.rds")

– Guarde múltiples objetos en un archivo: save (data1, data2, file), load (file)
# Save multiple objects
save(data1, data2, file = "data.RData")

# To load the data again


load("data.RData")
Exportar datos de R a txt
| csv | archivos de Excel

• Guardar datos en formato de datos R: RDATA y RDS


– Guarde todo su espacio de trabajo: save.image (), load ()
# Save your workspace
save.image(file = "my_work_space.RData")

# Load the workspace again


load("my_work_space.RData")
1. Introducción a R

GRÁFICOS EN R
Tipos de gráficos
• Histogramas

• Gráficos de cajas
Tipos de gráficos
• Dispersión

• Barras
Tipos de gráficos
• Lineas

• Pie
Library ggplot2- Paleta de colores
• The available color palettes in the
RColorBrewer package are :
# Box plot
bp + scale_fill_manual(breaks = c("2", "1",
"0.5"), values=c("red", "blue", "green"))

# Scatter plot
sp + scale_color_manual(breaks = c("8", "6",
"4"), values=c("red", "blue", "green")
# Box plot
bp + scale_fill_brewer(palette="Dark2")

# Scatter plot
sp + scale_color_brewer(palette="Dark2")
Library wesanderson - Paleta de colores
# Install
install.packages("wesanderson")

library(wesanderson)

# Box plot
bp+scale_fill_manual(values=wes_palette(n=3,
name="GrandBudapest"))

# Scatter plot
sp+scale_color_manual(values=wes_palette(n=3
, name="GrandBudapest"))
2. MINERÍA DE DATOS
Minería de Datos
• Descubrimiento de información
valiosa/rentable para una
organización/empresa, que se
encuentra oculta dentro de las bases
de datos.
• Utiliza los métodos/algoritmos de
estadística, aprendizaje automático e
inteligencia artificial.
Minería de Datos
Cross Industry
Standard Process
for Data Mining
(CRISP-DM)
Aplicaciones de Minería de Datos:
Procesamiento de Solicitudes de Préstamo
Aplicaciones de Minería de Datos:
Detección de Mareas Negras (imágenes satelitales)
Aplicaciones de Minería de Datos:
Pronóstico de Electricidad
Aplicaciones de Minería de Datos:
Análisis de Cesta de Compra
Business Analytics
• Business Analytics (BA) es la
práctica de la exploración iterativa
y metódica de datos de una
organización con énfasis en el
análisis estadístico y minería de
datos.
• BA es utilizado por las empresas
comprometidas con la toma de
decisiones basadas en datos.

http://searchbusinessanalytics.techtarget.com/definition/business-analytics-BA
Análisis vs Analytics
Análisis Analytics
Se refiere al proceso de separar un Es una variedad de métodos,
problema completo en sus partes para tecnologías y herramientas asociadas
que las partes puedan ser examinadas para crear nuevos conocimientos /
críticamente a nivel granular. ideas para resolver problemas
complejos y tomar decisiones mejores
y más rápidas.
Proceso de descomponer un objeto Ciencia del análisis mediante la cual las
complejo en sus formas más simples estadísticas, la extracción de datos, la
tecnología informática, etc. se utilizan
para hacer análisis
High-level
Architecture of
Business
Analytics
Business Analytics
Tipos de Business Analytics
Business Analytics depende de…

• La calidad de los datos

• Analistas expertos que


entienden las tecnologías y el
negocio

• Compromiso organizacional
con la toma de decisiones
basada en datos.
Aplicaciones de Business Analytics
¿Qué es Big Data?
• “Se refiere al hecho de que ahora
podemos recopilar y analizar datos de
una manera que era simplemente
imposible incluso hace unos años. Hay
dos cosas que están impulsando este
movimiento de Big Data: el hecho de
que tenemos más datos sobre cualquier
cosa y nuestra capacidad mejorada
para almacenar y analizar cualquier
dato.”
¿Qué es Big Data?
• “Big data es un término que describe el
gran volumen de datos, tanto
estructurados como no estructurados, que
inundan un negocio día a día. Pero no es
la cantidad de datos lo que es importante.
Lo que importa es lo que hacen las
organizaciones con los datos. Los datos
grandes se pueden analizar en busca de
ideas que conducen a mejores decisiones
y movimientos comerciales estratégicos.”
¿Qué es Big Data?
• “Big Data Analytics es el uso de técnicas
analíticas avanzadas (análisis de texto,
aprendizaje automático, análisis
predictivo, minería de datos, estadísticas)
contra conjuntos de datos muy grandes y
diversos que incluyen datos
estructurados, semiestructurados y no
estructurados, de diferentes fuentes y en
diferentes tamaños, desde terabytes
hasta zettabytes…para obtener nuevas
ideas que les permitan tomar decisiones
mejores y más rápidas.”
¿Qué es Big Data?
• “Big Data son activos de gran volumen,
alta velocidad y / o alta variedad de
información que requieren nuevas
formas de procesamiento para permitir Gartner, Inc. (NYSE: IT) es la
compañía de investigación y
asesoría líder en el mundo.
una mejor toma de decisiones,
descubrimiento de información y
optimización de procesos”
5 V’s del Big Data
Arquitectura de Big Data Analytics
http://beyondcorner.com/bigdata/big-data-use-cases/
http://mattturck.com/wp-content/uploads/2016/02/matt_turck_big_data_landscape_v11r.png
3. ANÁLISIS EXPLORATORIO DE
DATOS
Mapeo del Análisis
Exploratorio de Datos
(EDA)
3. Análisis exploratorio de datos

TIPOS DE VARIABLES
Tipos de Variables

Estadistica aplicada a los negocios y la economía 15 ed. D. Lind, S. Wathen, W. Marcha. 2012
Niveles de medición de las
variables
Datos agrupados Datos no agrupados

Estadistica aplicada a los negocios y la economía 15 ed. D. Lind, S. Wathen, W. Marcha. 2012
3. Análisis exploratorio de datos

INDICADORES ESTADÍSTICOS
Indicadores de Tendencia Central
Se refieren al valor central que representa a los datos de una
determinada variable.
• Media Aritmética o Promedio: es la suma de dichos valores
dividida entre el número de valores.
– Características de la Media Aritmética:
– Todo conjunto de datos medido en escala de intervalo o razón
tiene media.
– El valor de la media es sensible a los valores extremos (mínimo y
máximo), por lo que la presencia de valores inusuales la
distorsionan.
– El cálculo de la media es sencillo y fácil de entender e
interpretar.
Indicadores de Tendencia Central
• Cálculos de la Media Aritmética
– Media Aritmética de datos no agrupados

– Media Aritmética de datos agrupados


Indicadores de Tendencia Central
• Mediana: es el valor que ocupa la posición central una vez puestos los
datos en orden de magnitud.
– Características de la Mediana:
– Todo conjunto de datos medidos en escala de ordinal, intervalo o
razón tiene una mediana.
– El valor de la mediana depende del número de datos observados.
– La mediana es un estadístico robusto, es decir, no se ve afectada por el
valor de los extremos (mínimo y máximo). Por eso se le utiliza cuando
hay datos inusuales o el polígono de frecuencias no es simétrico.
– La mediana no tiene propiedades matemáticas valiosas para poder
usarlas en otros cálculos.
Indicadores de Tendencia Central
• Cálculos de la Mediana
– Mediana de datos no agrupados:
• Se ordenan los datos en orden ascendente.
• Se calcula la posición mediana. Para n datos la posición es (n+1)/2.
• Se identifica la mediana. Es el dato que ocupa la posición (n+1)/2.
– Mediana de datos agrupados:
• Se identifica la clase mediana. Es la clase cuya frecuencia
acumulada es mayor o igual a n/2.
• Se obtiene el valor de la mediana mediante la expresión:
Indicadores de Tendencia Central
• Moda: es el valor que se presenta con mayor frecuencia.
– Características de la Moda:
– La moda se puede calcular para cualquier escala de medición.
– El valor de la moda no se ve afectada por valores extremos.
– La moda se puede calcular aun cuando uno o más intervalos sean de
extremo abierto.
– La moda no siempre es un valor único. Una serie de datos puede tener
dos modas (bimodal) o más modas (multimodal).
– Algunas series de datos no tienen moda.
– La moda es una medida menos importante que la mediana o la media
debido a su ambigüedad.
– La moda no tiene propiedades matemáticas valiosas para poder
usarlas en otros cálculos.
Indicadores de Tendencia Central
• Cálculos de la Moda
– Moda de datos no agrupados:
• Agrupe los datos de acuerdo a sus respectivas
frecuencias. El dato con mayor frecuencia es la Moda.
– Moda de datos no agrupados:
• Identifique la clase con mayor frecuencia (clase modal).
• Obtenga el valor de la moda mediante la expresión:
Sesgo vs Indicadores de Tendencia Central
Indicadores de Tendencia Central
• Media Ponderada: También llamada media pesada. Permite
calcular el valor medio considerando la importancia o peso de
cada valor sobre el total.

– Cálculos de la Media Ponderada:


Indicadores de Tendencia Central
• Media Geométrica: La aplicación más frecuente de la media geométrica
es en el caso de encontrar una tasa de variación promedio de una serie
temporal.

– Cálculo de la Media Geométrica:

• Factor de variación

• Tasa de variación

• Factor de variación promedio

• Tasa de variación promedio


Indicadores de Dispersión
¿Por qué estudiar la dispersión?
• Los indicadores de tendencia central
solo describen el “centro” de los
datos
• Una medida de dispersión pequeña
indica que los datos se acumulan con
proximidad alrededor de la media
aritmética.
• Una medida grande de dispersión
indica que la media no es confiable
• Para comparar la propagación en dos
o más distribuciones.
Indicadores de Dispersión
• Rango: es la diferencia entre dato mayor y el dato menor.
– Cálculo del Rango:

• Varianza: es el promedio de los cuadrados de la diferencia de cada dato


con la media.
– Cálculos de la Varianza:
• Varianza para datos no agrupados:

• Varianza para datos agrupados:


Indicadores de Dispersión
• Desviación Estándar: mide la cantidad típica en la que los
valores del conjunto de observaciones difieren de la media
– Cálculos de la Desviación Estándar :
– Desviación Estándar para datos no agrupados:

– Desviación Estándar para datos agrupados:


Indicadores de Posición - Cuantiles
• Se define así al valor que divide a un conjunto ordenado de
datos en dos partes con porcentajes específicos por debajo
y sobre éste valor.
– Percentiles, dividen un conjunto de datos en 100partes
porcentualmente iguales. Dado un percentil Pk, este
divide el conjunto de datos en dos partes, la inferior que
contiene el K% de datos y la superior que contiene el
(100-k)% de datos.
– Cuartiles, dividen un conjunto de datos en 4 partes
porcentualmente iguales. Se denotan por Q1, Q2, Q3.
– Deciles, dividen un conjunto de datos en 10 partes
porcentualmente iguales. Se denotan por D1, D2, ... , D8
,D9.
3. Análisis exploratorio de datos

REDUCCIÓN DE ATRIBUTOS:
ANÁLISIS DE COMPONENTES PRINCIPALES
(PCA)
Terminología: Atributos y patrones
• Atributo (o Variable o Característica o Descriptor)
• Es cualquier aspecto distintivo, cualidad o característica. Los
atributos pueden ser:
– nominales (por ej., color: blanco, rojo, amarillo, verde,
– numéricos (por ej., altura –medida en metros-).
• Patrones (o Casos o Instancias)
– Colección (posiblemente ordenada y estructurada) de
descriptores(características) que representan un objeto.
Terminología: Atributos y patrones
• Cada patrón está representado por un conjunto de atributos
• un vector columna de d dimensiones llamado vector de atributos
• El espacio de atributos es el espacio de d dimensiones definido por este
vector
• Los patrones se representan como puntos del espacio de atributos
El problema de la dimensionalidad
• En la práctica, el problema de la dimensionalidad implica que, dado un número de
ejemplos fijo, hay un número máximo de atributos a partir del cual la eficiencia de
nuestro clasificador se degrada en vez de aumentar
• En muchos casos, la mayor calidad del clasificador con menos atributos compensa
la información que perdemos descartando atributos.
Reducción de la dimensionalidad
• Selección vs Extracción de características:
– Selección: se selecciona un subconjunto de características a partir del
conjunto original
• Métodos de filtrado (filter methods):
– Seleccionan el mejor conjunto de características en función de un
criterio razonable.
– El criterio es independiente del algoritmo de aprendizaje.
– Ej: Información mutua con la clase, test múltiple hipótesis
• Métodos envolventes (wrapper methods):
– Selecciona el mejor conjunto de características de acuerdo al
algoritmo de aprendizaje.
– Ej: SVM-RFE (Guyon et al., 2000)
– Extracción: las nuevas características proceden de una transformación de
las originales.
• Ej: transformación lineal y= WT x , este es el caso de LDA, PCA, ICA
Análisis de Componentes Principales (PCA)

• Simplificar la estructura de los datos transformando las variables


originales en otras llamadas componentes principales a través de
combinaciones lineales de las mismas: Y=WT x
¿Qué obtendríamos con PCA en el
siguiente ejemplo?

You might also like