Probabilidad y Estadística · Tema 38

Correlación en modelos

Medir y simular relaciones: qué es r, cómo se lee una nube, cómo generar pares con ρ dado y qué le hace a las sumas.

01 · Punto de partida

Un número para el arrastre lineal

La dependencia (tema 37) se mide con r de Pearson: −1 a +1. Cerca de +1 suben juntas; de −1 opuestas; de 0 sin línea (pero puede haber curva). r manda en sumas: Var(X+Y) = Var(X)+Var(Y)+2·r·σx·σy.

En simulación, r positivo entre demandas infla picos conjuntos; negativo entre productos estabiliza caja. Generar con ρ dado es un truco estándar.

  • ¿La nube tiene línea o curva?
  • ¿r cuánto da y con qué n?
  • ¿La suma se amplifica o se compensa?
  • ¿Cómo genero pares con el ρ observado?

02 · Definición

Lectura de r y de la nube

+1

Positiva

Nube diagonal ↗. Suma amplificada: picos juntos. Paraguas + impermeable.

0

Nula lineal

Nube redonda. Ojo: puede haber curva (U, anillo) con r = 0. Mirar gráfico, no solo número.

−1

Negativa

Diagonal ↘. Suma compensada: una sube cuando otra baja. Diversificación.

Dos demandas N(100,15): efecto de r en la suma.
rσ sumaLectura
+0,8~28Picos juntos, más stock
0~21Independencia
−0,6~13Compensan, menos stock

03 · Generar con ρ dado

El truco de la combinación

Receta normal

Y = ρ·Z₁ + √(1−ρ²)·Z₂

Con Z₁, Z₂ independientes N(0,1). Después escalar: X = μx+σx·Z₁, Y = μy+σy·Y*. Así nace el laboratorio.

Chequeo

r muestral ≈ ρ

Con N grande, r calculado pega a ρ pedido. Con N chico salta: informar n junto a r.

Covarianza
r·σx·σy en unidades cuadradas. r la normaliza a −1…+1.
Pendiente
Recta Y sobre X: r·σy/σx. No es causalidad: es ajuste lineal.
No lineal
r = 0 con curva en U: correlación nula, dependencia total. Graficar siempre.
Rango
r con n chico salta ±0,3. Tasas con cientos para publicar.

04 · Ejemplos

r que dimensiona

Nube + r→Var suma→Stock
  1. 1
    Lluvia.

    r = +0,8 entre paraguas e impermeable: stock conjunto, no por separado.

  2. 2
    Verano/invierno.

    r = −0,6 entre dos temporadas: diversificar estabiliza.

  3. 3
    Pico.

    Llegadas y espera r = +0,7: refuerzo conjunto en pico.

  4. 4
    Medidas.

    Peso y altura r = +0,6: predecir uno con otro (recta).

  5. 5
    Ruido.

    r ≈ 0 con curva: buscar forma no lineal antes de declarar independencia.

05 · Representación en Python

Generar y medir r

Python en tu navegador. Pedí ρ = 0,7 y medí r.

import random, math, statistics
random.seed(381)
rho, N = 0.7, 2000
xs, ys = [], []
for _ in range(N):
    z1 = random.gauss(0,1); z2 = random.gauss(0,1)
    xs.append(10+2*z1)
    ys.append(10+2*(rho*z1+math.sqrt(1-rho**2)*z2))
mx, my = statistics.mean(xs), statistics.mean(ys)
cov = sum((a-mx)*(b-my) for a,b in zip(xs,ys))/len(xs)
print("r:", round(cov/(statistics.stdev(xs)*statistics.stdev(ys)), 3))

Consejo: con N = 50 r salta ±0,2; con 2000 se pega a ρ.

Varianza de la suma

import statistics
ss = [a+b for a,b in zip(xs,ys)]
print("s suma:", round(statistics.stdev(ss),2), "| teo:", round((4+4+2*0.7*4)**0.5,2))

06 · Exploración

Laboratorio: ρ pedido vs r medido

Pedí ρ: la nube y la recta se alargan. El laboratorio genera N pares, mide r muestral y la s de la suma vs teórica √(8+8ρ). La línea blanca es la diagonal perfecta.

EXPERIMENTO 38

r muestral → ρ

s(X+Y) = √(8+8ρ)

Los resultados numéricos aparecen debajo.
r muestral (teo ρ)0,00
s suma sim (teo)0,00
Pendiente0,00
N800

Con N grande, r se pega a ρ y la suma cierra.

Ejes 4 a 16. En suma se ve el ancho: con ρ = 0,9 la campana se ensancha; con −0,9 se afina.

Preguntas para explorar

  1. Con ρ = 0 y N = 800, ¿r cuánto da? ¿La suma qué ancho tiene?
  2. Con ρ = 0,9, ¿s suma cuánto da vs teórica? ¿Qué stock pedirías?
  3. Con ρ = −0,9, ¿por qué la suma se concentra? ¿Cuándo conviene?
Ver respuestas sugeridas
  1. r ≈ 0, s ≈ 2,83 = √8. Independencia: ancho intermedio.
  2. s ≈ 3,9 = √(8+7,2). Picos juntos: stock para la suma, no por separado.
  3. Se compensan (s ≈ 1,05): diversificar productos anti-correlacionados estabiliza caja.

07 · Comprensión

Confusiones frecuentes

«r = 0 prueba independencia»

Solo descarta línea. Curvas en U o anillos dan r = 0 con dependencia total: graficar.

«r alto es causa»

Puede ser Z común. La causa se prueba interviniendo o segmentando, no correlacionando.

«r con 20 datos publica»

Con 20 salta ±0,4. r se publica con cientos y con nube que muestre linealidad.

«La suma siempre amplifica»

Solo con r positiva. Con negativa compensa: por eso diversificar funciona.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: r pedido vs medido

Con ρ = −0,6 y N = 1500, medí r y s de la suma (σ = 2). Teóricas: −0,6 y √(8−4,8).

import random, math, statistics
random.seed(381)
rho, N = -0.6, 1500
xs, ys = [], []
for _ in range(N):
    z1, z2 = random.gauss(0,1), random.gauss(0,1)
    xs.append(10+2*z1); ys.append(10+2*(rho*z1+math.sqrt(1-rho**2)*z2))
print("teo s:", round((8+8*rho)**0.5,2), "| sim:", round(statistics.stdev([a+b for a,b in zip(xs,ys)]),2))
Ver solución razonada

s ≈ 1,79: la compensación angosta la suma a la mitad vs independencia (2,83).

Ejercicio 2: pendiente

Con los mismos datos, ¿pendiente de Y sobre X? Teórica r·σy/σx = r.

# pendiente = cov/var(x)
mx, my = statistics.mean(xs), statistics.mean(ys)
cov = sum((a-mx)*(b-my) for a,b in zip(xs,ys))/len(xs)
print(round(cov/statistics.variance(xs),3))
Ver solución

Ronda −0,6: con iguales σ, pendiente = r. Así se predice Y desde X linealmente.

Ejercicio 3: stock conjunto

Dos demandas N(100,15) con r = 0,8. ¿σ de la suma? ¿Stock +2σ?

Ver una posible respuesta
import math
s = math.sqrt(225+225+2*0.8*225)
print(round(s,1), round(200+2*s))

σ ≈ 28,5, stock ≈ 257. Con r = 0 serían 242: la correlación cuesta 15 unidades de colchón.

09 · Síntesis

Ideas para recordar

  • r ∈ [−1,1]: signo = dirección, |r| = fuerza lineal.
  • Var(X+Y) incluye 2rσxσy: correlación manda el stock conjunto.
  • Generar: Y = ρZ₁ + √(1−ρ²)Z₂, luego escalar.
  • r = 0 no prueba independencia; nube siempre.
  • Informar r + n + forma; correlación no es causa.

En el próximo tema generaremos azar a pedido: muestreo.