Probabilidad y Estadística · Tema 37

Dependencia entre variables

Cuando una variable arrastra a otra: cómo reconocer dependencia, de dónde viene y cómo modelarla sin suponer independencia.

01 · Punto de partida

Saber una cambia la otra

Demanda de paraguas y de impermeables suben juntas; espera larga y abandono van juntos; calor y demanda de bebidas van juntos. Eso es dependencia: P(Y|X) ≠ P(Y). Suponer independencia (temas 7 y 19) cuando hay arrastre subestima picos conjuntos: el stock falla justo cuando más duele.

La dependencia nace de causa común (clima, hora pico), cadena (X causa Y) o construcción (comparten urna o cola). Se modela con conjunta, condicionales o causa explícita.

  • ¿Saber X mueve Y o da igual?
  • ¿Comparten causa, historia o recurso?
  • ¿Las colas coinciden (todo falla junto)?
  • ¿Cómo genero pares (X,Y) que respeten el arrastre?

02 · Definición

Conjunta, condicionales y causa

P(X,Y)

Conjunta

Tabla o densidad de pares. De ella salen marginales (sumando) y condicionales (dividiendo por fila).

→

Cadena

Sortear X y luego Y|X: «si llueve, demanda con otra distribución». Así se programa (tema 6).

☁

Causa común

Z (clima, hora) mueve a X e Y. Condicionando en Z se independizan; sin Z se ven dependientes.

Conjunta: paraguas (X) e impermeable (Y), 100 días.
Y=1Y=0Total
X=1301040
X=0105060
Total4060100

P(X=1)·P(Y=1) = 0,16 pero P(1,1) = 0,30: van juntos casi el doble. P(Y=1|X=1) = 0,75 vs P(Y=1) = 0,40: saber X actualiza Y.

03 · Orígenes típicos

Dónde nace el arrastre

Externa

Causa común

Clima, hora pico, feriado, campaña: mueve varias variables a la vez. Se modela sorteando Z primero.

Interna

Recurso compartido

Misma cola, misma urna, mismo stock: X grande deja menos para Y. Nace de la construcción del simulador.

Cadena X→Y
Demanda causa espera; espera causa abandono. Se programa en orden causal.
Colas conjuntas
P(X alta, Y alta) es el riesgo que la independencia subestima. Se mide contando cuadrantes.
Espuria
Correlación sin causa (moda + helados en verano): no se modela como ley, se busca Z.
Test
Comparar P̂(Y|X) con P̂(Y): si difieren fuera del error, hay dependencia que modelar.

04 · Ejemplos

Arrastres que rompen stocks

Z causa→X, Y juntas→Pico conjunto
  1. 1
    Lluvia.

    Paraguas e impermeable juntos: stock separado por marginal quiebra el día de lluvia.

  2. 2
    Pico.

    Llegadas y espera suben juntas: personal por promedio falla en pico.

  3. 3
    Calor.

    Bebidas y helados juntos: promocionar uno agota el otro.

  4. 4
    Fallas.

    Máquinas con misma carga fallan juntas: repuestos por marginal no alcanzan.

  5. 5
    Abandono.

    Espera larga causa abandono: Y|X con p que crece con X.

05 · Representación en Python

Causa común explícita

Python en tu navegador. La Z compartida crea el arrastre.

import random
random.seed(371)
# Z = lluvia (30%). Si llueve, X e Y con p=0.75; si no, p=0.17
pares = []
for _ in range(3000):
    lluvia = random.random() < 0.3
    p = 0.75 if lluvia else 0.17
    pares.append((1 if random.random() < p else 0, 1 if random.random() < p else 0))
conj = sum(1 for x, y in pares if x==1 and y==1)/len(pares)
print("P(1,1):", round(conj,3), "| producto:", round(0.4*0.4,3))

Consejo: X e Y son independientes dado Z, dependientes sin Z. Así se programa causa común.

Detectar comparando

# P(Y=1|X=1) vs P(Y=1)
x1 = [y for x, y in pares if x==1]
print("P(Y|X=1):", round(sum(x1)/len(x1),3), "| P(Y):", round(sum(y for _,y in pares)/len(pares),3))

06 · Exploración

Laboratorio: nube que se alarga con ρ

Pares normales N(10,2) con arrastre ρ: nube redonda (ρ=0) a diagonal (ρ=±0,9). El cuadrante lima (X mayor a 10, Y mayor a 10) vale 0,25 con independencia; con ρ positivo crece, con negativo cae.

EXPERIMENTO 37

(X, Y) con arrastre ρ

ρ = 0 ⊥ · ρ mayor a 0 juntas

Los resultados numéricos aparecen debajo.
P̂(X mayor a 10, Y mayor a 10)0,000
Producto P̂(X)·P̂(Y)0,000
Diferencia0,000
ρ0,70

Con ρ = 0,7 la conjunta duplica al producto.

Ejes 4 a 16. Puntos lima = ambas sobre la media. Con ρ = 0 son 1/4; con arrastre se concentran o se vacían.

Preguntas para explorar

  1. Con ρ = 0, ¿conjunta y producto cuánto dan? ¿Por qué?
  2. Con ρ = 0,9, ¿la conjunta cuánto da? ¿Qué implica para stock de dos productos?
  3. Con ρ = −0,9, ¿qué pasa con el cuadrante? ¿Cuándo conviene anti-arrastre?
Ver respuestas sugeridas
  1. ~0,25 ambas: independencia, la nube es redonda y cada cuadrante pesa 1/4.
  2. ~0,4: casi el doble. Picos juntos: stocks separados por marginal quiebran el mismo día.
  3. Se vacía (~0,1): cuando una sube la otra baja. Diversificar productos así estabiliza caja.

07 · Comprensión

Confusiones frecuentes

«Si cada una ajusta, la conjunta ajusta»

No: marginales perfectas con conjunta supuesta fabrican picos falsos. La conjunta se verifica contando cuadrantes.

«Dependencia es correlación lineal»

Es un caso: hay dependencias en U, en anillo, en colas. Mirar nube + cuadrantes, no solo r.

«Causa común se ignora promediando»

Promediar Z esconde picos: se modela Z explícita (lluvia/no) con sus ramas.

«Independencia por defecto es segura»

Es lo contrario: subestima coincidencia de colas, justo el riesgo caro. Suponerla se justifica, no se asume.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: conjunta vs producto

Con la tabla de paraguas, verificá P(1,1) = 0,3 vs producto 0,16 y P(Y|X=1).

print("conjunta:", 30/100, "| producto:", 0.4*0.4)
print("P(Y|X=1):", 30/40, "| P(Y):", 40/100)
Ver solución razonada

0,3 vs 0,16: casi doble. Condicional 0,75 vs 0,4: saber X casi duplica Y. Dependencia fuerte y positiva.

Ejercicio 2: causa común programada

Simulá 4000 días con lluvia 0,3 y verificá P(1,1) ≈ 0,29 por ley del total.

import random
random.seed(371)
n = 4000
c = sum(1 for _ in range(n) if (lambda z: (random.random()<(0.75 if z else 0.17)) and (random.random()<(0.75 if z else 0.17)))(random.random()<0.3))/n
print(round(c,3), "| teo:", round(0.3*0.75**2+0.7*0.17**2,3))
Ver solución

Ambas ~0,19… ajustar números: con p lluvia 0,75/0,17 da 0,3·0,5625+0,7·0,0289 ≈ 0,189. El código verifica la total por ramas.

Ejercicio 3: stock conjunto

Dos productos con P(alta) = 0,4 cada uno. ¿Stock para P(ambas altas) con independencia vs conjunta 0,3?

Ver una posible respuesta
print("independiente:", 0.4*0.4, "| dependiente:", 0.3)

0,16 vs 0,3: el día pico doble es casi el doble de probable. Dimensionar por 0,16 quiebra; por 0,3 cubre.

09 · Síntesis

Ideas para recordar

  • Dependencia: P(X,Y) ≠ P(X)·P(Y); P(Y|X) ≠ P(Y).
  • Nace de causa común, cadena o recurso compartido.
  • Se modela con conjunta, cadena X→Y o Z explícita.
  • Se verifica contando cuadrantes/condicionales.
  • Independencia se justifica; por defecto se sospecha.

En el próximo tema la mediremos: correlación en modelos.