Distribución Normal e Intervalos de Confianza

Sesión del miércoles, 12 de agosto de 2026

Objetivo de la práctica

El objetivo de esta guía práctica es introducirnos en la inferencia estadística, revisando los conceptos y aplicaciones de la curva normal y las probabilidades bajo esta con puntajes Z, además del cálculo del error estándar y de intervalos de confianza.

En detalle, aprenderemos y recordaremos:

  1. Los conceptos de promedio y desviación estándar
  2. Estimación de puntaje Z
  3. Cómo calcular e interpretar el error estándar
  4. Cómo calcular e interpretar intervalos de confianza

1 Promedio y desviación estándar

El promedio y la desviación estándar son conceptos fundamentales para continuar hacia la estadística inferencial. Repasemos estos conceptos mediante un ejercicio con datos simulados.

Primero, con la función rnorm creamos un vector de 100 valores aleatorios con \(media(\mu) = 5\) y \(desviación\hspace{0.2cm}estándar(\sigma) = 2\).

set.seed(123) # Fijar la semilla para reproducibilidad
vector <- rnorm(100, mean = 5, sd = 2)
Nota

Un vector es una estructura básica de datos que contiene una colección ordenada de valores del mismo tipo (como números o caracteres).

Luego, con la función summary podemos obtener un resumen de algunos estadísticos del vector que creamos.

summary(vector) # Ver el vector generado
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.3817  4.0123  5.1235  5.1808  6.3836  9.3747 
Tip

Si no sabes lo que hace una función en específico, puedes correr el comando ?. Por ejemplo, ?summary entrega la descripción, el uso y los argumentos de la función de R base summary

¿Cómo se vería la distribución de este vector aleatorio? Una buena práctica en el análisis de datos es realizar un primera inspección visual de los datos. Los tres gráficos que siguen nos dan una buena idea de la distribución del vector creado.

hist(vector,main="Histograma del Vector",xlab="Valor",ylab="Frecuencia",col="cyan4",border="black")

boxplot(vector,main="Diagrama de Caja del Vector aleatorio",ylab="Valor",col="cyan3")

Ahora, calculamos la media y la desviación estándar del vector. En R, eso se logra con las funciones mean y sd. Se pueden ejecutar directamente (ej: mean(vector)) o guardar los resultados en un objeto para usarlos más adelante. En este caso, guardaremos los resultados en los objetos media y desv_estandar.

Nota

Un objeto en R es un nombre al que le asignamos un valor (como un número, un vector o una tabla) para poder reutilizarlo después sin volver a calcularlo. La forma general en que esto funciona en R es: nombre_objeto <- valor. Por ejemplo, x <- 5 crea un objeto llamado x que contiene el valor 5.

media <- mean(vector)
desv_estandar <- sd(vector)

Para ver los resultados en la consola basta llamarlos con los nombres que les asignamos

media
[1] 5.180812
desv_estandar
[1] 1.825632

En el caso de nuestro vector, creado con datos aleatorios, la media \(\bar{x} = 5,18\) nos muestra que el promedio de los datos se encuentra en torno a 5,2.

La desviación estándar corresponde, entonces, a un promedio de lo que cada valor se aleja del promedio del vector. En el caso de nuestro vector, \(s = 1,82\) nos muestra que en promedio los datos se alejan \(\pm\) 1,82 puntos del promedio.

2 Estandarización y Puntaje Z

Al estandarizar un vector numérico (que puede representar una variable numérica) lo que hacemos es expresar su valor en términos de desviaciones estándar basados en la distribución normal. Esto nos permite comparar distintas distribuciones en una métrica común.

Al valor estandarizado lo llamamos puntaje Z, y corresponde a la cantidad de desviaciones estándar que nos alejamos del promedio (para cada valor de la variable con la que trabajemos).

2.1 Cálculo de puntaje Z

Recordemos que la formula para calcular el puntaje Z es:

\[ z = \frac{x_i - \bar{x}}{s} \]

donde \(x_i\) es el valor observado, \(\bar{x}\) la media y \(s\) la desviación estándar.

z_scores <- (vector - media) / desv_estandar

La función head nos muestra los primeros casos del vector (en este caso 10). Lo usamos para inspeccionar los datos y, en este caso, comparar los valores originales con los estandarizados.

head(data.frame(Valor=vector, Z=z_scores), 10)
      Valor           Z
1  3.879049 -0.71304802
2  4.539645 -0.35120270
3  8.117417  1.60854170
4  5.141017 -0.02179795
5  5.258575  0.04259548
6  8.430130  1.77983218
7  5.921832  0.40589817
8  2.469878 -1.48492941
9  3.626294 -0.85149566
10 4.108676 -0.58726835
Interpretación

Cada valor del vector original tiene un puntaje Z correspondiente, que nos indica cuántas desviaciones estándar se aleja del promedio. Por ejemplo, el primer valor del vector es 3,87, y su correspondiente puntaje Z es -0,71. Esto significa que el valor 3,87 se encuentra 0,71 desviaciones estándar por debajo del promedio del vector.

Ahora bien, R trae incorporadas funciones que permiten hacer estos cálculos de manera directa. En el caso de los puntajes Z, usamos la función scale para estandarizar los puntajes del vector. También vamos a comparar estos resultados con los que obtuvimos manualmente.

# Estandarizar el vector
z_scores_scale <- scale(vector)

# Comparar valores originales y estandarizados según ambos métodos. 
head(data.frame(Valor=vector, Z_manual=z_scores, z_scale=z_scores_scale), 10)
      Valor    Z_manual     z_scale
1  3.879049 -0.71304802 -0.71304802
2  4.539645 -0.35120270 -0.35120270
3  8.117417  1.60854170  1.60854170
4  5.141017 -0.02179795 -0.02179795
5  5.258575  0.04259548  0.04259548
6  8.430130  1.77983218  1.77983218
7  5.921832  0.40589817  0.40589817
8  2.469878 -1.48492941 -1.48492941
9  3.626294 -0.85149566 -0.85149566
10 4.108676 -0.58726835 -0.58726835
Tip

Noten que ambos procedimientos llegan al mismo resultado, por lo tanto la función scale es una manera rápida de estandarizar un vector numérico.

2.1.1 Cálculo de probabilidades a partir de Z

Los valores estandarizados o puntajes Z además nos permiten conocer la probabilidad de un valor específico dentro de la distribución normal. Asumiendo que el 100% de los casos se encuentra bajo la curva normal, podemos calcular qué porcentaje de los casos se encuentra por debajo de un valor Z específico.

El código de más abajo crea y dibuja la curva de una distribución normal estándar: en la primera línea, seq(-4, 4, length=1000) genera 1000 valores entre -4 y 4, que representan puntuaciones Z; en la segunda línea, la función dnorm() calcula, para cada uno de esos valores, la altura correspondiente en la curva de densidad normal, es decir, qué tan probable o frecuente es ese valor; y en la tercera línea, plot() dibuja ambos conjuntos de números.

x_values <- seq(-4,4,length=1000)
y_values <- dnorm(x_values)
plot(x_values,y_values,type="l",xlab="Valor Z",ylab="Probabilidad",main="Distribución Normal")

Podemos preguntar qué proporción/área de la curva cae por debajo de un valor Z particular. Por ejemplo, el valor 0:

# Probabilidades acumuladas
pnorm(0)       # P(Z <= 0)
[1] 0.5

Por definición, 0 es el promedio de la distribución normal estándar, por lo tanto este valor se encuentra a 0 desviaciones estándar del promedio. Por lo tanto, la probabilidad de que un valor Z sea menor o igual a 0 es del 50%.

Pensemos en otro ejemplo que vimos en clases: la estatura promedio de las mujeres en Chile es de 1,60, y la desviación estándar es de 6 cm. ¿Qué porcentaje de mujeres mide menos de 1,50 m? Primero, calculamos el puntaje Z correspondiente a 1,50 m:

z_150 <- (1.50 - 1.60) / 0.06
z_150
[1] -1.666667

Ahora, podemos calcular la probabilidad de que una mujer mida menos de 1,50 m:

pnorm(z_150)
[1] 0.04779035

El resultado de 0.047 (4.7 cm) nos indica que aproximadamente el 4,7% de las mujeres mide menos de 1,50 m. Esto tiene sentido al pensarlo en términos de la curva normal, ya que 1,50 m se encuentra a 1,67 desviaciones estándar por debajo del promedio (1,60 m), y sabemos que la mayor parte de los casos se encuentra dentro de 1 desviación estándar del promedio.

Abajo se puede ver un gráfico que representa este valor en la distribución normal, donde el area roja representa la proporción de casos que se encuentra por debajo de 1,50 m.

# gráfico de la distribución normal con el área sombreada para el ejemplo de estatura de 1,50 m
x_values <- seq(-4,4,length=1000)
y_values <- dnorm(x_values)
plot(x_values,y_values,type="l",xlab="Valor Z",ylab="Probabilidad",main="Distribución Normal")
polygon(c(-4,seq(-4,z_150,length=100),z_150),c(0,dnorm(seq(-4,z_150,length=100)),0),col="#eb0505",border=NA)

3 Error Estándar

Recordemos que el error estándar es una medida de la variabilidad de un estadístico muestral, como la media, y nos permite estimar la precisión de nuestra estimación. Para calcularlo, necesitamos conocer la desviación estándar de la muestra (\(s\)) y el tamaño de la muestra (\(n\)). La fórmula para calcular el error estándar es:

\[ SE = \frac{s}{\sqrt{n}} \]

Calculemos el Error Estándar de nuestro vector:

n_vector <- length(vector) # calculamos el tamaño muestral

ee_vector <- desv_estandar/sqrt(n_vector)

ee_vector
[1] 0.1825632

El resultado nos indica que si tomáramos muchas muestras de tamaño n de esta misma población, y calculáramos la media de cada uno, esas medias tendrían una variarían, en promedio, \(\pm\) 0,18 unidades respecto a la media.

Interpretación del Error Estándar

El error estándar nos dice cuánta variabilidad esperamos en la media muestral si calculáramos la media a partir de muchas muestras diferentes de la misma población. En este caso, 0,18 significa que:

  • Si tomáramos 100 muestras diferentes de 100 casos cada una, las medias no serían todas iguales y se podría entonces calcular la desviación estándar de las medias
  • El teorema central del límite nos dice que la distribución de esas medias muestrales se aproximaría a una distribución normal, y que es posible calcular su desviación estándar con una sola muestra, que sería el error estándar
  • Un error estándar pequeño indica que nuestro estimador (la media muestral) es preciso; un error estándar grande indica menos precisión

Por esto, el error estándar es fundamental para construir intervalos de confianza: nos permite establecer rangos de valores donde es probable que se encuentre el verdadero parámetro poblacional.

No se debe confundir error estándar y desviación estándar. La desviación estándar describe la dispersión de los datos individuales dentro la muestra; el error estándar describe cuánto varía la media de una muestra a otra.

4 Intervalos de confianza

4.1 De la estimación puntual a los intervalos de confianza

Supongamos que nuestro vector en realidad fuera una muestra de 100 casos sobre algún tema de interés — imaginemos, por ejemplo, que representan los resultados de una prueba estandarizada rendida por 5.000 estudiantes universitarios. Antes, calculamos que la media para estos 100 casos es de 5,18. ¿Se arriesgarían a decir que la media para el total de la población es exactamente 5,18?

A esta primera estimación le llamamos estimación puntual. En cambio, a partir del error estándar, es posible construir rangos de probabilidad basados en la distribución normal, conocidos como intervalos de confianza.

4.2 Intervalos de confianza y Error Estándar

El cálculo de los intervalos de confianza es una de las principales aplicaciones prácticas del error estándar. Dado que las medias muestrales siguen la distribución normal, es posible concluir que aproximadamente el 68% de las medias muestrales se encontrarán a 1 error estándar del promedio poblacional.

Recordando la distribución normal:

Por lo tanto, si construimos un rango de ±1 error estándar alrededor de nuestra propia media muestral, ese rango debería contener el promedio poblacional en aproximadamente el 68% de los casos. El siguiente código calcula ese rango para nuestro vector:

media - ee_vector
[1] 4.998249
media + ee_vector
[1] 5.363375

De tal modo, es posible concluir que el 68% de los casos se encuentra en un intervalo que va desde 5,00 a 5,36. Del mismo modo, hay un 32% de posibilidades de que el parámetro de la población esté fuera de ese rango. O sea, 35% de probabilidad de error. Pero ¿es aceptable un 35% de error?

4.3 Confianza y error

Convencionalmente, se suele aceptar como estadísticamente significativa una probabilidad de error menor al 5%, es decir, un nivel de confianza de al menos un 95%.

Si pensamos en edad media 10 y desviación estándar 1, un intervalo de confianza del 95% (+/- 2 \(s\))sería aproximadamente de 8 a 12 años. Esto significa que si tomáramos muchas muestras y calculáramos el intervalo de confianza para cada una, el 95% de esos intervalos contendría la verdadera media poblacional.

4.4 Cálculo de intervalos de confianza para medias

El intervalo de confianza (IC) para la media poblacional se calcula con la siguiente fórmula: \[ IC = \bar{x} \pm z \cdot \frac{s}{\sqrt{n}} \]

donde \(\bar{x}\) es la media muestral, \(z\) es el puntaje Z correspondiente a una cierto nivel de confianza (también llamado valor crítico), y \(s/\sqrt{n}\) es el error estándar.

Estableciendo el nivel de confianza / valor crítico de Z

Recordemos que convencionalmente se acepta un 5% de probabilidad de error, que corresponde a un 95% de confianza.

Para generar este nivel de confianza, necesitamos conocer el valor crítico de Z que corresponde a un 95% de confianza. Este valor crítico nos indica cuántas desviaciones estándar debemos sumar y restar a la media para construir el intervalo de confianza.

Para esto, volvemos a la curva normal estándar. Recordemos que aproximadamente el 95% de los casos se encuentra dentro de ±2 desviaciones estándar del promedio. Pero esto es solo aproximado. Para obtener el valor exacto, necesitamos calcularlo con la función qnorm de R.

La lógica es la siguiente: si queremos un 95% de confianza, eso significa que queremos dejar un 5% de error. Como la distribución normal es simétrica, ese 5% se divide en 2,5% a la izquierda y 2,5% a la derecha. Por lo tanto, necesitamos calcular el valor Z que deja un 2,5% de error a la izquierda (0.025) y el valor Z que deja un 2,5% de error a la derecha (0.975).

z_inf <- qnorm(0.025) # ¿Qué Z deja 2.5% de error a la izquierda?
z_sup <- qnorm(0.975) # ¿Qué Z deja 2.5% de error a la derecha?

z_inf
[1] -1.959964
z_sup
[1] 1.959964

Vemos que el valor Z correspondiente a un 2,5% en cada cola es de ±1,96 (en desviaciones estándar de la curva normal estándar). Es decir, sumando y restando 1,96 errores estándar al promedio construimos un intervalo de confianza del 95%. El siguiente código nos permite visualizarlo.

plot(x_values, y_values, type = "l", xlab = "Valor Z", ylab = "Densidad",
     main = "Distribución Normal Estándar: 95% central")

# Sombrear en rojo las colas (área de error total = 5%)
x_left <- seq(min(x_values), z_inf, length.out = 400)
x_right <- seq(z_sup, max(x_values), length.out = 400)
polygon(c(min(x_values), x_left, z_inf),
  c(0, dnorm(x_left), 0),
  col = adjustcolor("red", alpha.f = 0.35), border = NA)
polygon(c(z_sup, x_right, max(x_values)),
  c(0, dnorm(x_right), 0),
  col = adjustcolor("red", alpha.f = 0.35), border = NA)

abline(v = c(z_inf, z_sup), lty = 2, col = "black")

De tal modo, para obtener el intervalo de confianza al 95%:

media - 1.96 * ee_vector # Limite inferior del Intervalo
[1] 4.822988
media + 1.96 * ee_vector # Límite superior del Intervalo
[1] 5.538636

INTERPRETACIÓN: Contamos con una media de 5,18 como estimación puntual. Pero también podemos decir que con un 95% de confianza el parámetro poblacional se encontrará entre 4,82 y 5,54. O, más precisamente, tenemos un 95% de confianza de que el intervalo entre 4,82 y 5,54 contendrá el parámetro poblacional.

Resumen

Hoy pudimos aprender y recordar:

  1. Los conceptos de promedio y dispersión
  2. Estimación de puntajes Z
  3. Cálculo del Error Estándar
  4. Cálculo de intervalos de confianza

Ejercicio práctico de trabajo autónomo

En este ejercicio aplicará los contenidos revisados: cálculo de media y desviación estándar, puntajes Z, error estándar e intervalos de confianza, pero esta vez con datos reales en lugar de datos simulados.

Trabajaremos con el conjunto de datos Galton, incluido en el paquete HistData, que contiene las estaturas de 928 hijos e hijas adultos recopiladas por Francis Galton en 1886. Este es, de hecho, el conjunto de datos histórico que dio origen al estudio de la curva normal aplicada a variables biológicas.

Nota

Francis Galton, primo de Charles Darwin, no sólo hizo aportes importantes al uso de la distribución normal, también fue pionero en el uso de correlaciones, inventó la línea de regresión, fundo la psicometría, ideó un método para clasificar huellas dáctilares y fue iniciador de de la ciencia metereológica.

En su lado menos alegre, inventó el concepto de eugenesia… y abogó activamente por ella.

Instrucciones

  1. Cargue la base de datos.
if (!requireNamespace("pacman", quietly = TRUE)) install.packages("pacman") # Si no está instalado, instala el paquete
pacman::p_load(HistData)
data("Galton")

names(Galton) # revisar las variables disponibles: "parent" y "child"
[1] "parent" "child" 
altura <- Galton$child # creamos el vector con la variable de interés
Tip

La unidad de medida de la variable se encuentra en pulgadas.

  1. Calcule y describa la distribución
  • Obtenga la media y desviación estándar de la estatura.
  • Visualice la distribución en un histograma
  1. Estandarice los datos (puntajes Z)
  • Transforme la variable a puntajes Z
  • Muestre los primeros 10 valores (head()).
  • Muestre también los últimos 10 valores (tail()).
  • ¿Cuál es el máximo puntaje Z y el mínimo puntaje Z? ¿A qué estatura corresponden?
  • Verifique la media y desviación estándar
  1. Calcule el error estándar de la variable

  2. Calcule el intervalo de confianza para la media

  • Estime el IC para un 95% de confianza
  • Estime el IC para un 99% de confianza. ¿Qué sucede con el ancho del intervalo?
  1. Explore el efecto del tamaño muestral
  • Generemos 3 submuestras aleatorias con la función sample().
set.seed(123)
muestra_100 <- sample(altura, 100)
muestra_200 <- sample(altura, 200)
muestra_400 <- sample(altura, 400)
  • Calcule el error estándar y el intervalo de confianza al 95% de cada muestra ¿Qué pasa con el error estándar y el intervalo de confianza a medida que aumenta el tamaño de la muestra?
  • Calcule el error estándar y el intervalo de confianza al 99% de cada muestra ¿Qué pasa con el error estándar y el intervalo de confianza a medida que aumenta el tamaño de la muestra?

Referencias

Análisis de datos en Lenguaje R