-
Notifications
You must be signed in to change notification settings - Fork 8
/
01-introduccion.Rmd
161 lines (112 loc) · 6.75 KB
/
01-introduccion.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# Introducción {#intro}
```{r, echo = FALSE, message=FALSE}
library(tidyverse)
library(ggrepel)
library(knitr)
library(kableExtra)
library(lubridate)
library(gridExtra)
source("R/funciones_auxiliares.R")
```
En esta introducción corta al análisis de datos buscamos
proveer a principiantes en análisis de datos de:
- Algunas ideas generales útiles que sirven para hacer mejor análisis de datos.
- Algunas técnicas particulares que son de uso común.
Distintos analistas, en distintas áreas, pueden poner diferente énfasis
en el tipo de herramientas y técnicas preferidas. Así que un taller de este
tipo necesariamente refleja ciertos puntos de vista, experiencias, y
opiniones y juicios.
Estas notas están producidas en R, usando bookdown (@bookdown), y haciendo
uso extensivo de R base y del tidyverse (@tidyverse). En las notas sólo presentamos
algunas partes del código: la intención es leerlas un poco como seudocódigo para
intentar aclarar algunos cálculos. El código completo está disponible para
todos los participantes.
Nuestras referencias más importantes son:
- Primera sesión: @ClevelandVis , @tufte06
- Segunda sesión: @box78, @bootefron, @timboot14, @lineup
- Tercera sesión: @ESL
## Tukey y análisis de datos {-}
El término *análisis de datos* fue quizá
introducido (@huber50, @donoho50) por Tukey en el artículo
*The Future of Data Analysis* (@tukeyda) en
su sentido más común.
- La máxima del análisis de datos es, según Tukey: Es mucho más valiosa
una respuesta aproximada a la pregunta correcta, que usualmente es vaga,
que una respuesta exacta a la pregunta incorrecta, que siempre puede formularse
con precisión. El análisis de datos avanza con **respuestas aproximadas a preguntas
vagas**.
- El análisis de datos se trata de **hacer juicios** de distintos tipos: basados
en la experiencia del campo particular de interés, en experiencia más amplia
de resultados en varios campos, y resultados abstractos de propiedades de técnicas
particulares (pruebas matemáticas y resultados empíricos).
- El análisis de datos se adhiere a **características científicas**: buscamos más
alcance y utilidad que seguridad, aceptamos equivocarnos algunas veces para que
en muchos casos evidencia poco adecuada *sugiera* la respuesta correcta. Los
argumentos matemáticos (estadística matemática, ciencias de la computación) son
guías pero no pueden determinar el proceso.
El analista de datos, entonces, busca hacer aportaciones útiles, y
orientar en lo posible el avance de su equipo, que
como conjunto quiere resolver problemas no triviales. El analista
de datos a veces resuelve problemas, pero más usualmente crea otros nuevos!
## Preguntas vagas {-}
En esta gráfica [Roger Peng](https://simplystatistics.org/2019/04/17/tukey-design-thinking-and-better-questions/) hay tres caminos: uno es uno ideal que pocas veces sucede,
otro produce respuestas poco útiles pero es fácil, y otro es tortuoso pero que
caracteriza el mejor trabajo de análisis de datos:
```{r, echo = FALSE, message = FALSE, fig.cap = "Adaptado de R. Peng: [Tukey, design thinking and better questions.](https://simplystatistics.org/2019/04/17/tukey-design-thinking-and-better-questions/)"}
puntos <- tibble(x = c(0.5, 1.2, 4, 4), y = c(0.5, 4, 0.5, 5),
etiqueta = c("dónde\ncomenzamos\nrealmente", "Análisis de datos \n poco útil, de bajo impacto",
"dónde creeemos\nque comenzamos", "Nuestra \n Meta "))
set.seed(211)
browniano <- tibble(x = 0.5 + cumsum(c(0,rnorm(50, 0.03, 0.1))) ,
y = 0.5 + cumsum(c(0, rnorm(50, 0.02, 0.2))))
puntos <- bind_rows(puntos, tail(browniano, 1) %>% mutate(etiqueta = "Terminamos?!?"))
flechas <- tibble(x = c(0.5, 4), y = c(0.5, 0.5), xend = c(1.2, 4), yend = c(4, 5))
ggplot(puntos, aes(x = x, y = y)) +
xlab("Calidad de la pregunta") +
ylab("Peso de la evidencia") +
theme(axis.text.x=element_blank(),
axis.text.y=element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
geom_segment(data = flechas, aes(xend=xend, yend=yend),
arrow = arrow(length = unit(0.3, "inches"))) +
geom_path(data = browniano) +
geom_point(data = browniano) +
geom_point(colour="red", size = 5) +
geom_text(aes(label = etiqueta), vjust = -0.5, hjust = 1.1, size = 4.2) +
#labs(caption = "Adaptado de R. Peng: Tukey, design thinking and better questions.") +
xlim(c(-0.1 , 4)) + ylim(c(0,6))
```
Ejemplos: Alguien nos pregunta cuáles son las tiendas que mas venden de una cadena. Podriamos
consultar bases de datos, hacer extracciones, definir periodos, etc. y dar una
respuesta que probablemente es poco útil. Nos damos cuenta, por ejemplo, porque la
peor tienda es una que abrió hace relativamente poco, y la mejor es una de las tiendas
más grandes que está en una zona de tráfico de alto costo. Una pregunta más interesante
es, ¿qué equipos de ventas tienen mejor desempeño? ¿Cuánto aporta tener una cafetería dentro
de la tienda en términos de ventas?, etc.
## Principios del diseño analítico {-}
Edward Tufte (@tufte06) propuso seis principios de diseño analítico que caracteriza
al mejor trabajo de análisis de datos. Aquí están los principios con algunas
modificaciones ligeras. Nos concentraremos en los siguientes:
1. Muestran claramente **comparaciones**, diferencias y variación.
2. Tienden a ser **multivariados**: estudian conjuntamente más de 1 o 2 variables.
3. Muestran **estructura sistemática**, sugieren explicaciones. Cuando es posible,
aportan evidencia de causalidad.
También muy importantes pero en los que pondremos menos énfasis:
4. Datos y procesos están bien **documentados**. El análisis es reproducible y transparente.
5. Intentan **integrar** la evidencia completa: texto, explicaciones, tablas y
gráficas.
Y finalmente, el principio general:
6. La calidad, relevancia, e integridad del **contenido** son los que
al final sostienen al análisis - por sí mismos, el uso de técnicas sofisticadas,
algoritmos novedosos, uso o no de grandes datos, estilo de visualizaciones o presentaciones
no son marcas o sellos de un análisis de datos exitoso.
## Gráfica de Minard {-}
La ilustración que Tufte usa para mostrar excelencia en diseño analítico es
una gráfica de Minard que sirve para entender la campaña de Napoleón (1812)
en Rusia. Es un ejemplo atípico, pero representa bien los principios y también muestra
la importancia del ingenio en la construcción de un anállsis:
```{r, echo = FALSE, fig.cap = "Marcha de Napoleón de Charles Minard. Tomado de [Wikipedia](https://en.wikipedia.org/wiki/Charles_Joseph_Minard)"}
knitr::include_graphics("figuras/Minard.png")
```
¿Cómo satisface los principios del diseño analítico este análisis?