Apuntes Introduccion Estadistica
Apuntes Introduccion Estadistica
Apuntes Introduccion Estadistica
Índice
1. Eventos y probabilidades 3
1.1. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Distribuciones de probabilidad 11
3.1. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1
6.2. Teorema de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3. Covarianza y correlación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.4. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7. Introducción a la estadística 40
7.1. Universo, muestra y big data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.2. El objeto de la estadística . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8. Estadística descriptiva 42
8.1. Resúmenes numéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.2. Visualización de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.3. Análisis exploratorio de datos (EDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.4. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9. Estimación puntual 53
9.1. El método de los momentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.2. Funciones de pérdida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9.3. Estimación por máxima verosimilitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.4. Teoremas de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.5. Variabilidad de las estimaciones e intervalos de confianza . . . . . . . . . . . . . . . . . . . . . 57
9.6. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.Pruebas de hipótesis 65
10.1. Test de significancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.2. Pruebas de hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.3. Zonas grises de las pruebas anteriores y NHST . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.4. El tamaño del efecto y las pruebas S y M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.5. Pruebas de hipótesis e intervalos de confianza . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.6. Algunas pruebas de libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.7. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
11.Datos tabulares 76
11.1. Biplots y dependencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.2. Relaciones de dependencia y modelos loglineales . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.3. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2
13.8. Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
13.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
13.10.TODO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
1. Eventos y probabilidades
Según el DRAE, una contingencia es una cosa que puede suceder o no suceder. Nuestros eventos serán
conjuntos de contingencias a los que luego asociaremos probabilidades de ocurrencia. Ocurrirá un evento
cuando suceda alguno de las contingencias que lo integran.
Como conjuntos que son, podemos operar con eventos usando los operadores habituales de la teoría de
conjuntos. Así, por ejemplo, A ∪ B es el evento consistente en que ocurra el evento A o el evento B; y A ∩ B,
que ocurran ambos. Podremos usar los eventos especiales Ω y ∅, que corresponden a los eventos totales (que
ocurra cualquier cosa) o que no ocurra ninguno. Que no ocurra el evento A (el complementario de A) se
puede representar como Ω \ A, aunque también se utiliza la notación Ā.
Casi siempre consideraremos eventos generados por variables aleatorias. Las variables aleatorias son
funciones (que por razones históricas suelen denotarse con letras mayúsculas, X, Y , etc.) que toman valores
numéricos, ya sean discretos o continuos. X puede representar, por ejemplo, la suma de puntos en una tirada
de cuatro dados; en tal caso, p.e., de los 64 posibles resultados, solo en 4 de ellos X = 5. O el número de
caras al tirar una moneda 5 veces. En contextos más propiamente de ciencia de datos, indicar si un cliente se
fuga o no. Como ejemplo de variable aleatoria continua, X podría ser la altura de una persona (elegida al
azar) y nos podría interesar el evento en el que X < 170.
La probabilidad es una función que asigna a conjuntos (eventos) un número entre 0 y 1. Matemáticamente,
para cada evento A,
P (A) = x, 0 ≤ x ≤ 1.
La función P está sujeta a ciertas reglas que fueron axiomatizadas por Kolmogorov en los años 30. Los
axiomas de Kolmogorov son
P (A) ≥ 0
P (Ω) = 1 P
P (∪Ai ) = i P (Ai ) si los Ai son eventos mutuamente excluyentes.
De los axiomas de probabilidad se deducen propiedades razonables de la probabilidad; p.e., si A ⊂ B, entonces
P (A) ≤ P (B).
Reglas como las anteriores parecen obvias. Sin embargo, lo son mucho menos de lo que parecen: las personas
tendemos a equivocarnos al operar con probabilidades en algunos contextos, como pusieron de manifiesto A.
Tversky y D. Kahneman al plantear, junto con otros, el siguiente problema a un panel de voluntarios:
Linda is thirty-one years old, single, outspoken, and very bright. She majored in philosophy. As
a student, she was deeply concerned with issues of discrimination and social justice, and also
participated in anti-nuclear demonstrations. . . The respondents are asked to rank in order of
likelihood various scenarios: Linda is
1. an elementary school teacher,
2. active in the feminist movement,
3. a bank teller,
4. an insurance salesperson, or
5. a bank teller also active in the feminist movement.
Un porcentaje grande de ellos (y el experimento se ha repetido posteriormente con el mismo resultado)
consideran más probable la opción 5 que la 3, a pesar de que el primer evento está contenido en el segundo.
3
Desde el punto de vista de la teoría de la probabilidad, las probabilidades asociadas a los eventos son, o bien
conocidas, o se pueden calcular deductivamente aplicando determinadas reglas. En estadística, sin embargo,
observaremos fenómenos aleatorios y nuestro problema consistirá en, inductivamente, tratar de esclarecer el
mecanismo aleatorio subyacente.
1.1. Referencias
1.2. Ejercicios
1.2.0.1. Ejercicio
Trata de comprender que Ā ∩ B̄ = A ∪ B
1.2.0.2. Ejercicio
Propón un ejemplo en el que se cumplan las siguientes condiciones (que no se cumplen en general):
P (A ∪ B) = P (A)
P (A ∪ B) = P (A) + P (B)
máx(P (A), P (B)) < P (A ∪ B) < P (A) + P (B)
1.2.0.3. Ejercicio
Prueba que P (A ∪ B) = P (A) + P (B) − P (A ∩ B). Trata de obtener la expresión correspondiente para tres
eventos y para n eventos.
4
0.9
0.1
lluvia sol
0.6 0.9
0.4 0.1
La probabilidad de que un día llueva y no haya atasco es 0,06 = 0,1 × 0,6: el 10 % de los días llueve y de ellos,
el 60 % no hay atascos. Análogamente, se pueden calcular el resto de las combinaciones posibles y tabularlas
así:
Esta tabla representa la llamada probabilidad conjunta (de las variables tiempo y atasco). Nótese cómo la suma
de las probabilidades (la columna prob) es 1. La hemos construido a partir de las llamadas probabilidades
marginales (del tiempo) y condicionales (de los atascos condicionados por el tiempo).
En efecto, expresiones del tipo el 10 % de los días llueve reciben el nombre de probabilidades marginales (por
un motivo que luego quedará claro) y las del tipo cuando llueve, la probabilidad de que haya atascos es del
40 %, probabilidades condicionales, que se suelen representar así:
En este caso, solo consideramos dos variables, T y A. En otras situaciones puede haber más variables y la
probabilidad conjunta se representaría por medio de un (hiper)cubo de números (que seguirían sumando
1). En tales casos, las probabilidades marginales corresponderían a las sumas a lo largo de las distintas
proyecciones. Por ejemplo, de tenerse las variables A, B y C, la probabilidad marginal P (A, B) se calcularía
a partir de la conjunta así:
5
X
P (A, B) = P (A, B, C = ci ).
i
Los valores de la tabla de probabilidades conjuntas, P (T, A), se han calculado así:
P (T, A) = P (A | T )P (T ).
Despejando, se obtiene la relación
P (T, A)
P (A | T ) =
P (T )
que se usa a menudo como definición de la probabilidad condicional. La probabilidad condicional no es sino
una colección de probabilidades (en nuestro caso, P (A | T ), una para cada condición climatológica). Lo que
dice la fórmula anterior es que la probabilidad P (A | lluvia) se construye tomando la columna correspondiente
de la tabla de probabilidades conjuntas y, como sus valores no suman la unidad, normalizando por su total,
que es precisamente P (lluvia).
Las probabilidades condicionales son esenciales en ciencia de datos. Los modelos que se construyen en ciencia
de datos están basados precisamente en P (Y | X1 , . . . , Xn ), es decir, la probabilidad condicional de la variable
objetivo Y en función de las variables predictoras X1 , . . . , Xn .
El modelo plantado en esta sección partía del tiempo y, en función de él, definía la probabilidad de atasco.
Pero es posible preguntar cuál es la probabilidad de que esté lloviendo a partir de la información de que
hay un atasco. Es decir, calcular P (lluvia | atasco) (y, en general, P (T | A)), i.e., invertir las probabilidades
condicionales.
Es sencillo porque, por definición,
P (T, A)
P (T | A) =
P (A)
y tanto P (T, A) como P (A) son conocidos. No obstante, podemos obviar la referencia a la probabilidad
conjunta desarrollando el numerador P (T, A) de la forma P (T, A) = P (A | T )P (T ), con lo que
P (A | T )P (T )
P (T | A) =
P (A)
En general, llueve el 10 % de los días; no obstante, con la información adicional de que hay un atasco, la
probabilidad estimada de lluvia crece hasta el 31 %.
6
2.3. Independencia
En el ejemplo discutido en la sección anterior, por definición, el tráfico dependía del tiempo. Había una
correlación (y puede que relación causal) entre el tiempo y el estado del tráfico. En muchas circunstancias, sin
embargo, encontramos sucesos independientes: en ellas, el valor de uno no influye en el del otro. Un ejemplo
clásico es el de los lanzamientos sucesivos de una moneda.
Si tiramos una moneda al aire, podemos suponer que P (H) = P (T ) = 1/2. Pero, ¿qué ocurre si la lanzamos
al aire dos veces? Gráficamente,
1 2
1 2
H T
1 2 1 2
1 2 1 2
HH HT TH TT
P (H2 | T1 ) = P (H2 | T1 ).
7
En eso casos, ignorar las relaciones de dependencia y asumir de facto la independencia de las observaciones
conduce a modelos menos eficaces. El quid de la cuestión reside en que asumir independencia cuando no la
hay equivale a descartar información potencialmente útil.
Si A y B son independientes, su probabilidad conjunta es
P(A,B) b0 b1 P(A)
a0 p1 * p3 p1 * p4 p1
a1 p2 * p3 p2 * p4 p2
P(B) p3 p4 1
Precisamente porque
Nosotros lo consideraremos una consecuencia de nuestra definición más que la definición en sí. En cualquier
caso, la fórmula anterior proporciona un criterio rápido para determinar si dos variables aleatorias son o no
independientes.
En el ejemplo considerado en esta sección hemos estudiado una situación en la que se consideraban dos
variables, T y A y hemos factorizado
P (T, A) = P (A | T )P (T )
Esto se puede demostrar dibujando el gráfico correspondiente: se comienza con A1 , se hace depender A2
de A1 y así sucesivamente. Obviamente, la factorización tiene sentido cuando se conocen las probabilides
condicionales implicadas. Ocurre además con frecuencia que se puede suponer, por ejemplo, que A4 no
depende de A1 y A2 , por lo que la expresión potencialmente compleja P (A4 |A1 , A2 , A3 ) se reduce a la más
manejable P (A4 |A3 ).
En un caso aún más extremo, si las variables aleatorias son independientes, entonces la expresión anterior se
reduce a
8
2.5. Independencia condicional
Consideremos el siguiente paseo aleatorio Xt : una partícula, que en t = 0 está en la posición 0 se mueve
aleaatoriamente cada segundo dando saltos equiprobables de tamaño −1, 0 o 1. Entonces, XT depende de Xt
si t < T , pero conocido XT −1 , XT no depende de por dónde haya pasado previamente. Es decir, XT no es
independiente de Xt , pero ambas variables aleatorias son condicionalmente independientes dado XT −1 .
La independencia condicional se representa así:
XT ⊥ Xt | XT −1 si t < T − 1.
T
Y
P (X0 , X1 , . . . , XT ) = P (X0 ) P (Xi | Xi−1 ).
i=1
Es una expresión un poco más compleja que la correspondiente a eventos independientes pero mucho más
simple que la que se deduce de la regla de la cadena general. Precisamente porque se explotan las relaciones
de independencia condicional.
El anterior es un ejemplo simple de las cadenas de Markov, que son secuencias de variables aleatorias en
las que cada una de ellas es condicionalmente independiente de todas las que la preceden no inmediatamente
condicionalmente en, precisamente, su predecesora inmediata.
SamIam es una herramienta para modelar y razonar sobre redes bayesianas desarrollado en la Universidad de
California en Los Ángeles (UCLA). Permite representar relaciones de dependencia entre variables aleatorias a
través de una interfaz gráfica y, luego, realizar cálculos sobre ellas.
SamIam se puede descargar libremente y los tutoriales en línea ilustran con detalle las dos funciones que, de
momento, nos interesan:
Cómo crear variables aleatorias y especificar las probabilidades marginales y condicionales que definen
su estructura probabilística.
Cómo realizar inferencias sobre la red (p.e., marcar un nodo que representa la variable aleatoria que
indica el color de una bola extraída de una urna como blanco para ver cómo varían el resto de las
probabilidades).
2.7. Referencias
2.8. Ejercicios
2.8.0.1. Ejercicio
En una empresa de seguros los clientes son hombres (60 %) y mujeres (40 %). Tienen coches de color rojo,
gris u otros. Para los hombres, el porcentaje de coches grises y de otros colores es igual, pero el de coches
rojos es el doble que los anteriores. Para las mujeres, sucede lo mismo, solo que el porcentaje de coches rojos
es la mitad que los otros.
9
La tasa de siniestros (si un cliente tuvo un siniestros en un año dado) es del 10 % para hombres y mujeres
independientemente del color del coche con las siguientes excepciones:
Es el doble para los hombres que conducen coches rojos.
Es la mitad para las mujeres que conducen coches grises.
Dibuja la gráfica que describe las probabilidades anteriores.
2.8.0.2. Ejercicio
Construye la tabla de probabilidad conjunta asociada a las variables aleatorias descritas en el ejercicio anterior.
2.8.0.3. Ejercicio
Calcula la probabilidad marginal de los colores de los coches.
Calcula la probabilidad marginal de colores y siniestralidad (una tabla que contenga la probabilidad de
que un coche de un determinado color tenga o no un accidente).
2.8.0.4. Ejercicio
Calcula la probabilidad de siniestro según el color del vehículo.
2.8.0.5. Ejercicio
De ocurrir un siniestro, calcula la probabilidad de que la afectada sea mujer.
2.8.0.6. Ejercicio
Hay tres urnas que contienen, respectivamente, 2, 3 y 5 bolas blancas y 2, 4 y 1 bolas negras. Alguien elige
una urna al azar y extrae una bola, que resulta ser blanca. ¿Cuál es la probabilidad de que la urna de la que
se ha extraído la bola sea la primera?
2.8.0.7. Ejercicio
Recalcula la probabilidad si se extrae una bola más y resulta ser negra.
2.8.0.8. Ejercicio
Prueba que si A ⊥ B, entonces A ⊥ B̄ y Ā ⊥ B̄.
2.8.0.9. Ejercicio
Calcula la probabilidad de obtener 3 caras en 4 lanzamientos de monedas.
2.8.0.10. Ejercicio
¿Cuál es la probabilidad de sacar un 2 o un 6 tirando un dado? (Usa los axiomas de probabilidad)
¿Cuál es la probabilidad de sumar 7 puntos en dos tiradas de dados?
¿Cuál es la probabilidad de no sacar un 1 tirando un dado?
¿Cuál es la probabilidad de no sacar ningún 1 después de tirar n dados? (Usa la independencia)
10
2.8.0.11. Ejercicio (problema del caballero de Méré)
¿Qué es más probable, sacar un as tirando cuatro dados (una vez), o sacar dos ases en alguna de 24 tiradas
de dos dados?
2.8.0.12. Ejercicio
Modela el ejercicio anterior de las de las urnas usando SamIam y resuélvelo con él.
2.8.0.13. Ejercicio
Usa SamIam para modelar el problema de la empresa de seguros y y úsalo para resolver los ejercicios
relacinados con el teorema de Bayes planteados más arriba.
3. Distribuciones de probabilidad
Los axiomas de probabilidad mostrados más arriba son para las probabilidades lo mismo que la gramática
para el lenguaje: establece las reglas con las que interactúan las probabilidades de la misma manera que la
gramática fija las reglas con las que interactúan las palabras en el discurso. Las distribuciones, por otra parte,
equivaldrían al léxico, lo que da significado a las construcciones. Porque no es suficiente con saber que si
A ⊂ B, entonces P (A) ≤ P (B); frecuentemente queremos saber cuánto valen P (A) y P (B).
Por eso vamos a discutir la manera en que podemos asignar probabilidades a eventos.
Existe una escuela de pensamiento que defiende las llamadas probabilidades subjetivas. De acuerdo con
L. J. Savage, la probabilidad de un evento sería:
La máxima cantidad de dinero que apostarías si alguien te ofreciese un euro si el evento en cuestión
sucede.
Si estuvieses dispuesto a poner como máximo 20 céntimos por tener derecho a recibir un euro mañana si
lloviese, estarías estimando la probabilidad de lluvia en un 20 %.
Se puede probar que si los agentes son racionales, las probabilidades asignadas de acuerdo con esta regla
cumplen los axiomas de Kolmogorov.
La probabilidad subjetiva es la base de la construcción de probabilidades a partir de información obtenida
a partir de opiniones (p.e., las expresadas por paneles de expertos) o del consenso de los jugadores en las
casas de apuestas. Se usa fundamentalmente para estimar la probabilidad de fenómenos únicos o inhabituales,
como el resultado de elecciones o partidos de fútbol, la posibilidad de accidentes nucleares graves, etc.
En ocasiones no hace falta recurrir a expertos: existen motivos epistemológicos para asignar determinadas
probabilidades a determinados tipos de sucesos. Por ejemplo, el llamado principio de indiferencia dice que
si n alternativas son indistinguibles entre sí excepto por su nombre, cada una de ellas tiene una probabilidad
de 1/n. Este tipo de razonamiento puede aplicarse a lanzamiento de monedas (¿hay algún motivo para que
no se cumpla que P (H) = P (T ) = 1/2?), de dados, etc.
Otros razonamientos pueden llevar a considerar como razonable que determinadas variables aleatorias sigan,
por ejemplo, una distribución normal o exponencial.
Además de las anteriores, existen maneras de inferir las probabilidades asociadas a eventos basadas en datos.
Particularmente cuando existe un registro histórico de ocurrencias de este tipo de eventos y muestran ciertas
regularidades como, por ejemplo:
La proporción de niñas entre los recién nacidos.
La tasa de suicidios.
La proporción de personas de 80 años que fallecen antes de cumplir los 81.
La proporción de caras que se obtienen al lanzar al aire repetidamente una moneda.
11
Este tipo de probabilidades son las que más a menudo se explotan en ciencia de datos. Están además
relacionadas con un resultado famoso de la teoría de la probabilidad conocido como la ley de los grandes
números.
Podría argüirse que un caso particular de este último procedimiento de asignación de probabilidades justifica el
uso de las distribuciones de probabilidad propiamente dichas. En efecto, se ha observado que fenómenos
aleatorios procedentes de ámbitos completamente diferentes siguen patrones similares. Muchos de estos
patrones están estudiados y descritos y pueden servir de plantilla para describir determinados fenómenos
aleatorios.
Hay que tener cuidado, en todo caso, en no atribuir a las distribuciones de probabilidad con nombre (las que
aparecen en los libros) propiedades universales y dar por hecho que todo fenómeno aleatorio puede describirse
con alguna de ellas. Lo más típico es que alguna de ellas (o alguna variante de ellas) pueda usarse como
aproximación suficientemente buena para algún fin.
3.1. Referencias
Principio de indiferencia
La utilidad esperada subjetiva
La ley de los grandes números
Gnedenko, B. Teoría de las probabilidades, Capítulo 6, que contiene una discusión (y demostraciones)
tanto de la ley débil como de la fuerte de los grandes números.
Seneta, E., A Tricentenary history of the Law of Large Numbers
La distribución de Dirac puede considerarse degenerada: toma siempre (con probabilidad 1) un valor fijo a.
Una variable aleatoria de Dirac, por lo tanto, no es aleatoria. Aunque parezca contraintuitivo, la distribución
de Dirac tiene su importancia.
La distribución de Bernoulli es muy simple: es la de una moneda con probabilidad P (H) = p de cara. Una
variable aleatoria de Bernoulli toma valores 0 o 1 (que frecuentemente se usan para codificar otros tales como
cara o cruz, éxito o fracaso, etc.). Si X ∼ Bernoulli(p), entonces
12
(
1 con probabilidad p
X=
0 con probabilidad 1-p
Puede considerarse una mezcla (un concepto que se introducirá más tarde) de dos distribuciones de Dirac. A
la inversa, la distribución de Dirac es un caso degenerado de la de Bernoulli que ocurre cuando p = 0 o p = 1.
A pesar de su aparente trivialidad, la distribución de Bernoulli es la base de muchos modelos de clasificación.
De hecho, una de las tareas más habituales de la ciencia de datos es encontrar el valor pi asociado a una
determinada acción (de resultado binario) de un sujeto i.
En R podemos obtener una muestra de la distribución de Bernoulli mediante
p <- 0.7
rbinom(1, 1, p)
## [1] 1
o un conjunto de ellas haciendo
rbinom(10, 1, p)
## [1] 1 0 1 1 1 0 1 1 1 0
La media de una variable aleatoria discreta X que toma valores xi con probabilidad P (X = xi ) es
X
E(X) = µ(X) = X̄ = xi P (X = xi ).
i
Como ejemplo de la fórmula anterior, podemos calular la media de una variable aleatoria de Bernouilli
X ∼ Bernoulli(p), que es
E(X) = 0 × (1 − p) + 1 × p = p.
La media es una medida de centralidad: es un valor alrededor del cual podría decirse que pivota la
distribución. No es, sin embargo, un valor típico: pudiera ser, incluso, un valor imposible para la distribución.
Eso ocurre precisamente con la distribución de Bernoulli: su media es p, un valor típicamente estrictamente
comprendido entre 0 y 1, mientras la variable solo puede tomar los valores 0 o 1.
La media de una variable aleatoria también puede estimarse mediante simulaciones. En situaciones triviales
no merece la pena; en otros casos, sí. Por ejemplo, para una variable aleatoria de Bernoulli,
set.seed(1234)
p <- 0.7
mean(rbinom(1e6, 1, p))
## [1] 0.699833
En el ejemplo anterior hemos estimado p mediante un millón de simulaciones con R. Sirve también para
ilustrar cómo a través de repeticiones de un experimento podemos llegar a estimar la probabilidad de un
evento, la base de la aproximación frecuentista a la asignación de probabilidades discutida anteriormente:
si desconocemos la probabilidad de cara de una moneda, podemos tirarla al aire muchas veces y dividir el
número de éxitos entre el de ensayos. Probablemente, el conciente obtenido estará próximo a la probabilidad
buscada.
13
Si tenemos dos variables aleatorias, entonces E(X + Y ) = E(X) + E(Y ). Intuitivamente, si la fábrica A
fabrica, en promedio, 100 unidades y la B 120, en promedio, conjuntamente, deberían fabricar 220. No
obstante, es ilustrativo proporcionar una demostración matemática:
X X X X X
E(X+Y ) = (xi +yj )P (X = xi , Y = yj ) = xi P (X = xi , Y = yj )+ yj P (X = xi , Y = yj ) = xi P (X = xi )+ yj P
ij ij ij i j
X X X X
xi P (X = xi , Y = yj ) = xi P (X = xi , Y = yj ) = xi P (X = xi ).
ij i j i
47 50 53 56 59 62 65 68 71 74 77 80 83 86 89
En realidad, la función toma valores (en nuestro ejemplo) para cada uno de los enteros entre 0 y 100. Sin
embargo, casi toda la probabilidad está concentrada en un entorno de la media, 70.
14
La varianza es un indicador tradicionalmente usado para cuantificar la dispersión. Tanto que en ocasiones se
utiliza el término varianza cuando, en realidad, se quiere decir dispersión. La varianza se define así:
X
σ 2 (X) = Var(X) = (xi − E(X))2 P (X = xi )
i
Se trata, pues, de E[(X − E(X))2 ], el promedio de las distancias al cuadrado de cada punto con la media. Lo
cual puede ser problemático en algunas ocasiones: por ejemplo, cuando un punto está excesivamente alejado
de la media, la varianza puede ser muy alta incluso cuando el resto de los valores no muestran gran dispersión.
Por eso, a veces, en lugar de la varianza se usa la medida alternativa de la dispersión E(|X − E(X)|).
Si X e Y son independientes, entonces
σ 2 (X + Y ) = σ 2 (X) + σ 2 (Y ).
σ 2 (X + X) = σ 2 (2X) = 4σ 2 (X)
No obstante, como aplicación de lo anterior, si X ∼ Binom(n, p), entonces σ 2 (X) = np(1 − p) porque
σ 2 (Y ) = p(1 − p) si Y ∼ Bernoulli(p).
La desviación estándar de X, σ(X), es la raíz cuadrada de la varianza de X. Tiene como ventaja que está
σ(X)
en las mismas unidades que X. Si X > 0, tiene sentido hablar del coeficiente de variación, E(X) , que
compara la media con la desviación alrededor de la media.
La distribución multinomial es una extensión de la distribución binomial que se aplica a situaciones en que la
variable aleatoria X puede tomar más de dos valores. En particular, cuando existen
n etiquetas (n > 2) y P
probabilidades p1 , . . . , pn (por supuesto, tales que i pi = 1) asociadas a ellas.
La distribución multinomial tiene muchas aplicaciones en ciencia de datos. Por ejemplo, para modelar los
tipos de productos que comprará un cliente o las palabras que aparecerán en un texto en función de su asunto.
Podemos muestrear la distribución multinomial así:
rmultinom(10, 4, c(0.1, 0.4, 0.5))
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 0 0 0 1 0 1 1 1 0 0
## [2,] 2 4 1 2 1 1 2 1 2 2
## [3,] 2 0 3 1 3 2 1 2 2 2
El resultado de la simulación son 10 vectores (columnas) de cuatro extracciones de tres elementos (indexados
por las tres probabilidades, 0,1, 0,4 y 0,5). El que una columna sea, p.e., (0, 2, 2) significa que en el
experimento se han obtenido dos elementos de la segunda etiqueta y otros dos de la tercera.
Por su parte,
rmultinom(10, 3, rep(1, 6))
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 1 0 1 0 1 1 2 0 0 0
## [2,] 0 0 0 0 0 0 0 1 1 0
## [3,] 0 1 0 0 0 0 1 1 1 1
15
## [4,] 2 0 1 2 1 0 0 0 0 0
## [5,] 0 2 1 0 1 2 0 1 0 1
## [6,] 0 0 0 1 0 0 0 0 1 1
muestra 10 tiradas de 3 dados: cada columna cuenta el número de unos, doses, etc. obtenidos.
La función dmultinom permite comprobar lo atípica que es una determinada configuración. Por ejemplo,
dmultinom(c(0, 2, 2), prob = c(0.1, 0.4, 0.5))
## [1] 0.24
indica que la probabilidad de la configuración (0, 2, 2) es mucho mayor que la de c(2, 1, 1):
dmultinom(c(2, 1, 1), prob = c(0.1, 0.4, 0.5))
## [1] 0.024
Hay situaciones en que interesa modelar conteos, como por ejemplo, el número de enfermos de hepatitis en
una provincia y periodo, el número de llamadas entrantes a una centralita o el número de compras que realiza
un cliente en un mes.
Dos distribuciones que pueden ser útiles para este tipo de problemas son la de Poisson (la más habitual) y la
binomial negativa. La distribución de Poisson admite un parámetro, λ, que es a su vez la media y la varianza.
Si X ∼ Pois(λ), entonces
λk e−λ
P (X = k) =
k!
Gráficamente,
0 1 2 3 4 5 6 7 8 9 11 13 15 17 19
Ese es el perfil típico de la distribución de Poisson: acampanado y con una cola larga hacia la derecha.
Porque, recuérdese, que teóricamente podría tener cualquier valor entero mayor que cero: a diferencia de la
distribución binomial, no tiene límite superior.
La distribución binomial negativa tiene un perfil similar y los motivos por los que es preferible usar una u
otra exceden el alcance de estas páginas.
16
Una propiedad muy útil de la distribución de Poisson es que si X1 ∼ Pois(λ1 ) y X2 ∼ Pois(λ2 ), entonces
X1 + X2 ∼ Pois(λ1 + λ2 ).
Dicho de otra manera, si el número de llamadas en una semana es Poisson de parámetro λ, el número de
llamadas en dos semanas es también Poisson y con parámetro 2λ.
Existe una relación importante entre las distribuciones de binomial y de Poisson: una distribución binomial
con n grande y p pequeño es aproximadamente Poisson de parámetro np, como ilustra el siguiente gráfico,
construido con n = 10000 y p = 5/n:
Binomial vs Poisson
binomial
0.15
poisson
0.10
0.05
0.00
0 5 10 15 20
Por eso, si en un país de un millón de habitantes, si la tasa de suicidios es de 13 por cada 100000 habitantes,
el número de suicidios puede modelarse con cualquiera de los dos modelos prácticamente equivalentes:
Con una distribución binomial con parámetros p = 13/100k y n = 1M .
Con una distribución de Poisson con parámetro λ = 130.
De hecho, se tiende a preferir el segundo.
Existen problemas de probabilidad discreta que pueden describirse (y, de hecho, tienden a describirse) en
términos de extracciones al azar de bolas de colores de urnas. Algunos de ellos tienen aplicaciones reales, como
el tipo de productos que comparará un cliente o la clasificación de las llamadas recibidas en un call center.
Muchos de ellos pueden modelarse utilizando alguna de las distribuciones contempladas más arriba, como la
binomial o la multinomial. Sobre todo cuando existe reemplazo, i.e., las bolas son devueltas a la urna. En caso
de reemplazo, las distintas extracciones son independientes entre sí. Sin embargo, de no haber reemplazo,
tiradas sucesivas son dependientes: de extraerse una bola negra, en la siguiente tirada decrece la probabilidad
de extraer otra bola negra (porque quedan menos).
En tales casos, se pueden simular los fenómenos aletorios usando, por ejemplo, la función sample de R.
4.9. Referencias
Las páginas de la Wikipedia (en inglés) correspondientes a las distribuciones mencionadas en la sección.
17
4.10. Ejercicios
4.10.0.1. Ejercicio
Demuestra que si Y ∼ Bernoulli(p), entonces σ 2 (Y ) = p(1 − p).
4.10.0.2. Ejercicio
¿Cómo probarías que en R sum(rbinom(15, 1, 0.5)) muestrea la misma variable aleatoria que rbinom(1,
15, 0.5).
4.10.0.3. Ejercicio
Simula y representa gráficamente una caminata aleatoria simple. Comienza con el valor 0 en t = 1 y en
t + 1 genera un valor que sea Xt + 1 con probabilidad 1/2 y Xt − 1 con probabilidad también 1/2. Prueba
también con probabilidades desiguales. Haz caminatas aleatorias de distintas longitudes: 100, 1000, 10000
iteraciones.
4.10.0.4. Ejercicio
Crea muchas caminatas aleatorias (de la misma longitud) y representa gráficamente la distribución de la
última posición. ¿Qué distribución sigue?
4.10.0.5. Ejercicio
En t = 0 arrancan 5 caminatas aleatorias. Una de ella, que llamaremos ladrón, lo hace desde la posición 2.
Las otras cuatro, que llamaremos policías, lo hacen desde la posición 0. Estima la media y la varianza del
tiempo que les lleva a alguno de los policías a atrapar al ladrón.
4.10.0.6. Ejercicio
Una empresa tiene un capital inicial de 5 euros. En cada ejercicio gana un euro con probabilidad 1/3, pierde
un euro con probabilidad 1/3 y tiene un resultado nulo con probabilidad 1/3. Si algún año la empresa se queda
con un capital negativo, la empresa quiebra y desaparece. Estima mediante simulaciones la probabilidad de
que la empresa siga operando al cabo de 30 años.
4.10.0.7. Ejercicio
Si X ∼ Binom(n, p) y sabiendo que σ 2 (X) = np(1 − p), calcula el valor de p para el que la varianza es
máxima, i.e., la dispersión de los datos alrededor de la media es máxima.
4.10.0.8. Ejercicio
Si X es una variable aleatoria binomial binom(n, p), entonces la probabilidad P (X = x) se calcula en R
usando dbinom(x, n, p). Si n = 100 y p = 0,7, calcula:
El valor x para el que la probabilidad es máxima.
El conjunto más pequeño de valores tales que la suma de sus probabilidades exceda el 90 %; es decir,
los más probables extendiendo la lista justo hasta que la suma de sus probabilidades rebase el 90 % (de
modo que las probabilidades del resto de los valores sea inferior al 10 %).
18
4.10.0.9. Ejercicio
Repite el ejercicio anterior con la distribución de Poisson (de parámetro 10). La función correspondiente es
dpois.
4.10.0.10. Ejercicio
Usa la distribución multinomial para estimar la media y la desviación estándar de la distribución de la
variable aleatoria que cuenta el número de tiradas de 6 dados necesarias hasta lograr un puntaje ≥ 30.
4.10.0.11. Ejercicio
En un lago hay 1000 peces. Capturas 100, los marcas y los tiras de nuevo al lago. Luego capturas otros 100 y
cuentas cuántos tienen marca. Calcula (mediante remuestreos) una aproximación a la probabilidad de que
haya 10 peces marcados en la segunda captura.
Pista: selecciona dos veces 100 elementos de entre 1000 y cuenta las coincidencias.
Una mejora: si lo piensas bien, solo hace falta seleccionar una vez, no dos (y la simulación es más rápida).
Nota: este es un ejemplo de una distribución discreta, la distribución hipergeométrica.
De una variable aleatoria continua, X, pueden obtenerse observaciones (sea simulando, sea realizando
experimentos en laboratorio, etc.). Estas observaciones pueden representarse mediante un histograma, como
el siguiente:
19
histograma de la muestra de valores experimentales
0.9
proporciones
0.6
0.3
0.0
0 1 2 3 4
valores obtenidos en réplicas del experimento
Los histogramas son representaciones de datos que parten el rango de variación de la variable aleatoria en
segmentos (bins) y calcula la proporción de las observaciones obtenidas que caen en cada uno de ellos. Estas
proporciones definen la altura de los rectángulos.
20
histograma de la muestra de valores experimentales
100 500 1000
1.5
1.0
0.5
proporciones
0.0
1.5
1.0
0.5
0.0
0 1 2 3 0 1 2 3 0 1 2 3
valores obtenidos en réplicas del experimento
Conforme se obtienen más observaciones, estos histogramas suelen adoptar una forma suave: en el límite,
convergen a una función suave. Esa función suave a la que convergen los histogramas conforme n ↔ ı́nf se
llama función de densidad. Si f es una función de densidad, como consecuencia de cómo se obtiene (es decir,
a partir de histogramas conforme n ↔ ı́nf), se obtienen algunas propiedades suyas:
f ≤0
Ri
nf f (x)dx = 1
R−ı́nf
a
−ı́nf
f (x)dx = P (X < a).
La función de densidad es fundamental en probabilidad y estadística y a partir de ella, como veremos, se
pueden definir otras como la de probabilidad o la de cuantiles. Pero es importante tener en cuenta que la
función de densidad se construye como el límite ideal de una sucesión de histogramas con un número creciente
de datos. Este mecanismo constructivo no es solo interesante por el hecho de establecer su procedencia sino,
además, como se ha indicado más arriba, porque las funciones de densidad heredan las propiedades conocidas
de los histogramas.
Para todo fenómeno aleatorio discreto puede construirse una función de densidad que le es específica. Sin
embargo, sucede que muchos fenómenos aleatorios comparten función de densidad. O, más bien, las funciones
de densidad asociadas a muchos fenómenos aleatorios en principio distintos, son (aproximadamente) comunes:
existen motivos, que se discutirán más adelante, por los que muchos histogramas convergen a la función de
densidad normal u otras distribuciones de libro, algunas de las cuales se estudiarán luego.
Para ilustrar los conceptos de esta sección, vamos a utilizar un caso hipotético en el que nuestra variable
aleatoria será el tiempo discurrido desde que ocurre cierto acontecimiento noticiable hasta que la gente, por
el medio que sea, llega a conocer la noticia. Y supondremos que la variable aleatoria que mide ese tiempo
21
sigue una distribución gamma de parámetros 3 y 4, i.e., Γ(3, 4).
Nota: existen dos maneras distintas de parametrizar la distribución gamma; en lo que sigue, sus
parámetros serán los de forma e intensidad. En nuestro caso, el de escala sería el inverso del de
intensidad, i.e., 1/4.
0 1 2 3 4
Como se ha indicado antes, la función de densidad es siempre positiva (≥ 0) y su integral es P (Ω) = 1.
Rb
También se puede deducir que su integral entre a y b, a p(x)d(x) es P (a < X < b); en nuestro caso, la
proporción de personas que se enteran de la noticia entre las horas a y b; o, de otro modo, la probabilidad de
que alguien se entere de ella en ese periodo de tiempo.
La forma de p indica cómo al principio se enteran de la noticia pocas personas, pero la velocidad de transmisión
de la información crece hasta alcancar un pico alrededor de los 40 minutos (que es cuando más probable es
enterarse de ella) para luego decaer lentamente (al menos, con respecto a la velocidad inicial de transmisión).
A partir de las 2 horas, son ya pocas las personas que desconocen la noticia.
Todas las distribuciones continuas tienen una función de densidad. Las funciones de R correspondientes son,
por ejemplo, dgamma, dnorm, etc. Por convención, siguen esa nomenclatura: d seguido del nombre (tal vez
abreviado) de la distribución.
En la gráfica se ha trazado una línea vertical punteada que pasa por el 1 (una hora). La integral de la curva
de 0 a 1 es, precisamente, la proporción de personas que se enteran de la noticia en una hora o menos, i.e.,
P (X < 1).
El tipo de eventos X ≤ a son muy importantes y por eso es útil contar con la llamada función de
probabilidad, F , definida así:
22
F (a) = P (X ≤ a).
Se deduce automáticamente que la función de probabilidad crece desde 0 hasta 1.
En R, la función de probabilidad sigue la misma nomenclatura que la de densidad, solo que usando p en lugar
de d (p.e., pgamma). Usando, precisamente, pgamma podemos representar la función de probabilidad asociada
a nuestro problema:
0 1 2 3 4
Se ve cómo crece desde 0 y cómo se satura hacia el valor 1 por la derecha. La recta vertical anterior corta a
la curva en el valor F (1) = P (X ≤ 1) ≈ 0,762: el 76 % de las personas se enteran de la noticia en una hora o
menos.
5.2.3. Cuantiles
## [1] 0.2755163
y
qgamma(0.99, 3, 4)
## [1] 2.101487
23
respectivamente.
y su varianza,
Z ∞
σ 2 (X) = (x − E(X))2 p(x)dx.
−∞
Las integrales anteriores también se pueden estimar por simulación, tal como hicimos con las distribuciones
discretas. Por ejemplo, en nuestro problema y de acuerdo con la Wikipedia (que indica el valor de la media y
la varianza en función de sus parámetros porque alguien calculó las integrales anteriores), E(X) = 0,75 y
σ 2 (X) = 0,1875.
Pero podemos aproximar mediante simulación esos valores usando las funciones correspondientes de R (con
prefijo r como, p.e., rgamma o rnorm):
muestra <- rgamma(1e6, 3, 4)
mean(muestra)
## [1] 0.74983
var(muestra)
## [1] 0.1871121
Las distribuciones discretas (casi todas: algunas no tienen sentido, p.e., para la distribución multinomial)
también tienen asociadas estas funciones. Con la salvedad de que la función de densidad está concentrada en
determinados puntos,
dbinom(2, 4, 0.5)
## [1] 0.375
dbinom(2.5, 4, 0.5)
24
1.0
0.8
0.6
0.4
0.2
0.0 Función de probabilidad Binom(4, 0.5)
0 1 2 3 4 Por supuesto,
también está definida la función de cuantiles. Así, por ejemplo, si el número diario de fallecimientos en un
hospital es Pois(20), típicamente, con un 90 % de probabilidad, el número de fallecidos estará en el rango
qpois(c(0.05, 0.95), 20)
## [1] 13 28
La distribución uniforme es, posiblemente, la más sencilla entre las continuas: su densidad es 0 salvo en un
determinado rango [a, b] donde es constante (y, como consecuencia, toma el valor 1/(b − a)). Es decir, solo
puede tomar valores en ese rango y, dentro de él, todos son equiprobables.
25
1.0
0.8
0.6
0.4
0.2
0.0 Densidad uniforme en [0,1]
La distribución beta es una generalización de la uniforme y también toma valores entre 0 y 1. Valores entre 0
y 1 pueden significar muchas cosas, pero habitualmente representan proporciones o probabilidades. De ahí
que la distribución beta se utilice a menudo para modelar la incertidumbre sobre una probabilidad.
Esto se entiende mejor con un ejemplo. Los clientes de un banco pueden usar su tarjeta de débito para extraer
dinero de cajeros y para pagar en comercios. Puede interesar conocer los hábitos de los clientes: ¿qué tipo de
uso tienden a hacer? ¿Cuál es la proporción de veces que usan la tarjeta de uno u otro modo? Si un cliente la
ha usado 100 veces y siempre para extraer dinero de cajeros, hay bastante certeza en que P (cajeros) ≈ 1.
¿Pero qué pasa si la ha usado 3 veces, dos de ellas en cajeros y 1 en comercios? En tal caso, P (cajeros) ≈ 2/3,
pero el grado de certeza de esa probabilidad es menor que si el cliente la ha usado 300 veces, 200 de ellas en
cajeros. A pesar de que la proporción estimada sea la misma.
La distribución beta tiene este aspecto:
26
4 Distribución beta
(1,1)
(2,1)
(3,1)
3
(4,1)
(2,2)
(3,2)
2
(4,2)
(2,3)
(3,3)
1
(4,3)
0
(8,4)
(50, 25)
(100, 50)
15
(500, 250)
10
5
0
27
la certeza sobre el valor estimado subyacente (2/3 en nuestro caso). Se puede probar cómo, en la modelación
de determinados problemas, los parámetros de la distribución crecen con la cantidad de información disponible
(que está directamente relacionada con el número de usos de la tarjeta por parte de un cliente en nuestro
ejemplo).
−3 −2 −1 0 1 2 3
Se trata de la famosa campana de Gauss, que, por defecto, está centrada en 0 y tiene desviación estándar
1. Sin embargo, admite dos parámetros, µ, la media y σ, la desviación estándar) que o la desplazan o la
contraen o expanden.
La distribución normal tiene una importancia fundamental en la teoría de la probabilidad porque es un
atractor de distribuciones. No es solo que la suma de variables aleatorias independientes con una distribución
normal tenga también distribución normal sino que, además, la suma de variables aleatorias indpendientes de
otras distribuciones tiende a tener también distribución normal. Por ejemplo, podemos sumar 12 variables
aleatorias uniformes independientes y restar seis muchas veces para ver qué aspecto tiene la variable aleatoria
resultante:
muestra <- replicate(10000, sum(runif(12))) - 6
plot(density(muestra), xlab = "", ylab = "", main = "Muestra vs normal")
curve(dnorm(x), col = "red", add = T)
legend("topleft",
c('simulación', 'normal estándar'),
lty = c(1, 1),
col = c(par('fg'), 'red'))
28
0.4 Muestra vs normal
simulación
normal estándar
0.3
0.2
0.1
0.0
−4 −2 0 2 4
En efecto, la distribuición uniforme tiene media 6 y desviación estándar 1/12. Sumando 12 variables aleatorias
uniformes y restando seis, se obtiene una variable aleatoria con media 0 y desviación estándar 1. Pero no solo
eso: su aspecto es muy similar a la de una normal.
De la misma manera, el aspecto de la distribución binomial que, recuérdese, es la suma de variables
aleatorias independientes de Bernoulli, también es acampanado. Y se puede probar que la distribución normal
(debidamente parametrizada para que concuerden la media y la varianza) es una aproximación legítima a la
binomial cuando n es lo suficientemente grande.
Esto no es casualidad: el teorema central del límite garantiza en ciertos casos la convergencia de sumas
(más bien, promedios) de variables aleatorias a una con la distribución normal. En el caso de la distribución
uniforme, la convergencia es muy rápida: basta (para ciertos fines) sumar 12 de ellas.
El teorema central del límite tiene ciertas restricciones sobre las variables aleatorias que se promedian. Por
ejemplo, que sean independientes (aunque esa exigencia se puede suavizar). Otra, que todas sean pequeñas,
de manera que ninguna de ellas prevalezca sobre el resto. Esos criterios sirven tanto para intuir que la
distribución correspondiente a cierto fenómeno es normal como para argüir en sentido contrario cuando se
detecta alguna violación de las restricciones.
Por ejemplo, los errores de medida (varios técnicos midiendo una determinada magnitud independientemente)
tienden a tener una distribución normal: errores de calibración del instrumental, cambios pequeños en las
condiciones físicas, etc. influyen independientemente y en pequeña medida en las observaciones. Puede
argumentarse que la altura de las personas sigue una distribución normal: está influida por una miríada de
pequeños factores, sean genéticos, nutricionales, etológicos, etc. Pero también puede contraargumentarse:
existe un factor genético muy importante, el sexo, que hace que los hombres tiendan a ser más altos que las
mujeres. De hecho, la altura de las personas no es normal sino que puede modelarse más adecuadamente
como una mezcla de dos normales: las correspondientes a los dos sexos.
5.6. La distribución t
La distribución normal tiene colas finas: es prácticamente imposible que ocurran eventos alejados de la media.
Por ejemplo,
29
pnorm(-4)
## [1] 3.167124e-05
es un número muy pequeño: con la distribución normal solo ocurren eventos situados más allá de 4 desviaciones
típicas de la media en 3.1 ocasiones de cada cien mil. Pero muchas variables aleatorias tienen un comportamiento
más errático. Por ejemplo, se observan variaciones en el precio diario de las acciones de un tamaño mayor que
4 desviaciones típicas con una frecuencia muy superior a las indicadas arriba, que correspondería a una vez
cada 125 años (suponiendo que los mercados abren 250 días al año).
La distribuición t es similar a la normal (simétrica, unimodal, etc.) pero tiene colas más gruesas. De hecho,
no es una distribución sino una familia de distribuciones parametrizadas por un parámetro, el número de
grados de libertad (o df), según el cual las colas son más o menos gruesas:
Distribución t
0.4
normal
df = 1
df = 2
0.3
df = 5
0.2
0.1
0.0
−4 −2 0 2 4
La distribución t con un grado de libertad, i.e., df = 1 se la conoce también como distribución de Cauchy.
Tiene una peculiaridad: no tiene media. Eso se manifiesta, por ejemplo, en que un promedio de muestras de
la distribución de Cauchy no converge como tienden a hacer los promedios en que aplica la ley de los grandes
números sino que oscila. Eso se debe principalmente a los outliers: la cola de la distribución de Cauchy es tan
gruesa que valores de un tamaño tan grande que hacen bascular todo el promedio ocurren frecuentemente.
Se trata de dos distribuciones con soporte en los valores x > 0 y que tienen una forma similar:
30
Distribuciones gamma y lognormal
lognormal
gamma
0.3
0.2
0.1
0.0
0 5 10 15
Ambas son asimétricas y tienen una cola que desciende lentamente hacia la derecha. Se usan para modelar
tiempos (hasta que ocurre algún evento) o magnitudes tales como ingresos, que se extienden a través de
varios órdenes de magnitud.
La distribución lognormal, que es la exponencial de una distribución normal, ejerce el papel de atractor de
distribuciones cuando, en lugar de sumarse, se multiplican. En los mercados financieros, por ejemplo, el precio
de una acción que en t0 vale A, sufre una variación de precio en t1 que puede expresarse multiplicativamente:
A(1 + x1 ), donde x1 es un valor positivo o negativo, próximo a 0, que indica el porcentaje de variaciónP diario.
Al cabo de n periodos, el precio se convierte en A(1 + x1 ) . . . (1 + xn ) ≈ A exp(x1 ) . . . exp(xn ) = A exp( i xi ).
Si las sumas dePvariaciones de precios son (vía el teorema central de límite) aproximadamente normales, la
expresión exp( i xi ) será aproximadamente lognormal.
Por eso se usa en ocasiones la distribución lognormal para modelar los resultados bursátiles. Aunque hay
que tener en cuenta la discusión anterior sobre la no normalidad de los movimientos diarios del precio de los
activos financieros, que arrojan una sombra de sospecha sobre el uso de la distribución lognormal en estos
contextos.
No obstante, e independientemente de la pertinencia del uso de la distribución lognormal en estos contextos,
el ejemplo anterior ilustra cómo tal vez en otros en los que el efecto de las variables no es aditivo sino
multiplicativo, la distribución lognormal puede resultar una herramienta de modelado útil.
La distribución gamma se usa frecuentemente en el llamado análisis de la supervivencia: el estudio estadístico
del tiempo que discurre hasta que ocurre un fenómeno aleatorio: que falle una máquina, que fallezca un
paciente, cierre su cuenta un cliente, etc.
Las distribuciones mencionadas más arriba, ni complementadas con las no consideradas por motivos de
espacio, bastan para modelar cualquier fenómeno aleatorio. Deberían considerarse o bien como plantillas,
o bien como aproximaciones, o bien, como en esta sección, como piezas para componer distribuciones más
realistas.
Una manera de crear distribuciones más fieles a un fenómeno aleatorio es mediante mezclas (en ocasiones,
mixturas) de distribuciones como en este ejemplo gráfico:
31
Mezcla de dos normales
0.04
0.03
Density
0.02
0.01
0.00
40 50 60 70 80 90 100
Data
En él se aproximan unos datos (el histograma) por una distribución (línea negra punteada) que es la mezcla
de dos distribuciones normales (líneas continuas de color rojo y verde). Otro ejemplo habitual de mezclas de
distribuciones es el de la altura de las personas que, aunque aparentemente normal, es (o es más fielmente) la
mezcla de dos normales: las de las normales correspondientes a las alturas de hombres por un lado y mujeres
por el otro. Otra situación en la que juegan un papel importante las mezclas de distribuciones es cuando en
datos que siguen aparentemente una distribución de Poisson hay un exceso de ceros. Puede ser, por ejemplo,
que se esté modelando el número de veces que los clientes de un banco usan su tarjeta de débito al mes; pero
ocurre con frecuencia que un porcentaje importante de ellos no la usa nunca. Eso da lugar a los llamados
modelos de Poisson con inflación de ceros, que no son otra cosa que una mezcla de la distribución de Poisson
con otra de Dirac anclada en el cero.
Para describir una mezcla de distribuciones hace falta especificar dos cosas:
Las distribuciones Xi que se mezclan. P
Sus correspondientes pesos, pi (obviamente, i pi = 1).
Para muestrear una mezcla de distribuciones, se itera el siguiente algoritmo tantas veces como muestras se
quieran obtener:
1. Se obtiene un índice i al azar de acuerdo con las probabilidades pi .
2. Se elige la variable aleatoria correspondiente Xi .
3. Se muestrea Xi .
P
Resulta evidente que la media de una mezcla de distribuciones es E(X) = i pi E(Xi ). La expresión
correspondiente a la varianza es un tanto más complicada.
32
5.9. Distribuciones jerárquicas
La mezcla de distribuciones es un caso particular de una técnica para construir las distribuiciones con las que
modelar fenómenos aleatorios complejos. Por ejemplo, el de las pérdidas por siniestros en una compañía de
seguros en un periodo determinado (p.e., un mes), que se describe de la siguiente manera:
El número de siniestros es Pois(λ)
El impacto económico de cada uno de ellos es lognormal
Aunque tal vez la distribuición así descrita no esté descrita en la literatura o tenga un nombre determinado,
es posible simularla obteniendo muestras repitiendo cuantas veces sea necesario el siguiente algoritmo:
1. Se toma un valor n de una variable aleatoria Pois(λ)
2. Se toman n muestras
P de una variable aleatoria lognormal (con los parámetros adecuados), x1 , . . . , xn
3. Se toma la suma i xi
Otro ejemplo de utilidad práctica podría ser el siguiente: en un negocio de internet, el número de visitas
diarias es una variable aleatoria de Poisson. Un porcentaje (pequeño) de esos visitantes realiza una compra y
el precio de la venta es lognormal.
En general, cada tipo de evento tiene su propia distribución de probabilidad. Si nos interesa el número de
litros por metro cuadrado que lloverá mañana, probablemente sea adecuado modelarlo como una mezcla de
una distribución discreta (de Dirac centrada en cero) con una continua.
En esta sección hemos presentado algunas distribuciones con nombre, que son útiles o inútiles según cómo
se considere. Son útiles en tanto que algunos procesos (¡pocos!) siguen ese tipo de distribuciones. También
porque aunque solo lo sea aproximadamente, la aproximación resulta lo suficientemente buena. Y, en cualquier
caso, porque las propiedades conocidas de las distribuciones con nombre pueden extrapolarse a fenómenos
aleatorios cuya distribución se parece a ellas. Finalmente, porque las distribuciones con nombre pueden
combinarse de diversas maneras para modelar fenómenos complejos.
Por eso que el problema de determinar qué distribución siguien mis datos, especialmente cuando se formula en
términos de cuál de la lista de distribuciones conocidas es mucho menos relevante de lo que muchos opinan.
Existen pruebas estadísticas y medidas de la bondad de ajuste para determinar en qué medida, por ejemplo,
unos datos siguien o no la distribución normal. En ese caso se pueden usar pruebas estadísticas como la de
Kolmogorov-Smirnov (ks.test en R) u otras técnicas similares.
Pero, en general, es recomendable replantear el problema en otros términos. En primer lugar, reflexionando
acerca de si hay razones para suponer que unos determinados datos tienen una de esas ditribuciones de libro.
En ocasiones puede justificarse. En otras es posible describir la distribución como, por ejemplo, como hemos
hecho más arriba, mediante una mezcla de distribuciones o mediante otro mecanismo que simule el mecanismo
generativo de los datos usando las distribuciones conocidas como elemento constructivo.
En última instancia, siempre se puede trabajar sobre los datos mismos y estudiarlos sin construcciones
matemáticas (las distribuciones de probabilidad) interpuestas. El recurso, tan habitual, a la distribución
normal se debe a muchos motivos, de entre los que sobresale el teorema central del límite. Sin embargo,
también obedece a motivos espurios: para describir una distribución normal basta con conocer su media y
su desviación estándar, solo dos números. Esa concisión fue importante en la época en que tanto el proceso
como la transmisión de información era muy onerosa. Actualmente, ese ya no es un problema y podemos
operar sobre muestras grandes (o incluso completas) directamente.
5.11. Referencias
Mezclas de distribuciones
33
5.12. Ejercicios
5.12.0.1. Ejercicio
Integra la función de densidad dgamma(x, 3, 4) entre 0 y 1 usando integrate. Compara el resultado con el
obtenido usando la correspondiente función de probabilidad.
5.12.0.2. Ejercicio
Usa optimize para encontrar el valor máximo de dgamma(x, 3, 4).
Nota: el valor máximo de una función de densidad se llama moda.
5.12.0.3. Ejercicio
Toma una muestra de tamaño n de la distribución Γ(3, 4) (usando rgamma(n, 3, 4)) y calcula la función
de probablidad empírica usando la función ecdf. Crea un gráfico que la compare con la función de
probabilidad original. Utiliza distintos valores de n. ¿Ves algún patrón?
5.12.0.4. Ejercicio
El 80 % de la probabilidad de una Γ(3, 4) está entre los valores qgamma(c(0, 0.8), 3, 4). Y también entre
qgamma(c(0.1, 0.9), 3, 4). Usa optimize para encontrar el intervalo más estrecho. ¿Qué utilidad piensas
que puede tener este intervalo que lo hace preferible al resto?
5.12.0.5. Ejercicio
Representa gráficamente varios intervalos de los que comprenden el 80 % de la probabilidad de una Γ(3, 4).
¿Qué propiedad característica tiene el más corto comparado con el resto?
5.12.0.6. Ejercicio
En t = 1 quedan por enterarse de la noticia (en el ejemplo del texto) 1 − F (1) (en proporción) de la población.
En t = 1,1 se han enterado (en proporción) F (1,1) − F (1) de la población. Por lo tanto, en ese intervalo se
han enterado de la noticia una proporción (o tasa)
F (1,1) − F (1)
1 − F (1)
F (t + 0,1) − F (t)
g(t) =
1 − F (t)
y represéntala gráficamente. ¿Qué aspecto tiene? ¿Cada vez es más fácil o más difícil enterarse?
Nota: esta función es una versión de la llamada función de riesgo (hazard) en el análisis de la supervivencia.
5.12.0.7. Ejercicio
Repite el ejercicio anterior pero considerando una distribución exponencial de parámetro 4 (puedes usar
Γ(1, 4) o, mejor, la distribución exponencial Exp(4)).
34
5.12.0.8. Ejercicio
El número de visitas a una página es, en promedio, de 240k al día. Podemos suponer que el número de visitas
se distribuye según una distribución de Poisson. Los ingenieros quieren dimensionar la página para que solo
se caiga en situaciones extremas, el 0.1 % de los días. ¿Para cuántas visitas diarias deberían dimensionar el
servidor?
5.12.0.9. Ejercicio
Resuelve el ejercicio anterior mediante simulaciones: genera muchas muestras de la distribución de Poisson
correspondiete y calcula el valor que deja a su derecha derecha solo el 0.1 % de ellas (i.e., si la muestra son xi ,
el valor buscado es a tal que la proporción de los xi > a es el 0.1 %).
5.12.0.10. Ejercicio
Las visitas no tienen la misma intensidad a lo largo del día. La intensidad varía horariamente de acuerdo con
una distribución exponencial Exp(λ). Si en una hora el valor de λ es λ0 , entonces el número de visitas en esa
hora tiene distribución de Poisson con parámetro λ0 .
Encuentra el valor de λ tal que la intensidad promedio diaria da 240k visitas. Después, calcula (mediante
simulaciones) el valor extremo de interés, el que da una garantía de servicio del 99.9 % (de las horas).
Compáralo con el obtenido antes.
5.12.0.11. Ejercicio
Calcula la media de una distribución normal estándar mediante simulaciones. Haz muchas simulaciones con
100, 500, 1000 y 10000 muestras y compara su dispersión.
5.12.0.12. Ejercicio
Haz lo mismo que antes, pero para la varianza.
5.12.0.13. Ejercicio
Repite el ejercicio de la estimación de la media con la distribución de Cauchy. Muestra su distribución
obteniendo muchas estimaciones con 100, 500, 1000 y 10000 muestras y compara su dispersión.
f (x1 , . . . , xn )
Las distribuciones marginales se obtienen por integración. P.e., para dos variables aleatorias,
35
Z ∞
f (x1 ) = f (x1 , x2 )dx2
−∞
El siguiente gráfico muestra una distribución bidimensional (más bien, una muestra de ella) acompañada de
sus correspondientes distribuciones marginales representadas como un histograma.
−2
−2 0 2
Merece la pena mencionar las cópulas: distribuciones construidas de forma que tengan unas distribuciones
marginales dadas y además de una determinada correlación entre las variables. Las cópulas encuentran
aplicaciones en finanzas y otros ámbitos muy concretos de la ciencia de datos y no nos ocuparemos de ellas.
6.1. Independencia
Sí que lo haremos de una relación muy importante, aunque ya conocida, entre variables aleatorias: la
independencia. El gráfico anterior representaba dos variables aleatorias dependientes: valores bajos de la una
correspondían a valores bajos de la otra, etc. Conocer el valor de una de ellas acotaba el rango de valores que
podía tomar la otra.
Sin embargo, podemos generar una muestra similar, preservando las distribuciones marginales pero de manera
que las variables aleatorias sean independientes:
36
2
−2
−2 0 2
En este nuevo caso, conocer X no aporta información en absoluto sobre Y . Como antes, esta descripción
cualitativa de la probabilidad puede formalizarse en términos de la probabilidad condicional así:
f (x, y)
f (y|x) = = f (y)
f (x)
y, en general, si las variables aleatorias X1 , . . . , Xn son independientes entre sí, entonces su función de densidad
conjunta puede factorizarse de la siguiente forma:
Y
f (x1 , . . . , xn ) = f (xi )
i
Reiteramos que la independiencia, aunque importante, es una relación poco interesante entre variables
aleatorias. El objetivo de la ciencia de datos es extraer información acerca de una variable aleatoria desconocida
Y en función de otras conocidas Xi y eso es imposible si Y ⊥ Xi .
Vamos a ilustrar cómo explotar relaciones de dependencia simples a través de un ejemplo. Se trata de un juego
en el que alguien elige al azar un valor θ ∈ [0, 1] y luego tira al aire cinco veces una moneda con P (H) = θ.
Si nos comunican el número de caras, ¿qué podemos decir acerca de θ? De alguna manera, la información
adicional, aunque indirecta, debería influir en nuestra idea acerca del valor (recuérdese: desconocido) de θ.
37
Este parece un ejercicio ocioso pero es la base de muchos problemas reales: un sujeto puede tener una
propensión θ desconocida a realizar cierto tipo de acciones (de resultado binario) e interesa estimar θ.
La distribución del número de caras para un valor dado de θ (es decir, condicionado a θ) es binomial con
parámetros 5 y θ. Matemáticamente, tenemos una variable aleatoria N con distribución condicional
N |θ ∼ Binom(5, θ).
Conocemos pues P (N = n|θ), pero queremos conocer P (θ|N = n), es decir, la distribución de θ sabido que
N = n. Podemos escribir
P (N = n, θ) P (N = n|θ)P (θ)
P (θ|N = n) = =
P (N = n) P (N = n)
para obtener de nuevo la expresión conocida como teorema de Bayes. En ella podemos sustituirP (θ) por 1 (y
por 0 fuera del intervalo [0, 1]) dado que θ es uniforme en [0, 1]. También P (N = n|θ) por n5 θn (1 − θ)5−n .
Finalmente, P (N = n) nos da un poco igual porque no depende de θ, así que podemos reemplazarlo por una
cosntante de la que nos ocuparemos después.
Con esas sustituciones,
(
5
C n θn (1 − θ)5−n = Cθn (1 − θ)5−n si θ ∈ [0, 1]
P (θ|N = n) =
0 en otro caso
expresión donde todos los términos que no dependen de θ se han absorbido, tal vez con un abuso de la
notación, en la constante C. Dado que la expresión obtenida es una función de densidad (de θ|N = n), C
tiene que ser tal que
Z 1
C θn (1 − θ)5−n dθ = 1
0
Se puede calcular C (aunque luego veremos que, realmente, no hace falta) y representar las 6 posibles
distribuciones de densidad asociadas a θ según del valor de N :
curve(dbeta(x, 1, 6), main = "Distribuciones posteriores del parámetro según n", xlab = "", ylab = "")
curve(dbeta(x, 2, 5), add = T)
curve(dbeta(x, 3, 4), add = T)
curve(dbeta(x, 4, 3), add = T, col = "red")
curve(dbeta(x, 5, 2), add = T)
curve(dbeta(x, 6, 1), add = T)
38
6
5
4
3
2
1
0 Distribuciones posteriores del parámetro según n
La relación entre dos variables aleatorias (continuas en este caso) puede medirse a través de su covarianza:
Z
σ(X, Y ) = (x − E(X))(y − E(Y ))f (x, y) dxdy
Si X ⊥ Y , entonces es fácil probar que cov(X,Y) = 0. La relación inversa es falsa. Solo se cumple en algunos
casos concretos, como cuando las variables aleatorias involucradas son normales. Pero en general, vale la pena
repetirlo, no es cierta.
En general, si X e Y tienden a tomar valores altos o bajos a la vez, su covarianza será positiva. Si valores
altos de X tienden a corresponder con valores bajos de Y (y a la inversa), la covarianza será negativa.
Por definición, además, σ(X, X) = σ 2 (X).
La covarianza está afectada por el valor relativo de las variables X e Y y puede tomar valores arbitrariamente
altos (o bajos). Por eso, como medida de la relación entre dos variables es preferible el coeficiente de
correlación, que se define así:
39
σ(X, Y )
ρ(X, Y ) =
σ(X)σ(Y )
El coeficiente de correlación toma valores entre −1 y 1. Solo es 1 (−1) cuando X = aY + b y a > 0 (a < 0), es
decir, cuando las variables son transformaciones lineales la una de la otra. En esos casos degenerados, conocer
una de ellas da información completa sobre la otra. Conforme más alto (en valor absoluto) es la correlación,
más información proporciona conocer una de ellas sobre la otra. Por eso, en ocasiones, se utiliza el coeficiente
de correlación para seleccionar variables predictoras para modelos (aunque hay técnicas mucho mejores para
eso).
6.4. Referencias
Distribuciones conjugadas
6.5. Ejercicios
7. Introducción a la estadística
Como hemos indicado más arriba, la teoría de la probabilidad es deductiva: o conocemos las probabilidades
asociadas a los eventos son o podemos calcularlas aplicando ciertas reglas. La estadística trata de recorrer el
camino inverso inductivamente: a partir de la observación de ciertos fenómenos aleatorios trata de revelar el
mecanismo aleatorio subyacente.
Los conceptos de universo y muestra permiten ilustrar esa diferencia fundamental. En probabilidad se
conoce (o se pretende conocer) el universo. Por ejemplo, puede saberse que en un país de 47 millones de
habitantes hay 4 en paro. A partir de esos datos, puede deducirse la probabilidad de que en una muestra de
cinco mil de ellos haya un determinado número de parados: se puede aproximar por una distribución binomial
con una probabilidad de éxito conocida.
La estadística, sin embargo, se plantea un problema más real y de verdadera importancia práctica: a partir
del número de parados en una muestra, estimar el de los existentes en la población total, en el universo.
Los universos no se extienden únicamente a través de poblaciones: también lo hacen, y esto es importante, en el
tiempo y sobre lo contingente, lo que tal vez no ocurra nunca: cuando un probabilista asigna una probabilidad
de 0.7 al evento de que un determinado futbolista marque un penalti, está refiriéndose implícitamente a un
universo que incluye tanto los penaltis tirados como los aún no tirados por dicho futbolista. Lo mismo ocurre
cuando se habla de la probabilidad de que un cliente convierta (donde se incluyen a los clientes del día de
mañana) o a la de obtener cara en un lanzamiento de moneda (aun cuando no se realice ninguno).
Sin embargo, las muestras son concretas: los penaltis lanzados durante las últimas tres temporadas, el histórico
de visitas y conversiones durante los últimos meses o el número de caras obtenidas en quinientos lanzamientos
de una determinada moneda.
40
probabilidad
universo muestra
estadística
universo muestra
El big data ha replanteado la distinción entre universo y muestra. Si tienes todos los datos, si tu muestra es
igual al universo, ¿cabe aún distinguir entre la una y el otro? ¿Tiene eso impacto sobre la inferencia, i.e., el
proceso de razonar desde lo concreto a lo general?
En el caso del país y el paro descrito más arriba, tal vez. Podría pensarse en un sistema que automática y
fidedignamente pudiese proporcionar el número de parados (o el número de fumadores de marihuana) en un
país en tiempo real. Sin embargo, en muchos otros casos de interés, el universo no cabe en el big data: no
podría existir un registro de fenómenos jamás observados, como el efecto de una bajada de precios de un
producto en sus ventas; o como las noticias que más pudieran interesar mañana a un lector determinado
de un periódico; o, incluso, qué enfermedad puede tener un paciente que muestra un determinado cuadro
clínico (antes de realizar pruebas adicionales). Porque el universo incluye eventos futuros, potenciales o nunca
observados como el efecto de una intervención potencial o un comportamiento futuro. Además, frecuentemente,
disponer de toda la información puede ser prohibitivamente caro: piénsese en pruebas médicas.
Por eso, siempre tendremos que tomar decisiones bajo incertidumbre, es decir, teniendo una visión parcial del
universo. Que es, esencialmente, el objeto de la estadística.
Aunque existen precedentes previos de censos y otras operaciones estadísticas, la estadística (e incluso, su propio
nombre: Statistik) nació en Alemania a mediados del s. XVIII y estaba relacionada con la recogida sistemática
de información económica, demográfica, etc. por parte del estado. Existe una diferencia importante entre estas
colecciones de datos y otras previas: por su propia estructura, formato y presentación estaban preparadas
para la comparación. Típicamente, la información se resumía en tablas que permitían la comparación de
variables climáticas, agropecuarias, económicas, demográficas, etc. entre las distintas unidades territoriales.
Esta aritmética política se convirtió en aritmética social en el siglo XIX tanto en Inglaterra como en Francia.
En ambos países, aunque desde perspectivas y con intereses distintos, comenzaron a acumularse datos de
interés social: censos, causas de muerte, impuestos, etc. Estos primeros estadísticos comenzaron a apreciar
regularidades sorprendentes en los datos; por ejemplo, en la tasa de suicidios, que tendía a mantenerse
tozudamente constante a través del tiempo. Estas regularidades y su estudio dieron lugar a disciplinas como
la sociología. Pero también a un incipiente desarrollo matemático de la estadística.
La estadística clásica, la que se enseña en los cursos de iniciación, sin embargo, es un invento británico
del periodo que aproximadamente va de 1880 a 1940 y está muy relacionada con los estudios agrícolas,
aplicaciones industriales, etc. que proponían problemas de otra naturaleza: ¿es este tratamiento efectivo?,
¿son los rendimientos de estas semillas significativamente diferentes?, etc. Es en ese contexto que nacieron
conceptos fundamentales como las pruebas de hipótesis, los p-valores, el análisis de la varianza, etc.
La estadística moderna, muy reciente, es la que construye sobre la estadística clásica pero, a diferencia de
aquella, usa ordenadores. La estadística clásica y la moderna comparten problemas y objetivos, pero se
diferencian en la forma. Muchos de los aspectos más abstrusos de la estadística clásica y que colean todavía
en textos modernos obedecen a un motivo: responden a la falta de capacidad de cálculo en la época que los
vio nacer. Es decir, resuelven un problema que hoy hemos aprendido a resolver de otra manera.
41
La emergencia de los ordenadores ha permitido, entre otras cosas, establecer una relación muy fructífera
con otra disciplina que a veces se quiere ver confrontada a ella, la del aprendizaje automático (machine
learning; antes data mining). Y también la del redescubrimiento de los métodos bayesianos, muy exigentes
computacionalmente, pero que están adquiriendo una importancia fundamental hoy en día.
En cualquier caso, el hilo conductor de la estadística moderna, del s. XVIII hasta nuestros días, es el del
desarrollo de técnicas para lograr dos objetivos fundamentales:
Comparar
Tomar decisiones
Estos objetivos están en conflicto con una visión reduccionista de la estadística (o, más propiamente, del
análisis estadístico de datos) que es la que prevalece en libros y programas académicos. Para poder alcanzar
los objetivos anteriores, esta visión debería trascenderse para incluir desde la adecuada recolección de datos
hasta la discusión en términos económicos, sociales o políticos de sus resultados de cara a la toma de las
decisiones últimas.
8. Estadística descriptiva
La estadística descriptiva comprende un conjunto de técnicas y procedimientos para un análisis primero de
los datos que tiene como objetivo familiarizarse con ellos y descubrir y describir sus principales características.
Es inseparable de la visualización de datos, casi una disciplina en sí misma pero que a menudo los mismos
estadísticos marginan. Además, está muy relacionada con una disciplina emergente, el EDA (exploratory data
analysis), que extiende la exploración gráfica de los datos hasta incluir prácticamente la fase de análisis.
Aunque menos útiles de lo que suele considerarse y de la importancia que se les otorga, los resúmenes
numéricos son rápidos y sirven para detectar fenómenos gruesos en los datos antes de un análisis más fino.
Dados unos datos nuevos, en R, se pueden obtener resúmenes de interés usando, por ejemplo y entre otras
funciones:
mean, la media, que es un estadístico sobrevalorado y que puede verse muy severamente afectado por la
presencia de outliers.
var, la varianza o sd, la desviación estándar. Son más importantes cuando los datos son normales (o
aproximadamente normales); en otros casos, su importancia como medida de la dispersión es relativa y
más difícil de interpretar. Además, como la media (o incluso más que la media) se ven afectadas por los
outliers.
quantile, para los cuantiles, que son resúmenes más interesantes y que permiten capturar más
información de los datos; de entre ellos, el más importante es la mediana, median, una medida de
centralidad en general mucho más útil y robusta que la media.
Relacionada con la anterior, fivenum proporciona los cinco números de Tukey, un resumen de un vector
numérico que incluye el máximo, el mínimo, la mediana y los cuartiles. Es muy interesante porque el
máximo y el mínimo, en ocasiones, de no ser razonables, pueden apuntar a problemas serios en los
datos. Los cuartiles, por su parte, acotan la masa de la distribución, la región donde es más probable
encontrar observaciones.
summary, que para vectores numéricos proporciona los cinco números de Tukey más la media. Tiene la
ventaja de que puede aplicarse directamente a tablas y que para columnas categóricas ofrece también la
frecuencia de las clases más comunes.
Existen muchas más funciones de ese tipo, pero se resumen en dos tipos según el tipo de información que
proporcionen: información sobre la centralidad de la distribución o información sobre su dispersión. Las
medidas de centralidad tratan de ofrecer un resumen de una distribución basado en un único valor, que
frecuentemente se interpreta (casi siempre de manera errónea o engañosa) como el sujeto representativo. Las
42
medidas de centralidad más habituales son la media, la mediana y la moda (el valor más frecuente), aunque
hay otras como las llamadas medias winsorizadas. Para distribuciones simétricas y unimodales (como la
normal), todas estas medidas de centralidad coinciden y tienen una interpretación muy natural.
2000
1500
1500
1000
1000
500
500
0
43
Finalmente, y por su relación el tipo de resúmenes numéricos discutidos más arriba, está el problema de su
tabulación para ser presentados a terceros o, más propiamente, su adecuada tabulación. Las tablas de datos
son frecuentemente alternativas válidas (y recomendadas) a ciertos gráficos. Pero crear tablas efectivas es un
arte que pocas veces se ejerce con el dominio que requiere. Aunque abundar sobre las características deseables
de una buena tabla queda al margen del alcance de estas páginas, en las referencias se incluyen enlaces a
algunos manuales valiosos.
En esta sección vamos a repasar algunas visualizaciones clásicas y menos clásicas de información cuantitativa.
En primer lugar y como evolución de los resúmenes estadísticos básicos de la sección anterior, presentaremos
los histogramas. Los histogramas describen la forma de una distribución y dan cuenta no solo de sus valores
centrales (i.e., los que indicarían la media o la mediana) o su dispersión (a través de la varianza o la desviación
estándar) sino, además, su forma, el aspecto de sus colas y sus valores máximo y mínimo.
Es, casi indubitablemente, el primer resumen estadístico (previo incluso a los cuantitativos de la sección
anterior) que realizar sobre un vector de datos de interés. Además, en R, prácticamente con el mismo
esfuerzo (medido, si se quiere, en términos del número de teclas pulsadas), se obtiene un resumen mucho más
informativo.
En el gráfico que aparece a continuación se representa el histograma de una muestra de la distribución gamma
y se le superpone la gráfica de la función de densidad correspondiente.
x <- rgamma(1000, 3, 4)
hist(x, main = "Histograma de una muestra de una Gamma(3,4)",
probability = TRUE,
xlab = "", ylab = "", col = "gray")
curve(dgamma(x, 3, 4), min(x), max(x), add = T, lty = 2)
44
Densidad de una muestra de una Gamma(3,4)
estimada
1.0
real
0.8
0.6
0.4
0.2
0.0
20
10
0
45
tmp <- HairEyeColor[, 2,1 ]
dotchart(sort(tmp), main = "Número de sujetos por color del pelo")
Brown
Blond
Black
Red
10 20 30 40 50
Una diferencia notable entre las barras y los puntos es que las primeras exigen, para una correcta interpretación
de los datos, que estén basadas en el nivel 0. Subrayan, por tanto, las medidas absolutas. En cambio, para los
diagramas de puntos esa restricción se suaviza y pueden representar mejor las variaciones relativas (p.e., entre
medidas muy parecidas, con variaciones del orden del 1 % entre ellas, que serían inapreciables con barras
basadas en cero).
Los gráficos anteriores sirven para representar una única variable aleatoria, sea continua o categórica. En
ocasiones hay que comparar dos de ellas. Si son numéricas, el gráfico por excelencia es el de dispersión:
plot(cars$speed, cars$dist,
xlab = "velocidad inicial",
ylab = "distancia de frenado",
main = "Distancia de frenado en función de la velocidad inicial")
46
Distancia de frenado en función de la velocidad inicial
100 120
distancia de frenado
80
60
40
20
0
5 10 15 20 25
velocidad inicial
Sin embargo, a veces solo interesa comparar las distribuciones de dos variables. Para eso son útiles los gráficos
de cuantiles (o qq), como el siguiente:
qqplot(rnorm(1000), rt(1000, 3),
xlab = "normal estándar", ylab = "distribución t")
10
5
distribución t
0
−5
−10
−3 −2 −1 0 1 2 3 4
normal estándar
En él se comparan los cuantiles de dos muestras: una normal estándar y una distribución t con 3 grados
de libertad. En la zona central la gráfica es casi una recta, lo que significa que las distribuciones son muy
47
parecidas (salvo en la escala: los cuantiles que para la normal recorren los valores entre -2 y 2, cubren el
intervalo entre -5 y 5 para la distribución t). La gran diferencia se observa en las colas: las de la t son
más gruesas y eso se refleja en la característica curvatura en los extremos de la gráfica: los cuantiles de la
distribución t crecen más aprisa que los de la normal y eso curva la gráfica.
El gráfico siguiente muestra otro ejemplo en el que se comparan las distribuciones gamma y lognormal. Se
aprecia cómo la cola de la segunda es más pesada que la de la primera, tiene una mayor dispersión.
0.0 0.5 1.0 1.5 2.0 2.5 3.0
distribución gamma (3,4)
0 20 40 60
48
25
20
15
10
5
0 Número de insectos según el tipo de tratamiento
A B C D E F
Los diagramas de caja están íntimamente relacionados con los cinco números de Tukey (además, este tipo
de diagramas son invención de ese estadístico). Muestran la distribución de la variable continua a través de
los distintos niveles de la categórica resumiendo su distribución y disponiéndola en paralelo al resto. Así se
pueden comparar sus valores relativos.
Las cajas son representaciones sucintas de la distribución de la variable continua. Reflejan su rango intercuar-
tílico (límites de la caja), donde se acumula la masa de la distribución, su mediana (trazo horizontal grueso)
y unos indicadores, los bigotes, que indican hasta donde se extienden los valores no considerados anómalos.
Estos, de ocurrir, se representan como puntos aislados.
De hecho, en la gráfica anterior aparece un valor anómalo (>10) para la categoría D. Ese valor no parece
atípico dentro de la distribución agregada de los datos (es parecido a muchas observaciones de las categorías
A, B y F), pero destaca cuando se lo compara únicamente con los de su propio grupo. Lo mismo puede decirse
de la observación anómala (>5) de la categoría C.
Características adicionales de la distribución (como la bimodalidad, de existir) quedan desdibujados por esta
representación tan sencilla como efectiva. Por eso, en algunas circunstancias, son preferibles los gráficos de
violín (ver referencias) o la superposición de las densidades.
Cuando ambas variables son categóricas, pueden usarse barras (sean apiladas o yuxtapuestas) o los llamados
gráficos de mosaico, una de cuyas variantes más básicas es:
mosaicplot(HairEyeColor[,,1], main = "Color del pelo según el de los ojos")
49
Color del pelo según el de los ojos
Blue
Green Hazel
Hair
Existen alternativas que usan gradientes de color para indicar excesos o defectos relativos de conteos con
respecto a los esperados, algo sobre lo que se abundará más adelante, al tratar los datos tabulares.
De todos modos, los anteriores son gráficos excesivamente simples que muestran a las variables una a una o
por parejas. Sin embargo, en el estudio de fenómenos reales, es conveniente en ocasiones examinar el efecto
simultáneo de varias variables y existen técnicas para mostrar relaciones más complejas, como el siguiente:
library(ggplot2)
50
8
Anchura pétalo
0.5
7 1.0
longitud del sépalo
1.5
2.0
2.5
6
Especie
setosa
5 versicolor
virginica
2 4 6
longitud del pétalo
En el se muestran cuatro variables simultáneamente y se aprecia cómo la especie setosa está claramente
diferenciadas del resto y cómo pétalos y sépalos son claramente más pequeños que los de las otras.
Una de las maneras más eficaces de incluir variables adicionales en un gráfico es usando la técnica conocida
como de los pequeños múltiplos. La técnica de los pequeños múltiplos sugiere dividir el lienzo en varios
paneles dispuestos en una retícula y ordenados de una determinada manera para poder apreciar los cambios
en una representación gráfica básica a través de los niveles de otra u otras variables.
En el ejemplo que aparece a continuación se muestran los histogramas de muestras de una distribución gamma
a lo largo de diversos valores de uno de sus parámetros.
51
Histograma de una Gamma(i, 2)
1 2 3
3000
2000
1000
4 5 6
3000
2000
1000
0
0.0 2.5 5.0 7.5 10.00.0 2.5 5.0 7.5 10.00.0 2.5 5.0 7.5 10.0
Los pequeños múltiplos son alternativas tanto a la superposición de figuras como, en algunos casos, a las
animaciones. El principal problema de estas últimas, a pesar de su creciente popularidad en un mundo cada
vez más audiovisual, es que ordenan las vistas a los datos en el tiempo y no en el espacio, lo que dificulta las
comparaciones.
Para terminar, un área que está cobrando gran importancia hoy en día es el de los gráficos interactivos.
Permiten tanto la incorporación de muchas variables simultáneamente como la exploración de la información
por parte del usuario. Tienen ciertas ventajas sobre los gráficos estáticos, frecuentemente infravalorados, pero
resultan muy eficaces en determinados contextos.
A pesar de su interés, en estas páginas no discutiremos más los últimos tipos de gráficos, que exigirían una
monografía específica. Eso sí, se invita al lector a explorar y familiarizarse con esas técnicas y las herramientas
necesarias.
El análisis exploratorio de datos (o EDA, de exploratory data analysis) es un conjunto de técnicas para
explorar e incluso modelar datos usando fundamentalmente técnicas gráficas de manera interactiva.
Muchas de estas técnicas se basan en la representación simultánea de los mismos datos desde distintas
perspectivas con herramientas específicas. Estas herramientas permiten realizar dos operaciones muy potentes
y relacionadas.
Enlazado de datos (linked data): al seleccionar interactivamente un conjunto de datos en una de
las perspectivas, las observaciones correspondientes se marcan también en el resto. Esto permite por
ejemplo seleccionar una categoría determinada en un diagrama de barras y ver qué región del espacio
ocupan esos puntos en una serie de diagramas de dispersión enlazados. O, a la inversa, ver a qué
categoría pertenecen unas observaciones destacadas en un diagrama de dispersión.
52
Brushing: típicamente, sobre un diagrama de barras, se puede aplicar una paleta de colores que se
transmiten al resto de las perspectivas. Es similar al enlazado de datos, solo que aplica simultáneamente
para todas las categorías.
Existen libros enteros dedicados al EDA y herramientas libres como GGobi o Mondrian con las que familiza-
rizarse con estas técnicas.
8.4. Referencias
What is a good resource on table design?, con comentarios y enlaces sobre el diseño efectivo de tablas.
Grahping resources: designing tables, con consejos para la creación de tablas.
Too many digits: the presentation of numerical data, sobre cuántos dígitos mostar en tablas y otros
tipos de resúmenes estadísticos.
Is it meaningful to talk about a probability of “65.7%” that Obama will win the election?, sobre cómo el
redondeo permite transmitir información sobre la incertidumbre asociada a mediciones y predicciones.
40 years of boxplots, donde se discute la historia de los diagramas de caja así como alternativas recientes
a los mismos, incluyendo los gráficos de violín.
Dos técnicas fundamentales para gráficos dinámicos de datos: linking y brushing
Superposición de densidades
Mondrian, una herramienta desarrollada en Java para el análisis exploratorio de datos (EDA)
GGobi, una herramienta para el análisis exploratorio de datos (EDA)
8.5. Ejercicios
8.5.0.1. Ejercicio
muestra de observaciones independientes de una distribución N (µ, σ) tiene media
Probar que la media de una p
µ y desviación estándar σ/ (n). (Nota: además de eso, ya sabemos que la distribución de esa media es
normal).
9. Estimación puntual
El objetivo de la estimación puntual es el de obtener estimaciones razonables de parámetros de alguna
distribución (p.e., la media) desconocida (o parcialmente desconocida) de la que se tiene una muestra, así
como las correspondientes estimaciones del error cometido. Un ejemplo paradigmático de la estimación
puntual es el de la estimación de la tasa de paro, que es una magnitud desconocida θ. Para ello, sobre la
población española se realiza una encuesta, la EPA, con la que se construye un estimador θ̂ de θ.
En este capítulo presentaremos varios métodos de para la estimación puntual de parámetros. Comenzaremos
con uno de los más antiguos, el de los momentos, para seguir con los basados en funciones de pérdida, uno de
los favoritos de la ciencia de datos, que nos conducirá a los M-estimadores. Terminaremos con los basados en
la función de verosimilitud y la estimación por máxima verosimilitud.
Finalmente, nos ocuparemos del error cometido y de la convergencia de estos estimadores a sus valores reales.
Queda fuera de este capítulo, y no porque sea irrelevante sino porque se cubrirá en uno posterior específico,
la perspectiva bayesiana del problema.
Históricamente, es el primero (aunque con salvedades) que se propuso para resolver este problema. Fue
propuesto por Karl Pearson en 1894.
53
Podemos ilustrarlo con un ejemplo. Podemos suponer que se tiene una muestra de una variable aleatoria con
distribución X ∼ Γ(a, b) y el problema consiste en estimar los parámetros desconocidos a y b. Como sabemos
que E(X) = a/b y σ 2 (X) = a/b2 , podemos calcular la media y la varianza muestral, plantear las ecuaciones
correspondientes y despejar nuestras estimaciones â y b̂.
En lugar de resolver este problema analíticamente, podemos plantearlo en R directamente. En primer lugar,
extraeremos una muestra de una distribución gamma con parámetros 3 y 4 y calcularemos la media y la
varianza de esta muestra:
muestra <- rgamma(1000, 3, 4)
media <- mean(muestra)
varianza <- var(muestra)
Después usaremos la la función nleqslv del paquete homónimo para resolver el sistema de ecuaciones
correspondiente. En realidad, la función no resuelve ecuaciones sino que encuentra ceros de funciones, por lo
que definiremos la función auxiliar foo que tenga sus ceros en la solución del sistema de ecuaciones:
library(nleqslv)
nleqslv(c(1,2), foo)$x
De nuevo, ilustraremos cómo estimar parámetros de una distribución mediante un ejemplo. Si Pµ es una
distribución con media µ, entonces podemos definir la función del parámetro θ como
Z
l(θ) = (x − θ)2 dPµ (x)
Se puede probar que esta función tiene su mínimo en E(X) = µ. Así que dada una muestra xi de esa
distribución, como
1 X
l(θ) ≈ (xi − θ)2
N i
tiene un mínimo en el parámetro de interés, podemos obtener una aproximación a él minimizando la expresión
X
f (xi , θ)
i
54
En el caso anterior, f (x, θ) = (x − θ)2 es la llamada pérdida cuadrática. Que se usa frecuentemente pero
que es solo una de las posibles. Como alternativa se puede usar f (x, θ) = |x − θ|, que tiene su mínimo en la
mediana de la distribución y que es menos sensible a outliers.
Estas dos son las más populares y cubren la práctica totalidad de las usadas en el mundo real. Sin embargo,
es posible usar otras distintas con propiedades deseables. Por ejemplo, que sean aún más robustas a outliers.
Existe, de hecho, una subdisciplina entera de la estadística, la de los M-estimadores, que estudia estas
funciones alternativas y sus propiedades y que conecta con la teoría de los estimadores robustos, que son
altenativas a los tradicionales cuando las observaciones presentan patrones de ruido excesivo.
cuadrática valor absoluto Tukey
0.8
0.8
0.8
0.4
0.4
0.4
0.0
0.0
0.0
−2 −1 0 1 2 −2 −1 0 1 2 −2 −1 0 1 2
En el gráfico anterior se muestra el perfil de tres funciones de pérdida: la cuadrática, la del valor absoluto y la
de Tukey. Se observa cómo el impacto de una observación muy alejada en el último caso tiene el mismo peso
que una razonablemente alejada; no ocurre lo mismo con las otras dos. El cuadrado de la cuadrática, además,
da un peso superior a estas observaciones que el que les asigna la pérdida basada en el valor absoluto.
En concreto, con pérdidas cuadráticas, un outlier puede tener una influencia enorme sobre la estimación.
El uso de otro tipo de funciones de pérdida reduce el impacto de los outliers y por lo tanto, proporcionar
estimaciones más robustas.
El uso de funciones de pérdida es muy habitual cuando se ajustan modelos, algo a lo que se volverá más
adelante. Supongamos que dos variables aleatorias X e Y dependen la una de la otra de manera que, p.e.,
Y |X ∼ N (a + bX, σ). Eso significa que Y depende de X y de parámetros a y b: para cada valor de X, Y
tiene una distribución normal y su media (supuesto a > 0) es tanto mayor cuando mayor sea X.
Dada una muestra (xi , yi ) de la distribución conjunta de X e Y , podemos estimar a y b minimizando la
función de pérdida
X
l(a, b) = (yi − a − bxi )2 .
i
De hecho, ese procedimiento es muy habitual, prácticamente el procedimiento por defecto, en ciencia de datos.
El uso de funciones de pérdida tiene una relación muy estrecha con la toma de decisiones. Las funciones
de pérdida consideradas más arriba (p.e., la cuadrática, (x − θ)2 son tan comunes como arbitrarias. En
situaciones reales pueden existir funciones de pérdida propiamente dichas que cuantifiquen el error cometido
en, por ejemplo, euros. En tales circunstancias, es perfectamente razonable utilizarlas directamente en lugar de
cualquiera de las de libro. Por ejemplo, en un hospital pueden querer estimar el número de camas que reservar
para el servicio de urgencias. En tal caso, una sobreestimación (que dilapida recursos), aunque indeseable, es
mucho menos grave que una infraestimación (que dejaría a pacientes con una antención inadecuada). En
particular, la pérdida no es simétrica y la función de pérdida debería penalizar más severamente el error por
defecto que el por exceso. Ese tipo de funciones de pérdida puede llevar a elegir como parámetro no ya una
medida de centralidad de la distribución sino un cuantil de la misma.
Este ejemplo ilustra la estrecha vinculación entre el análisis de los datos y el proceso de toma de decisiones.
Desafortunadamente, en demasiadas situaciones existe una importante brecha de comunicación entre quienes
analizan los datos y los responsables de tomar las últimas decisiones. Este es el motivo, de hecho, de muchas
de las decisiones incorrectas que toman instituciones púbicas y privadas.
55
9.3. Estimación por máxima verosimilitud
La estimación por máxima verosimilitud está relacionada con el concepto, sumamente intuitivo, de
valor más verosímil, que podemos ilustrar con el siguiente ejemplo. Supongamos que hay dos urnas; la primera
contiene cinco bolas blancas y un negra; la segunda, cinco bolas negras y una blanca. Alguien extrae de una
de ellas (y no nos dice cuál) una bola que resulta ser negra. Parece que la opción más verosímil es la segunda,
la que contiene cinco bolas negras.
Esta idea intuitiva se puede formalizar para luego poder ser extendida. En efecto, la probabilidad de que
la bola sea negra de haber sido extraída de la primera urna es P (N | U = 1) = 1/6. La probabilidad
correspondiente a la segunda urna es P (N | U = 2) = 5/6. Por ese motivo nos decantamos por U = 2.
En general, si tenemos unos datos extraídos de una distribución Pθ , donde θ es un parámetro desconocido,
podemos construir la función P (datos | parametros) y, de optar por algún valor de θ es razonable hacerlo por
aquel que maximiza esa expresión. Esa expresión se conoce como función de verosimilitud y se representa
así:
Vamos a usar la estimación por máxima verosimilitud para estimar el parámetro desconocido en un problema
de lanzamiento de monedas: se tira una 100 veces y se obtienen 60 caras. El parámetro desconocido es el
parámetro θ de una distribución binomial. La función de verosimilitud es
100 60
L(θ) = θ (1 − θ)40
60
que es la que tenemos que maximizar. Es evidente que maximizar esa expresión equivale a maximizar
θ60 (1 − θ)40 porque el factor faltante no depende de θ. También lo es que maximizar esa expresión equivale a
maximizar su logaritmo, 60 log θ + 40 log(1 − θ). Ahora es sencillo derivar con respecto a θ, igualar a cero,
despejar y obtener la estimación θ̂ = 0,6.
De hecho, es habitual que la verosimilitud tenga forma de producto de términos (por ejemplo, cuando las
observaciones, como en este caso, son independendientes) y es muy habitual representar y operar con el
logaritmo de la verosimilitud en lugar de con esa función directamente. Incluso por motivos de precisión
cuando las operaciones se realizan con un ordenador.
También es posible resolver analíticamente otro caso general: X sige una distribución normal N (µ, σ) y se
obtiene una muestra x1 , . . . , xn de X,Pentonces se puede probar que la estimación por máxima verosimilitud
de la media, µ̂ no es otra cosa que n1 i xi , la media muestral de las observaciones.
P De hecho, al operar sobre
la verosimilitud, se observa cómo maximizarla se reduce a minimizar la suma i (xi − θ)2 . Es decir, estimar
por máxima verosimilitud en este caso se reduce a minimizar una pérdida cuadrática. De hecho, en este
caso, las estimacines por máxima verosilitud, con una pérdida cuadrática y por el método de los momentos,
coinciden.
En las secciones anteriores hemos planteado y justificado una serie de procedimientos para obtener estimaciones
de parámetros. Pero surge una pregunta: ¿funcionan verdaderamente? Más concretamente, si hemos estimado
θ̂, ¿tenemos garantías de que esa estimación esté próxima al valor verdadero θ?
Existe una serie de teoremas, llamados de convergencia, que estudian qué sucede si construimos el estimador
θ̂n a partir de muestras crecientes en tamaño (n) de la distribución subyacente. Una de las preguntas que
intentan responder es si como se espera (o en qué casos), θ̂n tiende a θ, i.e., si al crecer el tamaño de la
muestra, más se aproxima el valor estimado al real.
56
Estos teoremas se preocupan también del sentido que tiene esa convergencia. En concreto, si lo es en
probabilidad o casi seguro. Esta es una discusión muy técnica que excede el alcance de este manual.
Una última cuestión que se plantean, refinando las anteriores, es acerca de la distancia esperada entre θ̂n y θ,
que desarrollaremos en la siguiente sección.
En realidad, en algunos de los casos vistos anteriormente, el estimador θ̂ no es otra cosa que una proporción
o, más en general, una media. En esos casos (y bajo ciertas condiciones no particularmente estrictas), la ley
de los grandes números garantiza la convergencia. Los teoremas de convergencia arriba mencionados permiten
extender estos resultados a (prácticamente) cualquier estimador θ̂ de los considerados antes.
No solo interesa tener garantías de que θ̂n tiende a θ; también queremos tener alguna indicación de la distancia
entre ambos valores. Teóricamente, tendremos una distribución (usualmente no conocida o solo conocida
aproximadamente) de las diferencias entre el estimador y el valor real. En la práctica, estas distribuciones se
traducen en rangos alredededor del estimador derivados de aquellas distribuciones y cuya longitud decrecerá
con el número de observaciones, dentro de los cuales cabe encontrar el parámetro verdadero.
Comenzaremos con una discusión sobre los intervalos de confianza que extenderemos con una mención a una
serie de resultados teóricos y concluiremos con una introducción al principio del plug-in y el bootstrap, una
técnica moderna para construir esos intervalos.
Si X es una variable aleatoria normal de media µ y desviación estándar σ y se extrae de ella una muestra xi
de tamaño n, entonces, la media X̄ de la muestra, típicamente, se encuentra cerca de µ. Esto es así porque
ya sabemos que
X̄ − µ
√
σ/ n
tiene distribución normal estándar. Es decir, el 95 % de las veces estará comprendida entre q0,025 y q0,975 de
dicha distribución, es decir los valores
qnorm(c(0.025, 0.975))
## [1] 0.9496
57
Hay que tener en cuenta la siguiente sutileza. Así como podemos decir que la probabilidad de que X̄ esté
contenido en el intervalo
1,96σ 1,96σ
µ− √ , µ+ √
n n
En este segundo caso, µ estará dentro o no. Además, el intervalo depende de la muestra obtenida. Lo único
que se puede decir, como ilustra la simulación anterior, es que de repetirse el experimento muchas veces, en el
95 % de los casos el intervalo contendría el valor verdadero. Pero el intervalo cambia (porque cambia X̄) en
cada simulación.
Si no se conoce σ, se puede reemplazar en la fórmula anterior por su estimación, la desviación estándar de la
muestra, i.e.,
1 X
s= (xi − X̂)
n−1 i
y entonces se sabe que la expresión
X̄ − µ
√
s/ n
tiene una distribución t de Student (de n − 1 grados de libertad). Por lo que ya sabemos que para valores
de n relativamente grandes, eso significa que es, esencialmente, normal de nuevo. Por eso los intervalos de
confianza usados más arriba pueden aplicarse en este caso con dos salvedades:
El valor σ desconocido se reemplaza por su aproximación s.
Se pueden usar los cuantiles de la distribución normal solo si n es grande; en otro caso habría que usar
qt(c(0.025, 0.975), df = n-1).
Los dos ejemplos planteados más arriba son sumamente particulares. Pero haciendo abstracción, hemos
considerado en ambos un estimador θ̂√ n de un parámetro de interés θ0 y hemos podido deducir la distribución
de θ̂n − θ0 , que resulta ser N (0, σ/ n). Además, a partir de ella hemos podido construir intervalos de
confianza.
En el resto de la sección vamos a extender estos resultados a otros casos más generales. En los dos casos
planteados nos interesa un parámetro de la distribución subyacente, la media. Además, también en ambos, la
distribución subyacente es normal. Pero en ambos casos hemos obtenido un resultado similar: la distancia
entre el estimador
√ y el valor verdadero es normal de media cero y con una desviación estándar inversamente
proporcional a n.
Igual que existen resultados teóricos que extienden la ley de los grandes números y que garantizan la
convergencia de θ̂n a θ0 , las extensiones correspondientes del teorema central del límite concluyen que los
ejemplos de la sección anterior son casos particulares de una propiedad bastante habitual: es frecuente que
θ̂n − θ, al menos
√para valores de n bastante altos, tenga una una distribución normal con desviación estándar
del orden de 1/ n. O, escrito de otra forma, que
58
√
n(θ̂n − θ) −→ N (0, σ),
es decir, que las diferencias entre los estimadores y el valor real tienen√una distribución aproximadamente
normal (para valores altos de n) con una varianza que decrece como 1/ n.
Estos resultados no son universales y dependen del problema, de las distribuciones implicadas, etc. Pero es
relativamente seguro darlo por bueno en general.
Por supuesto, la enumeración y demostración de los teoremas relevantes queda fuera del alcance de estas
páginas.
Antes, al estudiar los intervalos de confianza para estimaciones sobre la distribución normal, hemos pasado
de una expresión del tipo
1,96σ 1,96σ
µ− √ , µ+ √
n n
que es teóricamente sólida pero que depende, precisamente, de los parámetros desconocidos µ y σ, a otra del
tipo
1,96s 1,96s
X̄ − √ , X̄ + √
n n
que depende únicamente de parámetros estimados (a partir de los datos de la muestra) X̄ y s. Esta técnica es
un ejemplo del llamado principio del plug-in, que consiste precisamente en reemplazar parámetros desconocidos
por sus estimaciones muestrales.
En el caso de la distribución normal con media µ = 0 y desviación estándar σ = 1 (supuestamente
desconocidas), de observarse una muestra de valores x1 , . . . , xn , la distribución de X̄ es, precisamente,
set.seed(155)
n <- 100
curve(dnorm(x, mean = 0, sd = 1 / sqrt(n)), from = -.4, to = .4, main = "Densidad de la media de la mues
abline(v = qnorm(.025, mean = 0, sd = 1/sqrt(n)), col = "red")
abline(v = qnorm(.975, mean = 0, sd = 1/sqrt(n)), col = "red")
59
Densidad de la media de la muestra
(e intervalo de confianza al 95%)
4
dnorm(x, mean = 0, sd = 1/sqrt(n))
3
2
1
0
x
Si obtenemos una muestra de tamaño n = 100 de dicha distribución, podemos comparar las densidades
originales y las construidas a partir de la estimaciones de µ y σ:
muestra <- rnorm(n, mean = 0, sd = 1)
curve(dnorm(x, mean = my_mu, sd = my_sd / sqrt(n)), from = -.5, to = .5, main = "Densidad de la media de
abline(v = qnorm(.025, mean = my_mu, sd = my_sd/sqrt(n)), col = "red")
abline(v = qnorm(.975, mean = my_mu, sd = my_sd/sqrt(n)), col = "red")
60
dnorm(x, mean = my_mu, sd = my_sd/sqrt(n)) Densidad de la media de la muestra
(e intervalo de confianza al 95%)
4
3
2
1
0
x
Las dos densidades son muy parecidas, luego también lo son los correspondientes intervalos de confianza
(indicados más arriba). De hecho, si obtenemos réplicas de 100 observaciones de la densidad original, podemos
estimar la distribución de los extremos de los intervalos de confianza obtenidos,
mu0 <- 0
sd0 <- 1
lower_limits <- sapply(1:nrow(res), function(i) res[i, 1] + res[i, 2] * qnorm(0.025, mean = res[i, 1], s
upper_limits <- sapply(1:nrow(res), function(i) res[i, 1] + res[i, 2] * qnorm(0.975, mean = res[i, 1], s
61
Histogram of lower_limits Histogram of upper_limits
1.2
1.0
1.0
0.8
0.8
Density
Density
0.6
0.6
0.4
0.4
0.2
0.2
0.0
0.0
−4.0 −3.0 −2.0 −1.0 0.5 1.5 2.5 3.5
lower_limits upper_limits
par(mfrow = c(1, 1))
En esto consiste fundamentalmente el principo del plug-in: reemplazar en las fórmulas teóricas los valores
desconocidos por los estimados a partir de una muestra. Desde un punto de vista teórico, consiste en utilizar
la distribución D(θ̂n ) en lugar de la D(θ), donde θ̂n es una estimación de θ obtenida a partir de una muestra.
Por ejemplo, si se tira una moneda al aire 100 veces y salen 60 caras, podemos construir simplemente un
intervalo de confianza para el parámetro p con los límites
qbinom(c(0.025, 0.975), 100, 0.6) / 100
La técnica de los remuestreos (bootstrap) apareció a finales de los años 70 y es más intensiva computacionalmente
(aunque en el s. XXI, ya no mucho) que las anteriores. Va un paso más allá que las anteriores: en lugar de
considerar la distribución D(θ̂n ), la aproxima por remuestreos a partir de la muestra original (con que se
construye θ̂n ).
En concreto, la técnica simular otras muestras posibles de la distribución subyacente realizando remuestreos
(con reemplazamiento) de la muestra original. Por ejemplo, si la muestra original está contenida en la variable
x de R y el estimador buscado θ̂ está dado por la media muestral mean(x), entonces se puede obtener una
distribución aproximada de este estimador repitiendo la operación
mean(sample(x, length(x), replace = TRUE))
tantas veces como sea preciso. Finalmente, a partir de esas muestras se pueden calcular los cuantiles, etc.
62
Este procedimiento está justificado en la siguiente observación (que, de hecho, es un teorema, el de Glivenko-
Cantelli): que la función de distribución empírica Fn construida a partir de muestras x1 , . . . , xn de una
distribución F converge a F . Gráficamente, si F es la distribución lognormal,
foo <- function(i){
curve(plnorm(x), from = 0, to = 10, col = "red", main = paste0("n = ", i), xlab = "", ylab = "")
my_f <- ecdf(rlnorm(i))
curve(my_f, add = TRUE)
}
foo(25)
foo(50)
foo(100)
foo(1000)
n = 25 n = 50
0.6
0.6
0.0
0.0
0 2 4 6 8 10 0 2 4 6 8 10
n = 100 n = 1000
0.6
0.6
0.0
0.0
0 2 4 6 8 10 0 2 4 6 8 10
par(mfrow = c(1, 1))
Por ejemplo, supongamos que tenemos una muestra de tamaño 100 de una distribución N (1, 0,5):
muestra.orig <- rnorm(100, mean = 1, sd = 0.5)
63
Pero el bootstrap es más radical y propugna remuestrear la muestra original así:
muestras.bootstrap <- replicate(1000, mean(sample(muestra.orig, 100, replace = TRUE)))
density.default(x = muestras)
6
Density
4
2
0
## 2.5% 95%
## 0.873683 1.058555
que puede compararse con el obtenido con el principio del plug-in más arriba, i.e.,
qnorm(c(0.025, 0.975), mean = mean(muestra.orig), sd = sd(muestra.orig) / sqrt(100))
64
9.6. Referencias
9.7. Ejercicios
9.7.0.1. Ejercicio
Estimar la media de una normal cuando hay un outlier.
9.7.0.2. Ejercicio
Algo sobre la función de pérdida de Tukey con distribuciones bimodales.
9.7.0.3. Ejercicio
Crear intervalos con el principio plug-in para algunos estimadores.
P (D | H0 )
O dicho de otra manera, y en general, la probabilidad de los datos obtenidos, D, dada la hipótesis nula. Esa
cantidad (veremos inmediatemante los detalles de su cálculo) es la que se denomina p-valor.
65
El razonamiento aplicado implícitamente es análogo al de la prueba por contradicción y es aproximadamente
este:
Si la moneda fuese tal que p = 0,5 podriamos realizar muchas tiradas de ella y analizar los resultados
típicos y sus frecuencias.
Entonces, podemos comparar esos valores con los obtenidos en el experimento. Si estos últimos son
normales, no podemos descartar en absoluto que p = ,5; pero, ahora bien, si son extraños, probablemente
esté ocurriendo algo (cuya naturaleza desconocemos) y, estaremos legitimados a pensar que p 6= ,5.
Más adelante veremos cómo pueden simularse muchas tiradas de moneda para calcular los p-valores. Sin
embargo, en este caso, dado p = 0,5 podemos calcular exactamente la probabilidad de cada resultado (i.e.,
0, 1, . . . , 99, 100 caras); por ejemplo, la probabilidad de obtener 50 caras es
dbinom(50, 100, 0.5)
## [1] 0.07958924
o algo así como el 8 %, mientras que la de sacar 60 caras es apenas del 1 %. Así las cosas, ¿qué método puede
plantearse para determinar si 60 caras es un resultado raro? O dicho de otra manera, ¿qué forma concreta
adopta la expresión P (D | H0 ) en el contexto de las pruebas de significancia?
La estrategia, sumamente cuestionada, que propone la prueba de significancia es calcular la probabilidad de
obtener un resultado tanto o más raro que el observado. Si ordenamos los posibles resultados obtenidos de
mayor a menor probabilidad de ocurrencia y calculamos sus probabilidades acumuladas, obtenemos
Probabilidad acumulada de los eventos posibles
(ordenados de mayor a menor probabilidad de ocurrencia)
1.0
probabilidad acumulada
0.8
0.6
0.4
0.2
0.0
0 20 40 60 80 100
## [1] 0.05688793
66
o bien, más brevemente,
pbinom(40, 100, .5) + 1 - pbinom(59.5, 100, .5)
## [1] 0.05688793
Ese valor así calculado es el llamado p-valor.
Es pura convención adoptar un umbral determinado en el p-valor para rechazar o no la hipótesis nula. Pero
es habitual (no sin cierta controversia) en muchas disciplinas tomar un valor límite de 0.05; es decir, rechazar
la hipótesis cuando los datos son tan raros que solo se observarían en uno de cada veinte experimentos. En
otras, sin embargo, se exigen p-valores más pequeños.
En caso de que se rechace la hipótesis nula, se suele decir que se hace con un nivel de significancia determinado,
el ≈ 0,055 en este caso.
Hay que advertir una cierta incoherencia lógica en este procedimiento: se rechaza la hipótesis nula esgrimiendo
una probabilidad que incluye la de eventos no observados (por ejemplo, que haya 63 caras). También hay que
tener en cuenta que el test de significancia así planteado no permite aceptar o dar por buena la hipótesis nula:
solo rechazarla en caso de que la evidencia en su contra sea contundente. El test de significancia tendría su
equivalente en un GPS cuyas únicas indicaciones de ruta fuesen del tipo: por donde vas, casi seguro que no es.
Una última advertencia al respecto es que la hipótesis nula, en la práctica totalidad de los contextos, es
siempre falsa. Seguro que una moneda no tiene una probabilidad de cara de exactamente el 0,5; tal vez
sea, por algún tipo de asimetría, de 0,499998082 . . . y prosiguiendo el experimento con mucha paciencia
pudiésemos lograr rechazar la hipótesis nula con un nivel de significancia arbitrariamente bajo.
No obstante estos problemas, el test de significancia se usa muy habitualmente, incluso implícitamente. Por
ejemplo, cuando se plantea una regresión lineal, como a continuación:
Velocidad vs distancia de frenado
100 120
80
60
40
20
0
5 10 15 20 25
La regresión lineal construye esa recta (roja en el ejemplo anterior) que mejor se aproxima a la nube de
puntos. Si extraemos sus coeficientes haciendo
summary(lm(dist ~ speed, data = cars))$coefficients
67
## speed 3.932409 0.4155128 9.463990 1.489836e-12
obtenemos una tabla en la que aparecen la estimación del término independiente (fila superior) y la pendiente
(inferior) más una serie de columnas adicionales. La última es el p-valor correspondiente a la prueba de
significancia en que la hipótesis nula es que el coeficiente tiene un valor igual a cero. En el caso de la pendiente,
el p-valor es muy pequeño (evidentemente, porque los datos tienen una tendencia creciente muy manifiesta y
una pendiente nula querría decir que serían aproximadamente planos). Tenemos pues evidencia suficiente
para rechazar esa hipótesis nula subyacente.
Las pruebas de significancia son, como hemos visto, ubicuas en la estadística. Veremos más adelante cómo
la prueba de significancia guarda analogías al principio de prueba por contradicción; solo que si los datos
muestran una contradicción con H0 , no está siempre clara la alternativa. En el ejemplo anterior de los
coeficientes de regresión, una vez rechazada la hipótesis de que la pendiente sea cero, la prueba de significancia
no aporta mayor información sobre el coeficiente. Otro aspcto controvertido de las pruebas de significancia ya
señaladas más arriba es la manera en que construyen el evento de rechazo: incluyen en él tanto los datos
observados como otros aún más extremos (y, por lo tanto, no observados). Así, en el ejemplo anterior, el
p-valor está construido no solo en términos de la probabilidad de haber obtenido 60 caras sino 60 caras o más.
No obstante, la crítica más seria que puede realizarse a las pruebas de significancia están basadas en el hecho
de que consideran la expresión P (D | H0 ) y no la que sería más lógica, P (H0 | D), es decir, la probabilidad
de la hipótesis nula a la vista de los datos.
Las pruebas de hipótesis de Neyman-Pearson comparan dos hipótesis (a diferencia de la de Fisher, que
solo contemplaba una, la nula). El siguiente ejemplo servirá para ilustrarlas. Existen dos monedas, una normal
(p = ,5) y otra trucada (p = 0,7). Alguien ha elegido una de ellas (sin que nosotros sepamos cuál) y está
dispuesto a realizar todas las tiradas que le indiquemos y a transmitirnos el número de caras. Nuestro objetivo
es tomar una decisión sobre cuál es la moneda que se está utilizando realmente.
Por tanto, tenemos dos hipótesis:
H0 : ha elegido la moneda normal.
H1 : ha elegido la otra.
Para esclarecerlo, vamos a diseñar un experimento consistente en solicitar que se tire la moneda N veces
y registrar el número n de caras. Después, si n/N < c, nos decanteremos por H0 y si no, por H1 . El problema
consiste ahora en cómo elegir N y c; para eso es conveniente introducir los llamados errores de tipo I y II.
El error de tipo I se comete cuando se cumple H0 pero optamos por H1 . A la probabilidad (condicional a
que se cumple H0 ) de cometer este tipo de error la llamamos α. Por su parte, el error de tipo II es el que se
comete cuando la cierta es H1 pero optamos por H0 y la probabilidad correspondiente suele llamársela β.
Usando una tabla, los errores de ambos tipos pueden representarse así:
elijo H0 elijo H1
real: H0 acierto error Tipo I
real: H1 error Tipo II acierto
Muchas veces, en la práctica, el tomar una decisión y equivocarse en ella implica unos costes (económicos u
otros). Incurrimos pues en costes si cometemos un error, sea de tipo I o II. Además, los costes asociados a
ambos tipos de error bien pueden ser distintos. Para minimizar el coste, habría que reducir el tamaño de α y
β. Pero eso implica hacer crecer el valor de N (que puede, a su vez, ser costoso).
Esta observación permite introducir el concepto de la potencia de una prueba. Una prueba es tanto más
potente cuanto menores son las probabilidades de error. Generalmente, la potencia crece al crecer N . Para
tener una prueba más potente, por tanto, basta con invertir en N .
68
El procedimiento habitual, el que recogen casi todos los textos, es el siguiente. Primero, se elige como H0 la
hipótesis cuyo error asociado, el de tipo I, es más caro. Para minimizar el riesgo de incurrir en él, se fija un
valor de α pequeño (p.e., 0,01). Entonces quedan dos parámetros libres: N y β.
Si N es grande, podremos reducir el tamaño de β. Y la potencia entonces se define exactamente como 1 − β.
A la inversa, si lo que se quiere fijar es la potencia (es decir, β, para reducir el impacto del error de tipo II),
se puede deducir el valor de N necesario.
El procedimiento preciso (en nuestro ejemplo) es el siguiente: para un N determinado, se puede seleccionar
el umbral c de manera que P (X ≥ c | H0 ) ≤ α, es decir, la probabilidad de cometer un error de tipo I es
inferior a α. Fijado pues c, β = P (X < c | H1 ), la probabilidad de cometer un error de tipo II.
TODO: un ejemplo completo
Ambos tipos de pruebas de hipótesis presentan zonas grises. En la prueba de significancia, no está claro cómo
condicionar cuando la hipótesis nula es del tipo θ ∈ [−1, 1]. También es un debate recurrente y jamás cerrado
la determinación del umbral a partir del cual se rechaza H0 . Finalmente, es un tanto desconcertante, como se
ha indicado antes, el hecho de considerar datos que no se han observado para rechazar o no H0 .
Además, la lógica que subyace a la prueba de significancia se asemeja demasiado al siguiente silogismo espúrio:
Si alguien juega al fútbol, es muy improbable que juegue en primera división
Ronaldo juega en primera división
Por lo que rechazamos la hipótesis de que Ronaldo juegue al fútbol
Las pruebas de hipótesis también presentan ciertos problemas. Por ejemplo, cuando se quiere tomar una
decisión entre las hipótesis H0 : θ = 0 y H1 : θ 6= 0. No está en absoluto claro cómo construir P (D|H1 ) en ese
caso.
Más adelante, veremos la aproximación bayesiana a las pruebas de hipótesis, que vienen a superar estas
incongruencias. Sin embargo, la versión de la prueba de hipótesis más corriente, la conocida como NHST
(null hypothesis significance testing) es una muy controvertida mezcla de las dos anteriores, que consiste en:
Plantea una hipótesis de trabajo (p.e., la versión B de la página es mejor que la A)
Plantea una hipótesis nula estadística (p.e., que la media del número de conversiones será la misma en
ambas versiones de la página)
Usa el 5 % como convención para rechazar esa hipótesis nula
De rechazarse, acepta la hipótesis de trabajo como cierta
Debe advertirse que, aunque pueda tener sentido en algunas ocasiones, el procedimiento anterior no solo no
está justificado teóricamente, sino que, además, facilita el abuso del procedimiento. En efecto, alguien podría
plantear una de las llamadas hipótesis nulas de paja, una hipótesis nulas fáciles de rechazar, para proceder
inmediatamente a validar una hipótesis de trabajo. Incluso es posible elegir una hipótesis nula ya rechazada
de antemano: en la fase de experimentación se recogen datos de muchos tipos y es frecuentente posible elegir
uno de ellos como la hipótesis nula vinculada a la hipótesis de trabajo de partida.
Que esto es así y que el abuso se produce no se deduce únicamente de las posibles incongruencias teóricas del
procedimiento sino que se manifiesta en la conocida como crisis de reproducibilidad actual (XXX). La
crisis de reproducibilidad solo es posible cuando han fallado los filtros existentes en el mundo académico para
evitar que sean publicados y dados por buenos resultados que, después, se han demostrado falsos al tratar de
reproducirlos independientemente.
Esta crisis de reproducibilidad planea también sobre un mundo mucho más opaco que el de la ciencia: el
del mundo de la empresa privada. En ella suele existir un interés natural en querer demostrar que el nuevo
algoritmo, el nuevo portal, la nueva imagen corporativa, es mejor que la antigua. Existe por tanto un incentivo
enorme tanto en demostrar con números esa ventaja como en subvertir el procedimiento para embellecer la
69
realidad. La crisis de reproducibilidad se manifiesta entonces en soluciones, ideas y proyectos que tienden a
rendir por debajo de lo previsto.
En esta sección plantearemos otro caso muy vinculado con las pruebas de hipótesis: el validar un tratamiento
determinado. Existen dos grupos (por ejemplo, de pacientes en un estudio clínico) y uno de ellos recibe un
tratamiento tradicional mientras que el otro, uno novedoso. Se puede decir que el segundo está tratado e
interesa conocer la ventaja que supone (con respecto al anterior).
En el contexto antes descrito es típico que uno de los grupos, el no tratado, reciba un placebo, es decir, un
tratamiento que no contiene principio médico alguno (agua, azúcar, etc.). En ese caso se estaría comparando
el tratamiento contra la falta de tratamiento. Lo adecuado (aunque esto no es opinión unánime), cuando ya
existe un tratamiento establecido, es comparar el nuevo contra el anterior por ver si lo supera o no.
En estos casos, puede determinarse a través de una prueba de hipótesis que el nuevo tratamiento es
significativamente superior al anterior (con un determinado nivel de significancia) pero que, aun así, no
merezca la pena. Aun si la diferencia entre ambos tratamientos es minúscula (e irrelevante), aumentando
el tamaño muestral es posible detectar esa diferencia. Eso ha llevado a algunos a acuñar la frase de que la
significancia no es (por sí sola) significativa.
Esta cuestión es particularmente acuciante en los tiempos del big data, que facilita tamaños muestrales
enormes. Y, por lo tanto, facilita el descubrimiento de diferencias significativas pero insignificantes.
En ese sentido, existe una propuesta para reemplazar los errores de tipo I y II por los errores de tipo S y
M. Un error de tipo S se cometería cuando se afirma que un tratamiento tiene un efecto positivo cuando, en
realidad, lo tiene negativo. Es, como puede intuirse, un error muy serio. El segundo, el error de tipo M es el
que se cometería al estimar el tamaño del efecto.
Aunque las técnicas indicadas más arriba son las de libro para realizar las llamadas pruebas de hipótesis, en
la práctica pueden hacerse y, de hecho, se hacen, de una manera más sencilla y efectiva: utilizando intervalos
de confianza.
Si interesa realizar alguna hipótesis sobre un parámetro de una distribución, una estrategia siempre válida y
generalizable es la de crear un modelo para los datos en cuestión, realizar la estimación puntual del parámetro
de interés y construir los intervalos de confianza asociados al mismo. Eso permite contrastar, p.e., si dicho
parámetro es o no igual a cero.
Más arriba habíamos estudiado los coeficientes de una regresión lineal,
modelo <- lm(dist ~ speed, data = cars)
summary(modelo)$coefficients
## 2.5 % 97.5 %
## (Intercept) -31.167850 -3.990340
70
## speed 3.096964 4.767853
que nos indica que los valores esperados del valor real de speed se encuentran entre 3,1 y 4,77. Como ese
rango no contiene el cero, uno puede rechazar la hipótesis de que el coeficiente sea cero. De hecho, existen
procedimientos gráficos para analizar visualmente el resultado de estas prubas de hipótesis implícitas a través
de representaciones como esta:
## Loading required package: MASS
## Loading required package: Matrix
## Loading required package: lme4
##
## arm (Version 1.10-1, built: 2018-4-12)
## Working directory is /home/carlos/ownCloud/staging/libros/curso_intro_probabilidad_estadistica
Regression Estimates
−6 −4 −2 0 2 4 6
x5
x4
x3
x2
x1
En esta sección vamos a repasar algunas pruebas estadísticas de libro acompañándolas del preceptivo código
en R.
La prueba de la media para poblaciones normales se usa para comprobar si una población tiene una determinada
media. En concreto, cuando existe una variable aleatoria con una distribución normal (o aproximadamente
normal) y se quiere comprobar si su media es igual a un valor de referencia µ dado.
71
La variable aleatoria puede ser la cantidad real de refresco en un envase. Pueden existir pequeñas diferencias
debidas al proceso de embotellado e interesa saber si existe una desviación con respecto al volumen anunciado
(de, p.e., 33 cl).
La prueba se basa en que bajo la hipótesis nula de que los datos tienen una distribución X ∼ N (µ, σ), donde
σ es una constante irrelevante para la cuestión, la expresión
P
1/n i (xi − µ)
t0 = √ ,
s/ n
donde s es la desviación estándar de la población, sigue una distribución t de Student con n − 1 grados de
libertad. Esa expresión será pequeña si la media es próxima a µ y grande en caso contrario. Como conocemos
su distribución, podemos calcular P (|t| > |t0 | | H0 ), es decir, la probabilidad de que t0 esté alejado de su
valor esperado, que debería ser próximo a 0.
Gráficamente, bajo la hipótesis nula, la distribución de t0 (supuestos 10 grados de libertad) sería
−4 −2 0 2 4
t0
En la gráfica anterior aparece la distribución esperada de t0 bajo la hipótesis nula más dos líneas verticales
tales que la integral de la curva entre ellas es 0.95. Es decir, lo que queda fuera de esa franja tiene probabilidad
de 0.05. Si el valor obtenido de t0 queda fuera de ella, puede rechazarse H0 con el nivel 0.05 de significancia.
Esa es la justificación de la prueba, aunque en R es fácil (tal vez demasiado) aplicarla, como ilustra el siguiente
ejemplo:
daily.intake <- c(5260, 5470, 5640, 6180, 6390, 6515,
6805, 7515, 7515, 8230, 8770)
t.test(daily.intake, mu = 7725)
##
## One Sample t-test
##
## data: daily.intake
72
## t = -2.8208, df = 10, p-value = 0.01814
## alternative hypothesis: true mean is not equal to 7725
## 95 percent confidence interval:
## 5986.348 7520.925
## sample estimates:
## mean of x
## 6753.636
La salida que proporciona R incluye un p-valor por debajo de 0.05, por lo que se podría rechazar la hipótesis
de que la media fuese igual a 7725.
Una variante de la prueba permite testear si la media de la población está por debajo o por encima de un
nivel dado de referencia (y no solo si es igual a él):
daily.intake <- c(5260, 5470, 5640, 6180, 6390, 6515,
6805, 7515, 7515, 8230, 8770)
##
## One Sample t-test
##
## data: daily.intake
## t = -2.8208, df = 10, p-value = 0.009069
## alternative hypothesis: true mean is less than 7725
## 95 percent confidence interval:
## -Inf 7377.781
## sample estimates:
## mean of x
## 6753.636
En el caso anterior hemos cambiado la hipótesis nula. Ahora es que la media de la población está por encima
del nivel de referencia. El p-valor es muy inferior en este caso.
La función t.test también proporciona un invervalo de confianza: un rango de valores que incluye nuestra
media dentro del cual el valor real podría estar con una confianza, en este caso, del 95 %. Cuando este intervalo
no contiene al de referencia, la hipótesis se rechaza (al nivel complementario del 5 %).
El p-valor y el intervalo de confianza se construyen de manera distinta y son ambos aproximaciones, por lo
que es posible encontrar casos límitrofes en los que el intervalo contiene el valor de referecia pero el p-valor
está por debajo del 0.05 y a la inversa.
Hay que recordar que la distribución t de Student para grados de libertad no particularmente altos (es decir,
para muestras no demasiado grandes) es prácticamente indistinguible de una distribución normal, que es
algo que ocurre con frecuencia. De modo que una manera alternativa de realizar esta prueba cuando la
muestra es razonablemente grande consiste en calcular los cuantiles correspondiente a la media muestral de
una distribución N (µ, s/n).
x <- rnorm(100, mean = 0.2, sd = 2)
t.test(x, mu = 0, alternative = "greater")$p.value
## [1] 0.1141934
1 - pnorm(mean(x), mean = 0, sd = sd(x) / sqrt(length(x)))
## [1] 0.112751
73
10.6.2. Remuestreos
Cuando se realiza una prueba estadística como la anterior, caben dos opciones: acudir a la literatura, encontrar
la prueba correspondiente y aplicarla (con suerte, además, está disponible en R), o recurrir a los remuestreos,
que son una técnica general. Una técnica general que requiere ordenadores, unos instrumentos no disponibles
cuando se desarrollaron aquellos resultados teóricos.
Siguiendo con el ejemplo de la sección anterior, lo que en el fondo queremos comprobar es si la media
de nuestras observaciones está cerca o lejos del valor de referencia µ = 7725. Nuestros datos tienen una
distribución desconocida X (hemos supuesto que son normales con una media desconocida, pero ni siquiera eso,
como veremos, es estrictamente necesario) y lo que queremos comprobar es si su media está cerca o lejos de µ.
Idealmente, querríamos obtener muchas muestras de X, pero solo tenemos una. Los remuestreos (o bootstrap)
permiten simular muchas muestras de X a partir de una dada realizando muestras (con reemplazamiento y
del mismo tamaño) de la muestra original.
En concreto, cada muestra es, en R,
sample(daily.intake, length(daily.intake), replace = T)
## [1] 5260 6805 7515 5640 6805 6390 6515 6515 8770 6180 6180
y podemos construir una aproximación a la distribución de la media de X haciendo
muestra.media <- replicate(10000, mean(sample(daily.intake, length(daily.intake), replace = T)))
El siguiente gráfico muestra la distribución de los valores de esa media junto con una línea vertical roja en el
valor de referencia, 7725:
hist(muestra.media, breaks = 50, col = "gray",
xlab = "", ylab = "",
main = "histograma de las réplicas por\nremuestreo de la media")
abline(v = 7725, col = "red")
74
muestras <- replicate(10000, mean(sample(daily.intake, length(daily.intake), replace = T)))
hist(muestras, main = "Posibles valores estimados de la media", xlab = "", ylab = "")
abline(v = 7725, col = "red")
10.7. Referencias
Perezgonzalez, J. D., Fisher, Neyman-Pearson or NHST? A Tutorial for Teaching Data Testing, enlace
Gigerenzer, G. Mindless statistics, enlace
XKCD, Significant, enlace
XXX
10.8. Ejercicios
10.8.0.1. Ejercicio
75
dasfa
La primera pregunta que puede formularse sobre este tipo de datos es si las variables involucradas son
independientes; luego, en caso negativo, cómo interactúan entre sí.
Es conveniente comenzar el análisis de datos tabulares con una representación gráfica. Existen muchas
alternativas (p.e., los variogramas), pero no es inhabitual encontrar mosaicos:
Eye
Brown BlueHazel
Green Pearson
Black
residuals:
6.4
4.0
Brown
2.0
Hair
0.0
Blond Red
−2.0
−4.0
−4.9
p−value =
< 2.22e−16
Existen muchas versiones de los gráficos de mosaico. Además, existen extensiones para tablas de dimensiones
superior a dos (no tratadas aquí). En cualquier caso, todas ellas se pueden interpretar como gráficos de barras
(apiladas) con una determinada reparametrización.
Los mosaicos muestran el tamaño relativo de cada celda de la tabla. Dependiendo de si la variable aparece en
las filas o en las columnas, es más fácil leer su probabilidad maginal (altura de los rectángulos en el mosaico
de ejemplo) o la condicional (su anchura, dentro de los niveles indicados por la otra variable).
Si filas y columnas fuesen independientes, las probabilidad es condicionales serían iguales por lo que la anchura
de los rectángulos vendría a ser similar. Que no es lo que ocurre más arriba.
En la versión de los mosaicos que he usado en este capítulo, el color (y la escala adjunta) indican la magnitud
(y signo) de los residuos de Pearson. Los rectángulos excesivos (más) anchos de lo que les correspondería,
están marcados en tonos azules; los más estrechos, de rojos.
76
A diferencia de la anterior, la siguiente es una tabla en la que, por construcción, filas y columnas son
independientes. Las oscilaciones en el tamaño de las celdas se debe exclusivamente al azar.
set.seed(125)
n <- 10000
xy <- data.frame(x = sample(letters[1:4], n, replace = T, prob = (1:4) / sum(1:4)),
y = sample(LETTERS[1:5], n, replace = T, prob = (5:1) / sum(1:5)))
mosaic(table(xy), shade=TRUE, legend=TRUE)
y
A B C D E Pearson
residuals:
a
1.6
c b
x
0.0
d
−1.4
p−value =
0.23929
Una prueba de independencia común (aunque existen alternativas y variantes) es la de la χ2 , que en R puede
realizarse así:
chisq.test(mi.tabla)
nij − Eij .
77
X (nij − Eij )2
,
ij
Eij
que, bajo ciertas condiciones (p.e., que haya un número mínimo de observaciones, que en la práctica no es
particularmente grande) tiene una distribución aproximada χ2 con (r − 1)(c − 1) grados de libertad. No
obstante, no es estrictamente necesario conocer este último resultado teórico: siempre es posible simular la
distribución del estadístico anterior mediante remuestreos.
mi.tabla <- HairEyeColor[,,2]
N <- sum(mi.tabla)
marginal.rows <- rowSums(mi.tabla) / N
marginal.cols <- colSums(mi.tabla) / N
probs.indep <- outer(marginal.rows, marginal.cols)
0.04
0.00
0 5 10 15 20 25 30
res
78
El código anterior permite simular la distribución de la tabla bajo la hipótesis de independencia. La representa
en gris junto a la aproximación teórica, la de la χ2 , sobreimpresa. El p-valor obtenido antes, mayor que 100,
queda muy escorado con respecto a la distribución representada más arriba, lo que justifica su pequeño valor.
La simulación se ha realizado reordenando al azar la población de sujetos asignándo a cada uno de ellos,
indepedientemente de su color del pelo, un color de ojos (que es la hipótesis de independencia).
Brown
Blue
Blond
0.0
Brown
−0.2
Hazel
Red
Green
−0.4
Dimension 1 (88.8%)
Una manera cualitativa de describir estas relaciones de dependencia es mediante los biplots, que permiten
representar gráficamente (una transformación de) la matriz Oij − Eij , es decir, la diferencia entre los valores
observados en la tabla y los que se obtendrían bajo condiciones de independencia.
La gráfica anterior muestra dos dimensiones. La primera es la más importante porque recoge el 88.8 % de
la variabilidad de los datos contra el 9.6 % de la segunda. La principal lección que se extrae de la primera
dimensión (en horizontal) es cómo el pelo rubio está muy vinculado a los ojos azules, a diferencia del resto de
las combinaciones. La segunda muestra una asociación del pelo negro a los ojos marrones y del pelo rojo a los
ojos de color castaño y verde.
Existen otros métodos no tan cualitativos como los de la sección anterior de analizar las relaciones de
dependencia en tablas. Como, por ejemplo, los modelos lognineales, que estudian la distribución del
número de observaciones en la celda ij de la tabla, nij , en función de las variables involucradas. Si las
probabilidades marginales de estas variables son pi+ y p+j , entonces, de ser independientes, se tendría
y, como consecuencia,
79
nij ≈ npi+ p+j ,
o bien,
Más adelante, veremos cómo se pueden crear modelos (GLMs, en concreto) de la forma log_n ~ x1 + x2.
Ese tipo de modelos permiten para modelar ese tipo de relaciones y estudiar si son adecuados (en cuyo caso
podría defenderse la hipótesis de independencia de las variables) o son necesarios otros más complejos de la
forma log_n ~ x1 * x2, que incluyen las interacciones entre las variables para modelarlos adecuadamente.
Estos últimos modelos, los que incluyen interacciones, proporcionan una descripción más cuantitativa de la
relación de dependencia entre variables. Además, este tipo de modelos pueden usarse en tablas de dimensiones
superiores, en las que hay más de dos variables implicadas.
En esta sección, sin embargo, no vamos a estudiar este tipo de modelos. Ni en este libro a ocuparnos de
las interacciones. Nos limitaremos a señalar que extensiones de algunos de los contenidos que vendrán a
continuación pueden usarse para el estudio de este tipo de datos; de hecho, podría decirse que subsumen lo
contado más arriba (p.e., el estudio de la independencia).
11.3. Referencias
Gil Bellosta, C.J., Una feliz conjunción estadístico-algebraica, (partes primera y segunda), en la que se
explican los fundamentos estadísticos y algebraicos de los biplots.
XXX algo sobre modelos loglineales
XXX Mencionar el tochazo de Agresti
Y ∼ Bernoulli(1/2).
Una vez dado por bueno, pueden plantearse sobre él problemas como, por ejemplo, el de calcular la probabilidad
de obtener un número par de caras en n tiradas. Los problemas pueden ir de los más triviales a los más
sofisticados, pero son siempre de naturaleza deductiva, i.e., las propiedades del sistema se derivan todas
deductivamente de su formulación inicial.
Los modelos probabilísticos son infrecuentes en la práctica. Aparecen en los juegos de azar, algunos modelos
físicos teóricos y libros de teoría de la probabilidad y poco más.
Un modelo estadístico es un modelo probabilístico incompleto: solo se conoce (o justifica) parte de su
formulación. En el modelo probabilístico anterior, el parámetro de interés, la probabilidad de obtener cara,
era conocido e igual a 1/2. Un modelo estadístico relacionado es
Y ∼ Bernoulli(p),
80
donde únicamente se especifica la familia a la que pertenece la variable de interés, Y . Entonces, el problema
fundamental consiste en encontrar un valor razonable para p a partir, típicamente, de un histórico de
lanzamientos.
Este no es un problema de natureleza deductiva sino inductiva. Es uno de los llamados problemas inversos: a
partir de información sobre el funcionamiento de un sistema, encontrar un mecanismo generador plausible1 .
En el caso anterior, muy simple, existe un único modelo natural, uno de Bernoulli. En general, un mismo sistema
puede ser modelado estadísticamente de muchas maneras distintas. En tales casos nuestro desconocimiento
sobre el modelo se extiende más allá de identificar un parámetro razonable, como en el ejemplo, y alcanza a
su formulación misma. Pueden proponerse modelos alternativos, con sus méritos y sus deméritos, y parte del
trabajo del estadístico consiste en elegir el más adecuado para un fin determinado. Hay que tener siempre
presente que2 :
Todos los modelos son incorrectos, aunque algunos resultan útiles.
Existe un conjunto de modelos de libro que se aplican igualmente en casos de libro. Sin embargo, muchos de
los que se usan en la práctica son variaciones de ellos.
El modelo lineal se usa cuando existe una variable aleatoria objetivo Y que depende de otras variables
aleatorias X1 , . . . , Xn a través del siguiente modelo estadístico:
!
X
Y | X1 , . . . , Xn ∼ N a0 + ai Xi , σ
i
Esa varianza mide el error irreductible del modelo, i.e., el efecto sobre Y de otras variables no tenidas en
cuenta, errores de medición, etc. Por ejemplo, si se busca modelar un fenómeno social, por mucho que se
recojan las variables de los individuos (e.g., edad, sexo, estado civil, etc.) que más podrían determinar el
comportamiento de los individuos, siempre quedarán al mergen otros factores condicionantes de su voluntad.
El modelo asume que su efecto, junto con otros, queda recogido en un error con distribución normal. Por otro
lado, en el estudio de un fenómeno físico, aunque se recojan y consideran todas las variables que la teoría
indica que tienen un efecto sobre el mismo, hay que tener encuenta el error de los instrumentos de medida,
que se manifiesta en forma de error irreductible. Ni que decir tiene que lo más habitual es que los errores de
los modelos de fenómenos físicos sean mucho menores que los empleados en ciencias sociales.
Dados unos datos, el problema fundamental consiste en identificar un valor adecuado para los parámetros
a0 , . . . , an . Se trata de un problema de estimación puntual como los estudiados anteriormente y que se resuelve
canónicamente usando el método de la máxima verosimilitud.
El modelo lineal simple es una versión del modelo lineal en el que Y depende de una única variable X.
Concretamente,
Y | X = x ∼ N (a + bx, σ)
1 Hay quien hablaría de identificar las causas de un efecto; sin embargo, ignoraremos el problema, sumamente esquivo, de la
causalidad.
2 Véase esto
81
El principal interés del modelo lineal simple es pedagógica: se puede describir e interpretar gráficamente.
0.8
0.7
y
0.6
0.5
x
En el gráfico anterior se han representado datos con distribución Y | X = x ∼ N (0,5 + 0,3x, 0,05). Se ha
representado también en rojo la recta de las medias condicionales. Finalmente, en algunas secciones verticales
se han representado las correspondientes funciones de densidad condicionadas de Y .
Por definición, en el caso de la regresión lineal simple, si los datos se representan mediante un diagrama de
dispersión, tienen que estar contenidos en una franja de anchura fija alrededor de una recta. La recta es el
lugar geométrico de las medias condicionales y está descrita por los coeficientes a y b. La anchura de la franja,
que viene a ser el error del modelo, está determinada por σ.
En el siguiente panel aparecen cuatro gráficos en los que se representan configuraciones de datos que no
cumplen las condiciones anteriores.
0.6
1.6
0.2
1.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
15
0.5
−1.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
82
En el primer caso, la distribución de los datos es idéntica a la de nuestro ejemplo anterior con una salvedad:
existe un outlier bastante evidente, que viola la condición de normalidad de los errores3 . En el segundo, la
varianza no es constante porque aumenta con el valor de x; los datos tienen una estructura de trompeta que
ocurre con cierta frecuencia: a mayor media, mayor error. En el tercero, la media condicional no es lineal
sino sinosuidal. Finalmente, en el último, la distribución condicional de Y es manifiestamente no normal:
no es simétrica a ambos lados de la media; de hecho, los datos se han simulado utilizando una distribución
lognormal, que es positiva y de cola larga.
Existen procedimientos para extender el uso del modelo lineal a alguno de los casos anteriores (desde
regresiones robustas hasta determinadas transformaciones de los datos), cuyo estudio excede los objetivos que
nos planteamos aquí.
Una vez que se acepta como razonable que la distribución de los datos es compatible con la que exige el
modelo lineal, surge el problema de la determinación de los coeficientes del modelo a partir de una muestra,
que típicamente tiene la forma de un vector de valores yi y una matriz con filas (xi1 , . . . , xin ). Se supone que
las muestras anteriores son mutuamente independientes4 .
La estimación de los parámetros desconocidos del modelo, i.e., a0 , . . . , an y, habitualmente también, σ (para
tener una medida del error) se hace por máxima verosimilitud. La función dePverosimilitud, de hecho, es el
producto (debido a la independencia) de densidades normales de media a0 + i ai Xi y desviación estándar
σ, i.e.,
!
(yi − a0 − j aj xij )2
P
Y 1
L(a0 , . . . , an , σ) = exp −
i
(2σ 2 π)1/2 2σ 2
Esa expresión, operando ligeramente queda de la forma
!
aj xij )2
P P
1 i (yi − a0 − j
L(a0 , . . . , an , σ) = exp −
(2σ 2 π)n/2 2σ 2
y es evindente cómo maximizar L (al menos, con respecto a los ai ) equivale a minimizar
2
X X
l(a0 , . . . , an ) = yi − a0 − aj xij ,
i j
la pérdida cuadrática. Los detalles de cómo resolver ese problema de minimización, que puede hacerse
mediante la aplicación de técnicas muy eficientes de álgebra lineal, pueden consultarse en casi cualquier otro
manual5 .
El hecho de que el ajuste del modelo tal como lo hemos planteado se reduzca a resolver un problema de
minimización de una pérdida cuadrática permite que la técnica aquí descrita se extienda a casos en los que
no se cumplen estrictamente las condiciones, bastante restrictivas, del modelo. De hecho, en muchos textos se
ignora la formulación presentada aquí, en términos de la descripción probabilística del modelo y, simplemente,
se sugiere un ajuste mediante ese procedimiento de minimización. Esta línea de razonamiento es muy propia
de áreas como, por ejemplo, la econometría, en la que por motivos tal vez históricos, imperan las técnicas
de minimización de pérdidas cuadráticas sin que preocupen demasiado las especificaciones probabilísticas
subyacentes.
3 Recuérdese que, a efectos prácticos, la distribución normal no tiene outliers
4 P.e.,
que no son muestras de una serie temporal, etc.; véase la discusión al respecto en la sección sobre dependencia e
independencia de variables aleatorias.
5 XXX: añadir una referencia en línea.
83
Minimización por mínimos cuadrados
100 120
80
60
40
20
0
5 10 15 20 25
Figura 1: En el gráfico se muestran, como líneas azules a trazos, los segmentos cuyas longitudes (más
propiamente, la suma de cuyas longitudes al cuadrado), se quieren minimizar para encontrar la recta óptima.
5 10 15 20 25
modelo <- lm(dist ~ speed, data = cars)
El código anterior construye la regresión lineal de la variable dist sobre speed. Toda la información sobre el
modelo queda resumida en el objeto modelo y sus detalles pueden consultarse con summary:
84
summary(modelo)
##
## Call:
## lm(formula = dist ~ speed, data = cars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -29.069 -9.525 -2.272 9.215 43.201
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -17.5791 6.7584 -2.601 0.0123 *
## speed 3.9324 0.4155 9.464 1.49e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 15.38 on 48 degrees of freedom
## Multiple R-squared: 0.6511, Adjusted R-squared: 0.6438
## F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12
El resumen del modelo contiene, en primer lugar, la fórmula usada y unos cuantos estadísticos sobre P la
distribución de los residuos, i.e., la diferencia entre los valores reales, yi , y las medias estimadas, a0 + i ai xi .
Valores demasiado grandes (o grandes con relación a sus valores típicos) pueden indicar problemas de ajuste,
i.e., que los datos no se ajustan a la estructura probabilística subyacente que permite usar el modelo.
Puede obtenerse un histograma de estos residuos haciendo
hist(modelo$residuals)
Histogram of modelo$residuals
15
10
Frequency
5
0
−20 0 20 40
modelo$residuals En él se
aprecia una cierta desviación con respecto a la distribución normal. Esto puede ser síntoma de una mala
especificación. De hecho, el diagrama de dispersión de los datos originales muestra una cierta estructura de
85
trompeta: a mayor velocidad, parece haber más dispersión en la distancia.
A continuación se describen los coeficientes. Sus valores corresponden al término independiente y la pendiente
de la recta de regresión. Según este modelo, la distancia se incrementa en casi cuatro unidades por cada unidad
adicional de velocidad. Además, a velocidad 0 le corresponde una distancia de frenado de -17.6 unidades, que
es totalmente irreal: este modelo puede utilizarse, a lo más, en un rango concreto de velocidades.
El resto de las columnas de esa tabla resumen una serie de pruebas de hipótesis implícitas: estudian si el
coeficiente es o no cero (en el sentido de Fisher). P-valores tan pequeños como los que arroja el modelo
indican que los coeficientes son significativamente distintos de cero (cosa que no debería sorprendernos: en la
nube de puntos se aprecia a simple vista una clara estructura creciente). Los intervalos de confianza para
estos coeficientes pueden obtenerse así:
confint(modelo)
## 2.5 % 97.5 %
## (Intercept) -31.167850 -3.990340
## speed 3.096964 4.767853
Estos intervalos de confianza no contienen el valor 0, en consistencia con la prueba de hipótesis indicada más
arriba.
Debajo de esa tabla aparecen tres líneas adicionales que discuten el error del modelo. Lo que llama residual
standard error no es otra cosa que la estimación de σ, que también puede obtenerse haciendo
sigma(modelo)
## [1] 15.37959
Las R2 , ajustada y sin ajustar, miden el porcentaje de la variabilidad original de los datos que captura el
modelo. De alguna manera, si vale la pena plantear el modelo o no. Nuestro modelo captura alrededor del
65 % de la varianza original de los datos. En concreto, la R2 (sin ajustar) no es otra cosa que
1 - var(modelo$residuals) / var(cars$dist)
## [1] 0.6510794
La R2 suele comunicarse como medida de la bondad del modelo. Curiosamente, el estándar varía sustancial-
mente entre áreas de aplicación: en las ciencias experimentales se exigen R2 muy altas (> 90 %), mientras
que en ciencias sociales, valores alrededor de 30 % o 40 % tienden a darse por buenas.
La prueba de hipótesis que se resume en la última línea estudia si esa reducción del error es o no significativa,
i.e., si el modelo ayuda a entender algo los datos. No es particularmente útil porque indica si el modelo es
terriblemente malo (o no); sin embargo, lo que nos interesa saber es si el modelo es suficientemente bueno (o
no).
La prueba de hipótesis que aparece al pie del resumen de un modelo lineal en R es, como se ha indicado, poco
informativa: compara el modelo con un no-modelo (o, más propiamente, un modelo trivial, Y ∼ N (µ, σ).
Pero, como se indicaba al inicio de esta sección, es habitual considerar y plantear modelos distintos para el
análisis de un mismo conjunto de datos. Dos modelos plausibles para los datos anteriores son:
modelo.0 <- lm(dist ~ speed, data = cars)
modelo.1 <- lm(dist ~ speed + I(speed^2), data = cars)
El primero es el que venimos usando a lo largo de la sección. El segundo es más realista desde el punto
de vista físico: como la energía cinética de un cuerpo depende del cuadrado de su velocidad, la distancia
de frenado dependerá de esa cantidad (que en R se puede indicar como en la fórmula correspondiente al
86
modelo.1, i.e., usando la expresión I(speedˆ2)). Entonces, ¿es (significativamente) mejor el segundo modelo
que el primero?
Es mejor, sin duda: puesto que incluye al primero, su error tiene que ser necesariamente menor. ¿Pero lo es
tanto como para justificar la inclusión de un término adicional?
Igual que la prueba mencionada al principio de la sección servía para comparar un modelo lineal con un
modelo trivial (a través de la comparación de sus residuos), es posible comparar dos modelos en R (al menos,
si uno está incluido dentro del otro) así:
anova(modelo.0, modelo.1)
87
12.1.4. El modelo lineal y (algunas) pruebas de hipótesis
Algunas pruebas de hipótesis pueden subsumirse dentro del modelo lineal; otras, veremos, dentro de algunas
de sus generalizaciones. El caso de libro es el de la prueba de Student, del que se ocupa esta sección.
Vamos a plantear un pequeño ejemplo en el que compararemos la media de los vectores:
x <- rnorm(20)
y <- rnorm(20, mean = 1)
Podemos crear dos vectores a partir de ellos: el de los valores observados, obs y el tratamiento, que distingue
los dos grupos. Lo llamaremos así porque, típicamente, los grupos se distinguen por la aplicación a uno de
ellos de una determinada intervención cuyo efecto se desea medir.
obs <- c(x, y)
tratamiento <- c(rep(0, length(x)), rep(1, length(y)))
##
## Welch Two Sample t-test
##
## data: obs by tratamiento
## t = -2.8337, df = 37.374, p-value = 0.007378
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1.7853342 -0.2969309
## sample estimates:
## mean in group 0 mean in group 1
## 0.08776541 1.12889796
Pero, alternativamente, podemos plantear un modelo lineal:
modelo <- lm(obs ~ tratamiento)
Así planteado, el coeficiente de la variable tratamiento será la diferencia esperada de medias. En efecto,
summary(modelo)
##
## Call:
## lm(formula = obs ~ tratamiento)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.30027 -0.85885 -0.09852 0.56096 2.69898
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.08777 0.25980 0.338 0.73736
## tratamiento 1.04113 0.36741 2.834 0.00733 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.162 on 38 degrees of freedom
## Multiple R-squared: 0.1744, Adjusted R-squared: 0.1527
## F-statistic: 8.03 on 1 and 38 DF, p-value: 0.007327
88
No debería sorprender que el p-valor de la prueba de confianza asociada al coeficiente tratamiento sea
idéntico al de la prueba de Student. Además, los intervalos de confianza,
confint(modelo)
## 2.5 % 97.5 %
## (Intercept) -0.4381752 0.613706
## tratamiento 0.2973402 1.784925
son similares a los obtenidos con t.test. La diferencia radica en que los de t.test utilizan la distribución t
de Student, mientras que lo que se obtienen como subproducto de lm usan la aproximación normal. Por lo que
ya sabemos sobre la distribución t, esta diferencia debería decrecer al aumentar el número de observaciones.
XXXX: añadir ejercicio.
¿Existen motivos para usar una prueba de Student en lugar de un modelo lineal? En el siglo XXI (y siguientes),
prácticamente no. La prueba de Student tiene una ventaja notable: exige menos cálculos y se puede aplicar,
prácticamente, a mano. Pero esta ventaja ha quedado prácticamente reducida a nada por los ordenadores.
Sin embargo, la prueba de Student no permite considerar el efecto de otras variables adicionales, como en el
siguiente ejemplo:
set.seed(123)
n <- 30
z <- c(rep(0, 10), rep(1, 30), rep(0, 20))
tratamiento <- c(rep(0, n), rep(1, n))
Los datos en este pequeño ejemplo están seleccionados de tal modo que, a pesar de que existe un tratamiento
que tiene un efecto no nulo, las medias por tratamiento son similares. Es consecuencia del efecto de una
variable adicional, z, que confunde a la prueba:
t.test(obs ~ tratamiento)
##
## Welch Two Sample t-test
##
## data: obs by tratamiento
## t = -0.65729, df = 57.952, p-value = 0.5136
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.9120221 0.4611379
## sample estimates:
## mean in group 0 mean in group 1
## 1.286230 1.511672
En efecto, dado que las medias en ambos grupos son similares, la prueba de Student, ciega al efecto de z, no
descubre efecto alguno. Sin embargo, esto no ocurre en el modelo lineal siguiente:
modelo <- lm(obs ~ tratamiento + z)
summary(modelo)
##
## Call:
## lm(formula = obs ~ tratamiento + z)
##
## Residuals:
89
## Min 1Q Median 3Q Max
## -1.9250 -0.5713 -0.1105 0.5564 1.9961
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.05809 0.23727 -0.245 0.807460
## tratamiento 0.89760 0.25166 3.567 0.000741 ***
## z 2.01648 0.25166 8.013 6.54e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9189 on 57 degrees of freedom
## Multiple R-squared: 0.5332, Adjusted R-squared: 0.5168
## F-statistic: 32.55 on 2 and 57 DF, p-value: 3.718e-10
Y, de hecho, los intervalos de confianza son razonables (aunque, tal vez, demasiado anchos porque la muestra
es pequeña):
confint(modelo)
## 2.5 % 97.5 %
## (Intercept) -0.5332089 0.4170246
## tratamiento 0.3936655 1.4015404
## z 1.5125452 2.5204200
Esta no es una situación tan atípica. Las pruebas de hipótesis se utilizan normalmente en contextos muy
controlados, donde el efecto de las posibles variables confusoras se elimina a través de un diseño experimental
muy preciso. Este diseño experimental aplicado a nuestro conjunto de datos, habría producido otro distinto
en el que la presencia de variables con los distintos niveles de z estuviese equilibrado en ambos grupos. Sin
embargo, generalmente, en estudios observacionales (a diferencia de los experimentales bien planeados) no es
habitual que exista ese equilibrio. Por eso es necesario tener en cuenta el efecto de todas las posibles variables
confusoras y una manera de hacerlo es mediante el uso de modelos como el de más arriba.
La única gran ventaja de la prueba de Student con respecto a la alternativa aquí planteada es que para
muetras pequeñas, al utilizar la distribución de Student, los p-valores y los intervalos de confianza son más
fiables (y más conservadores, i.e., más anchos). Sin embargo, a partir de un número no muy elevado de grados
de libertad (10 o 15), las distribuciones de Student y la normal son prácticamente indistinguibles. Por eso,
salvo para casos cada vez más atípicos, el recurso al test de Student está poco justificado.
Finalmente, hay que recordar que estas consideraciones no se aplican únicamente a la prueba de Student.
Existen más pruebas de libro que pueden subsumirse también en otros tipos de modelos. Entre ellos, los que
veremos a continuación.
Hablar de predict y de la necesidad de dar intervalos de confianza. RElacionarlo con el error irreductible.
Existen cuestiones adicionales y muy relevantes en la práctica sobre el modelo lineal que hemos omitido. Por
ejemplo, la selección de variables o el tratamiento de variables categóricas.
También suelen estudiarse aparte (o como apéndice particular de los modelos lineales) los llamados modelos
ANOVA, que tampoco trataremos aquí.
90
Son importantes también el estudio de transformaciones de los datos. Como por ejemplo, el uso de la
transformación logarítmica para transformar un modelo aditivo en otro multiplicativo. O la forma de
incorporar variables cuyo efecto no es lineal (por ejemplo, el efecto de la hora de día en la intensidad de la
irradiación solar).
También queda fuera del estudio de las interacciones entre variables predictoras, con las que se intenta
modelar la relación entre diversas variables (un ejemplo hipotético: que el efecto de la edad sea creciente para
hombres y decreciente para mujeres).
XXX Nota: un buen libro sobre el modelo lineal. Harrell?
La regresión logística sirve para modelizar problemas en los que la variable objetivo tiene una distribución de
Bernoulli con una probabilidad de éxito p que depende de una serie de variables adicionales. En concreto,
!!
X
Y | X1 , . . . , Xn ∼ Bernoulli p a0 + ai Xi
i
De otra manera:
Y toma valores 1 o 0, que pueden representar fraude / no fraude, éxito / fracaso, etc.
La próbabilidad de éxito (i.e., Y = 1) depende de variables aleatoriasPX1 , . . . , Xn .
Esta dependencia se manifiesta a través de una relación lineal, a0 + i ai Xi , de ellas.
Existe una función de enlace que vincula esa expresión lineal con la probabilidad, p. Aunque hay otras
opciones, típicamente se suele utilizar la función logística,
exp(x) 1
f (x) = =
1 + exp(x) 1 + exp(−x)
La función logística convierte cualquier valor real en un número entre 0 y 1, i.e., en un valor interpretable
como una probabilidad.
91
1.0
0.8
0.6
0.4
0.2
0.0 Función logística
−6 −4 −2 0 2 4 6
x
P
A la vista de la gráfica anterior, cuando la expresión a0 + i ai Xi es positiva, la probabilidad de éxito es
más alta que cuando es negativa. Las variables con coeficiente positivo tienden a hacer crecer la probabilidad
y las que tienen coeficiente negativo, a hacerla decrecer.
El problema fundamental de la regresión logística consiste en identificar los parámetros a0 , . . . , an más
adecuados para modelar un conjunto de datos en cuestión. Este es, de nuevo, un problema de estimación
puntual que puede resolverse, como con el modelo lineal, mediante la maximización de la verosimilitud.
Si se obtiene un conjunto de datos de observaciones mutuamente independientes yi con sus correspondientes
xi1 , . . . , xin , la función de verosimilitud es
! !!
Y X Y X
L(a0 , . . . , an ) = p a0 + ai Xi 1 − p a0 + ai Xi
yi =1 i yi =0 i
de la que podría obtenerse el mínimo mediante diversos procedimientos. Por ejemplo, usando optimización
numérica como en el siguiente ejemplo sencillo.
Merece la pena prestar atención a la creación de la variable objetivo Y , que vamos a construir así:
92
logistic.foo <- function(x) exp(x) / (1 + exp(x))
probs <- logistic.foo(a + b * x)
y <- sapply(probs, function(prob) rbinom(1, 1, prob))
Cada valor yi es un valor 0 o 1, con la probabilidad de 1 igual a la que determina su correspondiente valor xi .
Ahora podemos construir la función de verosimilitud. En realidad, usaremos el logaritmo de la verosimilitud
porque el producto de cantidades pequeñas tiende a producir problemas de estabilidad numérica8 . Luego
usaremos optim para encontrar su máximo:
logL <- function(pars){
a <- pars[1]; b <- pars[2]
probs <- logistic.foo(a + b * x)
sum(log(probs[y == 1])) + sum(log(1 - probs[y == 0]))
}
## (Intercept) x
## -0.7122414 1.2168933
La función glm ofrece mucho más que el valor de los parámetros. Podemos extraer el resto de la información
con summary:
summary(modelo)
##
## Call:
## glm(formula = y ~ x, family = "binomial")
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.3975 -1.1115 -0.9092 1.1643 1.4907
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.7122 0.1313 -5.423 5.87e-08 ***
## x 1.2169 0.2237 5.440 5.33e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1384.2 on 999 degrees of freedom
## Residual deviance: 1353.7 on 998 degrees of freedom
## AIC: 1357.7
##
## Number of Fisher Scoring iterations: 4
8 Trabajar en escala logarítmica es, de hecho, lo que se suele hacer habitualmente para manipular funciones de verosimilitud.
93
Además de los coeficientes, proporciona el resultado de una prueba de confianza con la hipótesis nula de que
el coeficiente es cero. Igual de lo que pasaba con la regresión lineal, una variable con un coeficiente nulo no
tendría influencia en el modelo, por lo que podría descartarse en una versión ulterior.
La interpretación del valor de los coeficientes es un poco más complicada que en el caso del modelo lineal. En
este último, el valor de un coeficiente ai se interpreta de la siguiente manera: un incremento de una unidad
en Xi ceteris paribus produce un incremento (medio) de ai unidades en Y .
En el caso del modelo logístico, como
P
exp(a0 + i ai xi )
p= P ,
1 + exp(a0 + i ai xi )
podemos despejar
!
X p
exp a0 + ai xi =
i
1−p
y, por lo tanto, si la variable xi aumenta en una unidad, dividiendo,
p1 /(1 − p1 )
exp(ai ) = ,
p0 /(1 − p0 )
que es una expresión que a la derecha tiene lo que se conoce como odds ratio(XXX referencia). Su
interpretación no es del todo directa. Lo es por ejemplo, cuando p0 , p1 ∼ 0 (y, frecuentemente, la regresión
logística se usa en contextos en que las probabilidades son pequeñas); en tal caso, es, aproximadamente, la
razón de probabilidades.
En la sección anterior hemos planteado un pequeño ejemplo en el que hemos maximizado la verosimilitud en
el contexto de un modelo logístico usando métodos numéricos. En concreto, los proporcionados por optim en
R.
Pero, en general, optim no es viable. En la práctica, es demasiado lento. Cualquier tipo de método de los
usados ya sea en estadística o en ciencia de datos no solo debe plantear un problema de optimización sino,
además, proporcionar algún algoritmo, generalmente, ad hoc, para resolverlo.
En 1972, Nelder y Wedderburn publicaron un artículo, Generalized Linear Methods, en el que proponían una
técnica eficiente para maximizar la verosimilitud de modelos del tipo
!!
X
Y | X1 , . . . , Xn ∼ D f a0 + ai Xi
i
para una clase amplia de distribuciones D, las llamadas distribuciones de la familia exponencial. Estas
distribuciones incluyen la normal y la binomial, ya tratadas más arriba, así como la Poisson, la gamma y
otras.
Como consecuencia, es posible plantear modelos en los que la variable objetivo es, por ejemplo, un conteo
usando modelos de Poisson. En tal caso, el parámetro λ depende para cada observación de una serie de
variables. Y lo hace a través de una expresión lineal (con coeficientes por determinar) y una función, f , que
recibe el nombre de función de enlace9 .
9 Propiamente, y por motivos históricos, la función de enlace es su inversa.
94
12.3.1. Ejemplo de una regresión de Poisson
Vamos a tanto a plantear como a resolver un problema de regresión de Poisson. Las dos partes tienen su
interés y aunque podríamos haber elegido algún conjunto de datos real, es bueno asentar a través de un
ejemplo cómo deberían ser teóricamente los datos para los cuales es válido este tipo de GLM.
Primero, vamos a definir los parámetros del modelo, que son los que trataremos de estimar después:
n <- 1000
a0 <- 1
a1 <- -0.5
a2 <- 0.5
A continuación, vamos a generar datos. En primer lugar, las variables independientes, una continua y otra
binaria:
set.seed(1234)
x1 <- runif(n, -1, 1)
x2 <- sample(c("a", "b"), n, replace = T)
Luego, la variable dependiente. Para ello, construimos la expresión lineal (usando nuestros coeficientes
predeterminados). Luego calculamos el λ correspondiente a cada observación. Obviamente, λ es una cantidad
positiva, algo que no puede asegurarse de la expresión lineal. De ahí el uso de la función exponencial (i.e., el
uso del logaritmo, su inversa, como función de enlace). Finalmente, simulamos una variable objetivo y usando
un valor distinto de λ, el inducido por las variables independientes, para cada observación.
lin.expr <- a0 + a1 * x1 + a2 * (x2 == "b")
lambdas <- exp(lin.expr)
y <- sapply(lambdas, function(lambda) rpois(1, lambda))
12
12
10
10
8
8
6
6
4
4
2
2
0
x2 == a x2 == b
## Warning in par(mrow = c(1, 1)): "mrow" is not a graphical parameter
El gráfico anterior muestra los datos en dos paneles (que corresponden a los dos valores de la variable binaria)
de acuerdo con los valores de la continua. Además, se ha sobreimpresionado en color rojo la curva de valores
del valor real del parámetro λ en función de la variable x1.
95
Ahora podemos ajustar el modelo:
modelo <- glm(y ~ x1 + x2, family = "poisson")
summary(modelo)
##
## Call:
## glm(formula = y ~ x1 + x2, family = "poisson")
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -3.12098 -0.74931 -0.06633 0.62743 2.73582
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.03819 0.02609 39.79 <2e-16 ***
## x1 -0.49003 0.02856 -17.16 <2e-16 ***
## x2b 0.47058 0.03325 14.15 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 1548.3 on 999 degrees of freedom
## Residual deviance: 1062.9 on 997 degrees of freedom
## AIC: 4026.6
##
## Number of Fisher Scoring iterations: 5
Como puede apreciarse, la estimación de los coeficientes es una aproximación relativamente buena de los
fijados más arriba.
No es sorprendente en este caso: los datos son artificiales y están construidos ad hoc. En la práctica, es raro
encontrar conteos cuya distribución sea exactamente Poisson. El modelo de Poisson es bastante restrictivo: la
media tiene que ser igual a la varianza: λ. Pero es frecuente observar conteos con sobredispersión, i.e., que
tienen una varianza muy superior a la que le asociaría el modelo.
96
Probabilidad de una distribución de Poisson (lambda = 1000)
0.012
0.008
probabilidad
0.004
0.000
97
30
25
20
15
10
5
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13
Existen extensiones específicas del modelo de Poisson para este caso concreto (XXX referencias) aunque es
posible también ajustarlos usando modelos bayesianos (como los que que veremos más adelante) que tengan
en cuenta las características reales (i.e., la inflación de ceros) de la distribución subyacente.
12.3.2. Extensiones
12.4. Referencias
12.5. Ejercicios
dasfsa
98
observados D. Así, θ se convierte en una variable aleatoria propiamente dicha (que nunca dejó de serlo, aunque
pretendiésemos lo contrario) cuyo valor es incierto; pero sobre la cual disponemos de la información adicional
que nos proporcionan unos datos, D. Esa información nos ayudará a acotar la incertidumbre asociada a θ,
determinar las regiones por las que es más probable que se encuentre, etc.
El producto de la aproximación bayesiana a la estadística, por tanto, será una distribución de probabilidad:
la del parámetro θ, condicionada a (o tras) la observación de los datos D. Por eso se le da el nombre de
distribución a posteriori (o posterior).
P (D | θ)P (θ)
P (θ | D) = ,
P (D)
expresión en la que aparecen nuevos términos. El menos interesante es P (D), que es fijo (i.e., no depende de
θ) y que se suele obviar. De hecho, es típico encontrar la expresión anterior representada de la forma
P (θ | D) ∝ P (D | θ)P (θ),
que indica que el término de la izquierda es proporcional al producto de la derecha. La constante de
proporcionalidad es necesariamente tal que la integral del término de la izquierda sea uno, por lo que es
fácilmente identificable.
El término P (D | θ) es un viejo conocido: la verosimilitud. Finalmente, P (θ) es la probabilidad del parámetro
desconocido θ independientemente de los datos, antes de la experiencia, y se la conoce como probabilidad
a priori.
Retomamos aquí el ejemplo de la moneda que se lanza 100 veces de las que 60 son caras. El parámetro
desconocido es p, la probabilidad de cara. La verosimilitud es conocida,
100 60
p (1 − p)40
60
y como distribución a priori podemos elegir (luego discutiremos la elección) la uniforme en [0,1]. La distribución
a posteriori será
100 60
P (θ | D) ∝ P (D | θ) × P (θ) = p (1 − p)40 × 1,
60
por lo que, recogiendo los términos que no contienen a p en la constante de proporcionalidad,
Existe una distribución conocida, de libro, con soporte en [0, 1] y cuya función de densidad es un producto
como el anterior: la beta. Podemos reconocer, por tanto, θ | D ∼ B(61, 41).
99
8
6
4
2
0 Distribución a posteriori
Las distribuciones a priori han suscitado un debate innecesario y han sido consideradas por algunos como
una puerta abierta a la subjetividad en un asunto, la inferecia estadística que, sostienen, debiera ser tan serio
como, por supuesto, objetivo.
En realidad, después de que las ciencias hayan avanzado una barbaridad, escasean los experimentos ex nihilo.
Nada deja de ser una revisita y antes de tirar al aire una moneda ya sabemos mucho sobre el resultado
esperado. También lo sabemos sobre muchas otras cuestiones de relevancia:
El peso relativo del hígado con respecto al de una persona
La variación normal del Ibex 35 en una sesión bursátil
El efecto de una bajada de un cuarto de punto de los tipos de interés en la inflación a medio plazo
El uso de un determinado abono en el rendimiento por hectárea de un determinado cultivo
Y un larguísimo etcétera.
Más concretamente, el autor ha construido modelos en los que el cliente, experto en la materia, le ha dicho:
el coeficiente α, para que tenga sentido, debería tener un valor entre 0,5 y 1,5.
La manera de introducir toda esa información en los modelos es mediante distribuciones a priori adecuadas.
No es la misma moneda una recién sacada del banco que la de un tahúr en una feria. El grado de evidencia
que tenemos que exigir a una y otra para decidir que está trucada es distinto. Ese desigual nivel evidencia se
100
puede graduar mediante el p-valor en un enfoque no bayesiano o utilizando una distribución a priori distinta
en el bayesiano.
Distribución a posteriori con priori
informativa vs no informativa
101
Aunque los problemas computacionales constituían tiempo atrás un escollo insalvable, hoy en día, gracias a
los ordenadores, es posible plantear y resolver muchos de manera sencilla. Precisamente, a día de hoy, uno de
los grandes ámbitos de investigación (y de aplicación) en estadística es el de los modelos bayesianos en el
contexto del big data.
En algunos casos tan escasos como interesantes, es posible deducir la distribución a posteriori (así como sus
parámetros). Existen parejas de familias de distribuciones A, B tales que si la priori es A y la verosimilitud
es B, entonces la posteriori es A.
Un ejemplo de esa parejas de distribuciones son las que hemos utilizado en el ejemplo de las monedas:
La priori era beta: sea uniforme (beta(1, 1)) o informativa (beta(40, 40)).
La verosimilitud era binomial.
Y la posterior era, de nuevo, beta.
Existen muchas más parejas de estas distribuciones, que reciben el nombre de distribuciones conjugadas.
Muchas de ellas tienen aplicaciones en la práctica: son lo suficientemente flexibles para representar fidedig-
namente fenómenos aleatorios complejos. En ocasiones, no obstante, se recurre a ellas precisamente por la
facilidad de cómputo que representa la posibilidad de contar con una descripción analítica de la distribución
a posteriori.
No obstante, hoy en día es posible explorar la distribución a posteriori aun desconociendo su forma analítica.
El epígrafe genérico de métodos MCMC (Markov Chain Monte Carlo) engloba técnicas como las del muestreo
de Gibbs o el algoritmo de Metropolis-Hastings10 con las que se pueden obtener muestras de la posterior en
un problema determinado.
Hoy en día tampoco hace falta conocer los detalles de estas técnicas. Existen DSLs (domain specific languages
o, en español, minilenguajes) que permiten modelar fenómenos aleatorios condicionados a determinados
parámetros de interés y muestrear sus distribuciones a posteriori. Algunos de los más conocidos son BUGS
(en alguna de sus versiones, WinBUGS u OpenBUGS), JAGS o, más recientemente, Stan, que es el que
usaremos en las siguientes secciones.
Stan es un DSL (o minilenguaje) para la modelización probabilística especialmente indicado para el muestreo
de distribuciones a posteriori. A diferencia de muchos otros minilenguajes, no es interpretado: el código
desarrollado en Stan, por eficiencia, antes de ejecutarse, se traduce a C++ y se compila. Stan implementa
una versión moderna y avanzada de los métodos MCMC, el llamado Hamiltonian no u-turn sampler que
mejora algunas de las deficiencias de los más clásicos (p.e., el de Gibbs).
Existen extensiones de Stan para su integración con lenguajes como Python y, cómo no, R. En R, el paquete
necesario para usar Stan es rstan.
Un programa en Stan se compone de una secuencia de bloques de los que, frecuentemente, solo se usan tres:
El bloque de datos, donde se especifican los datos de entrada y se instancian las variables necesarias.
El bloque de parámetros, donde se especifican los parámetros de interés (p.e., las probabilidades de
interés en un modelo de Bernoulli o los coeficientes de una regresión lineal).
El bloque de código propiamente dicho, donde se describe el modelo probabilístico.
De todos modos, la mejor manera de familiarizarse con Stan es a través de la resolución de algunos problemas
ya conocidos.
10 Entre las más clásicas: hoy en día se utilizan otras más eficientes.
102
13.5. Caso práctico: prueba de la diferencia de medias
El de la diferencia de medias es un problema que hemos planteado desde dos perspectivas en lo que precede:
como una prueba de hipótesis clásica y como un modelo lineal.
El problema puede describirse así: hay unos datos que tienen una distribución N (µ0 , σ) y otros con una
distribución N (µ1 , σ) e interesa determinar si µ0 = µ1 . De otra manera, nos interesa la distribución de la
variable aleatoria δ = µ1 − µ0 para ver si concentra su masa cerca o lejos del valor 0.
Primero plantearemos el problema con unos datos simulados y lo resolveremos usando la prueba de Student
tradicional:
set.seed(1234)
N1 <- 50
N2 <- 50
mu1 <- 1
mu2 <- -0.5
sig1 <- 1
sig2 <- 1
t.test(y1, y2)
##
## Welch Two Sample t-test
##
## data: y1 and y2
## t = 4.7059, df = 95.633, p-value = 8.522e-06
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 0.5246427 1.2901923
## sample estimates:
## mean of x mean of y
## 0.5469470 -0.3604705
A continuación, lo replantearemos con Stan usando el paquete rstan de R. En primer lugar, cargaremos el
paquete y, por conveniencia, crearemos una lista con los datos que habrá que pasar a Stan:
library(rstan)
103
standat <- list(N1 = length(y1),
N2 = length(y2),
y1 = y1, y2 = y2,
mu0 = mean(c(y1,y2)))
A continuación, definiremos el problema en Stan. El primer bloque, data define los datos necesarios y sus
tipos y es, prácticamente, autoexplicativo.
data {
int<lower=1> N1;
int<lower=1> N2;
vector[N1] y1;
vector[N2] y2;
real mu0;
}
En el bloque parameters se definen y asignan tipos a los parámetros involucrados en el problema:
mu, la media del primer grupo.
diff, la diferencia entre la media entre los dos grupos; es nuestro principal parámetro de interés.
sigma1 y sigma2 son las varianzas desconocidas de nuestros datos que Stan estimará como subproducto.
En la prueba clásica de Student, es necesario que las varianzas de ambos conjuntos de datos sean
idénticas (aunque algunas extensiones posteriores relajan esa condición). Con Stan podemos ignorar la
restricción dejando que sean distintas.
parameters {
real mu;
real diff;
real<lower=0> sigma1;
real<lower=0> sigma2;
}
Si las varianzas son distintas, la distribución subyacente usada en la prueba de Student ya no es una t de
Student: a lo más, será una aproximación suya. Con Stan eso no supone un problema porque es capaz de
muestrear la distribución a posteriori aunque sea desconocida y no figure en los manuales.
model {
// prioris
mu ~ normal(mu0, 10);
sigma1 ~ cauchy(0, 5);
sigma2 ~ cauchy(0,5);
// verosimilitud
y1 ~ normal(mu, sigma1);
y2 ~ normal(mu + diff, sigma2);
}
El bloque model define nuestro modelo. Por un lado, proporcionamos las distribuciones a priori. En este caso
usamos distribuciones muy poco informativas, i.e, con una varianza grande. Hay que prestar atención a dos
detalles:
sigma1 y sigma2 son variables positivas pero su priori es de Cauchy (que admite valores negativos).
Esto, sin embargo, no es problemático porque estas desviaciones estándar han sido definidas como
positivas en el bloque de parámetros. Esto significa que, en la práctica, se estará usando solo la mitad
positiva de la distribución de Cauchy. Sin embargo, si no se establece esa restricción, casi seguro, se
pruducirá un error en la ejecución del código.
104
No hay distribución a priori para diff. Eso equivale, esencialmente, a que cualquier valor real es
equiprobable11 .
Y finalmente, está el bloque de la verosimilitud. En este caso simplemente le indicamos a Stan que y1 es
un vector con distribución normal con parámetros mu y sigma1 y que y2 es también normal con parámetros
mu + diff y sigma2. Ahí reside, esencialmente, la sustancia; que no es otra cosa que la especificación de la
prueba de Student traducida a código de Stan.
A continuación, juntamos el código en una cadena de texto en R:
stanmodelcode <- '
data {
int<lower=1> N1;
int<lower=1> N2;
vector[N1] y1;
vector[N2] y2;
real mu0;
}
parameters {
real mu;
real diff;
real<lower=0> sigma1;
real<lower=0> sigma2;
}
model {
// prioris
mu ~ normal(mu0, 10);
sigma1 ~ cauchy(0, 5);
sigma2 ~ cauchy(0,5);
// verosimilitud
y1 ~ normal(mu, sigma1);
y2 ~ normal(mu + diff, sigma2);
}
'
##
## SAMPLING FOR MODEL '6112d1189e4cf39491023c40ff448a5a' NOW (CHAIN 1).
## Chain 1:
## Chain 1: Gradient evaluation took 5e-06 seconds
## Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0.05 seconds.
## Chain 1: Adjust your expectations accordingly!
## Chain 1:
## Chain 1:
11 No existe ninguna distribución de probabilidad que asigne la misma probabilidad a todos los reales: su integral sería
infinita, no uno; sin embargo, es útil poder contar con ese tipo de variables aleatorias, que se dice que tienen una distribución
degenerada y que pueden considerarse casos límite de variables aleatorias no degeneradas: por ejemplo, una sucesión de
variables aleatorias normales de varianza creciente.
105
## Chain 1: Iteration: 1 / 12000 [ 0%] (Warmup)
## Chain 1: Iteration: 1200 / 12000 [ 10%] (Warmup)
## Chain 1: Iteration: 2001 / 12000 [ 16%] (Sampling)
## Chain 1: Iteration: 3200 / 12000 [ 26%] (Sampling)
## Chain 1: Iteration: 4400 / 12000 [ 36%] (Sampling)
## Chain 1: Iteration: 5600 / 12000 [ 46%] (Sampling)
## Chain 1: Iteration: 6800 / 12000 [ 56%] (Sampling)
## Chain 1: Iteration: 8000 / 12000 [ 66%] (Sampling)
## Chain 1: Iteration: 9200 / 12000 [ 76%] (Sampling)
## Chain 1: Iteration: 10400 / 12000 [ 86%] (Sampling)
## Chain 1: Iteration: 11600 / 12000 [ 96%] (Sampling)
## Chain 1: Iteration: 12000 / 12000 [100%] (Sampling)
## Chain 1:
## Chain 1: Elapsed Time: 0.027177 seconds (Warm-up)
## Chain 1: 0.134932 seconds (Sampling)
## Chain 1: 0.162109 seconds (Total)
## Chain 1:
##
## SAMPLING FOR MODEL '6112d1189e4cf39491023c40ff448a5a' NOW (CHAIN 2).
## Chain 2:
## Chain 2: Gradient evaluation took 3e-06 seconds
## Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0.03 seconds.
## Chain 2: Adjust your expectations accordingly!
## Chain 2:
## Chain 2:
## Chain 2: Iteration: 1 / 12000 [ 0%] (Warmup)
## Chain 2: Iteration: 1200 / 12000 [ 10%] (Warmup)
## Chain 2: Iteration: 2001 / 12000 [ 16%] (Sampling)
## Chain 2: Iteration: 3200 / 12000 [ 26%] (Sampling)
## Chain 2: Iteration: 4400 / 12000 [ 36%] (Sampling)
## Chain 2: Iteration: 5600 / 12000 [ 46%] (Sampling)
## Chain 2: Iteration: 6800 / 12000 [ 56%] (Sampling)
## Chain 2: Iteration: 8000 / 12000 [ 66%] (Sampling)
## Chain 2: Iteration: 9200 / 12000 [ 76%] (Sampling)
## Chain 2: Iteration: 10400 / 12000 [ 86%] (Sampling)
## Chain 2: Iteration: 11600 / 12000 [ 96%] (Sampling)
## Chain 2: Iteration: 12000 / 12000 [100%] (Sampling)
## Chain 2:
## Chain 2: Elapsed Time: 0.026592 seconds (Warm-up)
## Chain 2: 0.125158 seconds (Sampling)
## Chain 2: 0.15175 seconds (Total)
## Chain 2:
##
## SAMPLING FOR MODEL '6112d1189e4cf39491023c40ff448a5a' NOW (CHAIN 3).
## Chain 3:
## Chain 3: Gradient evaluation took 3e-06 seconds
## Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0.03 seconds.
## Chain 3: Adjust your expectations accordingly!
## Chain 3:
## Chain 3:
## Chain 3: Iteration: 1 / 12000 [ 0%] (Warmup)
## Chain 3: Iteration: 1200 / 12000 [ 10%] (Warmup)
## Chain 3: Iteration: 2001 / 12000 [ 16%] (Sampling)
## Chain 3: Iteration: 3200 / 12000 [ 26%] (Sampling)
106
## Chain 3: Iteration: 4400 / 12000 [ 36%] (Sampling)
## Chain 3: Iteration: 5600 / 12000 [ 46%] (Sampling)
## Chain 3: Iteration: 6800 / 12000 [ 56%] (Sampling)
## Chain 3: Iteration: 8000 / 12000 [ 66%] (Sampling)
## Chain 3: Iteration: 9200 / 12000 [ 76%] (Sampling)
## Chain 3: Iteration: 10400 / 12000 [ 86%] (Sampling)
## Chain 3: Iteration: 11600 / 12000 [ 96%] (Sampling)
## Chain 3: Iteration: 12000 / 12000 [100%] (Sampling)
## Chain 3:
## Chain 3: Elapsed Time: 0.026449 seconds (Warm-up)
## Chain 3: 0.126119 seconds (Sampling)
## Chain 3: 0.152568 seconds (Total)
## Chain 3:
##
## SAMPLING FOR MODEL '6112d1189e4cf39491023c40ff448a5a' NOW (CHAIN 4).
## Chain 4:
## Chain 4: Gradient evaluation took 3e-06 seconds
## Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 0.03 seconds.
## Chain 4: Adjust your expectations accordingly!
## Chain 4:
## Chain 4:
## Chain 4: Iteration: 1 / 12000 [ 0%] (Warmup)
## Chain 4: Iteration: 1200 / 12000 [ 10%] (Warmup)
## Chain 4: Iteration: 2001 / 12000 [ 16%] (Sampling)
## Chain 4: Iteration: 3200 / 12000 [ 26%] (Sampling)
## Chain 4: Iteration: 4400 / 12000 [ 36%] (Sampling)
## Chain 4: Iteration: 5600 / 12000 [ 46%] (Sampling)
## Chain 4: Iteration: 6800 / 12000 [ 56%] (Sampling)
## Chain 4: Iteration: 8000 / 12000 [ 66%] (Sampling)
## Chain 4: Iteration: 9200 / 12000 [ 76%] (Sampling)
## Chain 4: Iteration: 10400 / 12000 [ 86%] (Sampling)
## Chain 4: Iteration: 11600 / 12000 [ 96%] (Sampling)
## Chain 4: Iteration: 12000 / 12000 [100%] (Sampling)
## Chain 4:
## Chain 4: Elapsed Time: 0.028069 seconds (Warm-up)
## Chain 4: 0.157736 seconds (Sampling)
## Chain 4: 0.185805 seconds (Total)
## Chain 4:
El código anterior corre el programa con nuestros datos lanzando cuatro cadenas. Sería posible, además
hacerlo en paralelo. Cada cadena realiza 12000 iteraciones, de las cuales, las 2000 primeras se descartan
(warmup) y finalmente, se elige uno de cada diez valores de los valores restantes para reducir la posible
correlación entre observaciones sucesivas.
summary(fit)$summary
107
## sigma1 0.8987001 0.9625815 1.1071381 3923.718 0.9995454
## sigma2 1.0565903 1.1359470 1.3055842 4066.907 1.0015183
## lp__ -46.6159954 -45.8486394 -45.1213641 3996.413 0.9996956
pairs(fit, pars=c("mu", "sigma1", "sigma2", "diff"))
0.8 1.0 1.2 1.4 −1.5 −1.0 −0.5
1.0
mu
0.6
0.2
sigma1
1.2
0.8
1.6
sigma2
1.2
0.8
diff
−0.5
−1.5
0.2 0.4 0.6 0.8 1.0 0.8 1.0 1.2 1.4 1.6
108
−1.6 −1.2 −0.8 −0.4
diff
El segundo caso práctico del uso de Stan va a ser mucho más ambicioso, aunque no mucho más complicado:
el del suavizado estadístico. En particular, vamos a plantear una versión simplificada del filtro de Kalman.
El contexto es el siguiente: observamos un fenómeno subyacente real que evoluciona de la siguiente manera:
mt+1 = mt + t ,
donde t ∼ N (0, σ0 ). Es decir, en cada momento, el proceso va dando saltos normales a partir de su posición
anterior. Sin embargo, no observamos directamente los valores mt sino a través de un instrumento de medición
ruidoso; es decir, observamos valores xt que tienen distribución
xt = mt + ηt ,
donde ηt ∼ N (0, σ1 ).
… …
m[i−1] m[i]
x[i−1] x[i]
109
Unos datos para cuyo análisis se ha usado ese tipo de modelos es el que en R se distribuye con en nombre de
Nile y que recoge el flujo anual del río Nilo en Asuán desde 1871 a 1970 (véase ?Nile). En R se pueden usar
técnicas ad hoc (y avanzadas) para modelar estos datos como a continuación:
plot(Nile)
800
600
Time
pero, alternativamente, se puede implementar el modelo directamente sobre Stan. Esencialmente, todo se
reduce a:
nilo[1] ~ normal(m[1], sigma1);
for (i in 2:N){
m[i] ~ normal(m[i-1], sigma0);
nilo[i] ~ normal(m[i], sigma1);
}
En el código anterior, m[i] representan los valores reales subyacentes. Cada uno de ellos tiene una distribución
normal con media igual a m[i-1]. Finalmente, los valores observados, nilo[i] tienen una distribución normal
con media en m[i].
Lo inhabitual del código anterior es que Stan, en una expresión del tipo
nilo[i] ~ normal(m[i], sigma1);
no calcula el término de la izquierda, nilo[i] en función de la expresión de la derecha, normal(m[i],
sigma1), sino lo contrario. Los valores nilo[i] son conocidos (son nuestras observaciones) y a partir de ellas
se exploran posibles valores compatibles de los parámetros m[i] y sigma1.
El código completo para resolver el problema en Stan es:
codigo <- '
data {
int N;
110
vector[N] nilo;
}
parameters {
vector[N] m;
real<lower=0, upper = 1000> sigma0;
real<lower=0, upper = 1000> sigma1;
}
model {
for (i in 1:N)
m[i] ~ normal(1000, 500);
for (i in 2:N){
m[i] ~ normal(m[i-1], sigma0);
nilo[i] ~ normal(m[i], sigma1);
}
}
'
## Warning: There were 4 chains where the estimated Bayesian Fraction of Missing Information was low. Se
## http://mc-stan.org/misc/warnings.html#bfmi-low
## Warning: Examine the pairs() plot to diagnose sampling problems
La salida contiene 4000 secuencias de variables m[i] (con i entre 1 y N), cada una de las cuales corresponde
a una posible trayectoria del fenómeno subyacente.
library(reshape2)
tmp <- as.data.frame(fit)
tmp <- tmp[,1:100,]
colnames(tmp) <- 1:100
tmp$id <- 1:nrow(tmp)
ggplot(nilo, aes(x = x, y = nilo)) + geom_line(col = "blue", alpha = 0.5) + geom_point(col = "blue", alp
geom_line(data = tmp, aes(x = variable, y = value, group = id), alpha = 0.005) +
xlab("") + ylab("") + ggtitle("4000 trayectorias simuladas")
111
4000 trayectorias simuladas
1400
1200
1000
800
600
0 25 50 75 100
La solución tradicional
modelo <- lm(dist ~ speed, data = cars)
plot(cars$speed, cars$dist, xlab = "velocidad", ylab = "distancia", main = "")
abline(modelo, col = "red")
120
80
distancia
40
0
5 10 15 20 25
velocidad
La solución tradicional: coeficientes, etc.
##
## Call:
## lm(formula = dist ~ speed, data = cars)
##
## Residuals:
## Min 1Q Median 3Q Max
112
## -29.069 -9.525 -2.272 9.215 43.201
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -17.5791 6.7584 -2.601 0.0123 *
## speed 3.9324 0.4155 9.464 1.49e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 15.38 on 48 degrees of freedom
## Multiple R-squared: 0.6511, Adjusted R-squared: 0.6438
## F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12
rstan: código
stanmodelcode <- '
data {
int N;
vector[N] speed;
vector[N] dist;
}
parameters {
real a0;
real a1;
real<lower = 0, upper = 100> sigma;
}
model {
// prioris
a0 ~ cauchy(0, 100);
a1 ~ cauchy(0, 100);
sigma ~ cauchy(0, 5);
// verosimilitud
for (i in 1:N)
dist[i] ~ normal(a0 + a1 * speed[i], sigma);
}
'
rstan: resultados
tmp <- as.data.frame(fit)$a1
hist(tmp, breaks = 30, col = "gray", xlab = "", freq = FALSE,
main = "coef speed: posteriori (hist) vs lm (red)")
coefs <- summary(modelo)$coefficients[2,]
curve(dnorm(x, coefs[1], coefs[2]), from = min(tmp), to = max(tmp), col = "red", add = TRUE)
113
coef speed: posteriori (hist) vs lm (red)
0.8
Density
0.4
0.0
100
75
dist
50
25
0
5 10 15 20 25
speed
rstanarm: rstan para todos
library(rstanarm)
114
Incluye funciones para versiones estanizadas de lm, glm, lmer, etc.
Son más robustos, según los autores, que los que uno pueda construir a mano
Sobre todo, permiten especificar modelos con la interfaz habitual (con fórmulas)
13.8. Referencias
A priori y a posteriori
Distribuciones conjungadas
Stan y rstan y rstanarm
13.9. Ejercicios
dafsfs
13.10. TODO
115