C.W.K.
Stream
Lesson 03 of 05 · published

Independence Is a Tested Claim, Not a Default

~12 min · independence, mutually-exclusive, spurious-correlation, foundations

Level 0Stats Novice
0 XP0/55 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"Most things in the real world are not independent. Treating independence as the default is the textbook way to get the math right and the world wrong."

The Two Definitions That Are Actually One

Two events A and B are independent when knowing one tells you nothing about the probability of the other. Formally:

P(A | B) = P(A)    (the conditional collapses back to the unconditional)

Equivalently: P(A and B) = P(A) × P(B). Joint = product of marginals. The two formulas say the same thing from different sides — one is about conditioning, the other is about multiplying.

The Confusion That Eats Citizens Alive

People mix up independent with mutually exclusive, and they are opposite extremes.

Mutually exclusive: A and B can't both happen. P(A and B) = 0. Example: a coin flip is heads OR tails; it can't be both.

Independent: A and B can happen together, but knowing one doesn't change the probability of the other. P(A and B) = P(A) × P(B). Example: a coin flip and a card draw — the coin lands heads in 50% of card draws, regardless of which card.

Mutually exclusive events are the strongest possible kind of dependence — observing one rules out the other entirely. Independence is the opposite: observing one leaves the other completely unmoved.

Independence Is Rare in the Wild

Walk through your day and look for genuinely independent events. The weather and your alarm clock. Your friend's mood and your code's syntax errors. The S&P 500 and the bond market. Almost every pair you check has some coupling, often hidden through a third variable.

That third-variable coupling is what makes spurious correlation a constant trap. Tyler Vigen's classic dataset shows the per-capita cheese consumption tracking the number of people who died by getting tangled in their bedsheets — perfect-looking correlation, zero plausible causal link, almost certainly driven by population growth or some other shared lurker. Same shape, no story. Independence-by-default is the assumption that produces this kind of nonsense headline.

The Rule That Saves You

Independence is a *tested claim*, not a default. The textbook example of fair coins and fair dice was chosen precisely because independence is engineered into the setup. The real world is full of hidden couplings; the burden of proof is on the person claiming independence, not the skeptic asking why.

Where This Bites Later in the Quest

The Central Limit Theorem in Track 03 (Why Normality) assumes the values being averaged are independent. When that assumption breaks — financial returns during a crisis, neurons in a seizure, votes during a viral campaign — the bell curve breaks with it, and you get Track 07 (Normality Misuse): Black Swans, fat tails, simultaneous failures. The independence assumption is load-bearing for everything that comes after.

Code

Independence: the textbook case versus the real-world case·python
import numpy as np
rng = np.random.default_rng(7)
N = 50_000

# Pair 1: coin flip and card draw — engineered to be independent.
coin = rng.integers(0, 2, size=N)               # 0 or 1
card_is_heart = rng.random(size=N) < 0.25       # 1/4 cards are hearts

p_coin = coin.mean()
p_heart = card_is_heart.mean()
p_both = (coin & card_is_heart).mean()
print(f"Pair 1 (independent by design):")
print(f"  P(coin) * P(heart) = {p_coin * p_heart:.4f}")
print(f"  P(coin AND heart)  = {p_both:.4f}   <- matches the product")

# Pair 2: synthetic height and weight — correlated through a shared cause.
# Both are driven by a hidden 'body size' variable.
body_size = rng.normal(size=N)
height_tall = (body_size + 0.3 * rng.normal(size=N)) > 0   # taller-than-median
weight_heavy = (body_size + 0.3 * rng.normal(size=N)) > 0  # heavier-than-median

p_tall = height_tall.mean()
p_heavy = weight_heavy.mean()
p_both2 = (height_tall & weight_heavy).mean()
print(f"\nPair 2 (correlated through hidden body size):")
print(f"  P(tall) * P(heavy) = {p_tall * p_heavy:.4f}")
print(f"  P(tall AND heavy)  = {p_both2:.4f}   <- much bigger than the product")

# The product rule for joint probability ONLY holds under independence.
# When it breaks, you have hidden coupling — and the world is full of it.

External links

Exercise

Name three pairs of events in your daily life that you intuitively treat as independent. For each pair, try to find one hidden third variable that could couple them. If you can find such a variable, the independence assumption was sloppy. Example: 'my mood' and 'the weather' — coupling variable: sunlight, which affects both directly.
Hint
Time of day, weather, sleep, traffic, news cycle, and your own mood are the big hidden couplers in most personal data. Anything that sets the context for both events is a candidate.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue
💛 by Ttoriwarm

Comments 1

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.
  1. Knit J
    Knit J

    독립은 쉽게 가정하면 안되는군,,, 독립은 여러모로 쉽지 않아