확률 사건 연산: 여집합·합집합·교집합과 배반 사건

확률 공간에서 여집합, 합집합, 교집합, 배반 사건을 계산하는 공식과 포함-배제, 조건부 확률, 독립성 판별의 적용 방법을 정리한다.

2026-08-14 · 최초 발행 2024-04-29

사건을 집합으로 읽는 확률 계산

확률 이론에서 사건은 결과의 모음이자 표본공간 안의 부분집합이다. 여집합, 합집합, 교집합, 배반 사건을 기준으로 사건 사이의 관계를 표현하면 결합 확률을 일관되게 계산할 수 있다. 통계 분석과 실험 설계, 리스크 관리, 로깅 분석에서 지표 정의를 맞추는 데도 이 체계가 쓰인다.

확률 공간은 (Ω, F, P)로 표기한다. Ω는 표본공간, F는 사건의 σ-대수, P는 확률측도다. 사건 ABΩ의 부분집합이며, 관측 가능한 결과의 집합을 뜻한다.

  • 여집합: A^c = Ω \ A, P(A^c) = 1 − P(A)
  • 합집합: A ∪ B, P(A ∪ B) = P(A) + P(B) − P(A ∩ B)
  • 교집합: A ∩ B, P(A ∩ B) = P(A | B)·P(B) = P(B | A)·P(A)
  • 배반 사건: A ∩ B = ∅이며, 이때 P(A ∪ B) = P(A) + P(B)

보완 사건으로 부정 조건을 다루기

AA^c는 서로 겹치지 않으면서 표본공간 전체를 구성한다. 따라서 A ∩ A^c = ∅, A ∪ A^c = Ω가 성립한다.

드모르간 법칙은 여러 사건을 함께 부정해야 할 때 계산 구조를 바꿔 준다.

  • (A ∪ B)^c = A^c ∩ B^c
  • (A ∩ B)^c = A^c ∪ B^c

복잡한 부정 사건을 계산하거나, 장애 경험 사용자 비율의 여집합으로 정상 비율을 구할 때 유용하다.

합집합에는 중복을 한 번 빼야 한다

두 사건의 합집합 확률은 각 확률을 더한 뒤, 양쪽에 중복 집계된 교집합을 제거한다.

P(A ∪ B) = P(A) + P(B) − P(A ∩ B)

사건이 3개 이상이면 고차 교집합을 포함하는 포함-배제 원리로 확장된다. 합집합 확률은 다음 범위 안에 있다.

max(P(A), P(B)) ≤ P(A ∪ B) ≤ min(1, P(A)+P(B))

두 사건이 상호 배반이면 상한은 두 확률의 합으로 달성된다.

교집합에서 확인하는 조건부 관계와 독립성

교집합은 한 사건이 발생했다는 조건 아래 다른 사건이 발생하는 관계로 계산할 수 있다.

P(A ∩ B) = P(A | B)·P(B)

표본 수가 적을 때는 분산을 줄이기 위해 조건부 추정을 활용할 수 있다. 독립 사건이라면 교집합은 각 사건 확률의 곱과 같다.

P(A ∩ B) = P(A)·P(B)

배반과 독립은 같은 개념이 아니다. P(A), P(B) > 0이면 배반 사건과 독립 사건은 동시에 성립할 수 없다.

배반 여부가 합산 방식을 결정한다

배반 사건은 동시에 발생할 수 없는 사건이다. A ∩ B = ∅일 때 교집합이 없으므로, 합집합 확률은 단순히 더할 수 있다.

P(A ∪ B) = P(A) + P(B)

이 판단 없이 확률을 합산하면 중복을 계산하거나, 반대로 교집합을 빼야 할 대상을 누락할 수 있다.

항목 정의/공식 성질 요약
여집합 A^c = Ω \ A, P(A^c)=1−P(A) 이항 보완, 드모르간 법칙 적용
합집합 P(A ∪ B) = P(A)+P(B)−P(A∩B) 가환·결합 성질, 분배법칙 성립
교집합 P(A ∩ B) = P(A|B)·P(B) 가환·결합 성질, 분배법칙 성립
배반 A∩B=∅ P(A∪B)=P(A)+P(B), 독립과 동치 아님
포함-배제 3개 이상 사건에 확장 가능 과대추정 방지 메커니즘

사건 관계를 계산하는 흐름

OK위반아니오입력: 표본공간 Ω, 사건 A,B,관측 데이터검증: A,B Ω 여부 확인계산: P(A), P(B), P(A∩B),P(A∪B)에러: 사건이 Ω 바깥 원소 포함배반 여부 A∩B=∅?결과: P(A∪B)=P(A)+P(B),중복 0포함-배제 적용:P(A∪B)=P(A)+P(B)-P(A∩B)보완: P(A^c)=1-P(A),드모르간으로 보완 사건 계산출력: 요약 리포트

데이터 분석에서의 사건 모델링

로그 품질과 장애 분석에서는 A=에러 발생, B=타임아웃 발생으로 사건을 둘 수 있다. P(A ∪ B)는 장애를 경험한 사용자 비율을 추정하는 데 쓰이고, P((A ∪ B)^c)는 정상 비율을 계산하는 기준이 된다. 레코드를 라벨링한 뒤 빈도를 추정하고, 포함-배제를 적용해 주 단위 추세를 비교한다.

리스크 관리와 신용 모델링에서는 A=부도, B=등급 강등이 될 수 있다. 배반 여부를 검정해 단순 합산이 가능한지 판단하고, 교집합을 추정해 중복 리스크를 반영한다. 코호트를 정의하고 P(A|B)를 추정한 다음 P(A∩B)를 산출해 포트폴리오 리스크를 합성한다.

A/B 테스트와 제품 분석에서는 A=전환, B=7일 유지로 정의할 수 있다. P(A∩B)는 고가치 사용자 비율을, 여집합은 이탈 비율을 파생하는 데 사용된다. 이벤트 창을 설정한 뒤 베이지안 또는 빈도 추정을 수행하고, 신뢰구간 산출과 가설 검정으로 이어진다.

입력부터 검증까지의 운영 기준

먼저 표본공간 Ω와 사건 A, B, ...를 명세하고 관측 데이터의 스키마를 확정한다. 데이터 정제와 라벨링 과정에서는 사건 포함 조건을 결정적인 규칙으로 고정한다.

빈도 기반 추정은 P̂(A)=n(A)/N, P̂(A∩B)=n(A∩B)/N으로 수행한다. 희소한 교집합에는 조건부 확률 추정과 스무딩을 적용해 안정화할 수 있다.

결과에는 P(A), P(B), P(A∩B), P(A∪B), P(A^c)를 보고하고, 배반 및 독립 가설 검정 결과와 신뢰구간을 포함한다. 사건이 Ω 밖의 원소를 포함하면 예외로 처리한다. P(A)+P(A^c)=1, P(A∪B) ≥ max(P(A), P(B)) 같은 기초 항등식도 함께 검증한다.

Python으로 계산한 사건 확률

전제: Python 3.10+, pandas 2.x, 관측 N개, 각 관측은 boolean 컬럼 error, timeout 포함

import pandas as pd

# 예시 데이터프레임
df = pd.DataFrame({
    "error":  [1,0,1,0,0,1,0,0,1,0],
    "timeout":[0,1,1,0,0,0,1,0,0,0],
})

N = len(df)
A = df["error"] == 1
B = df["timeout"] == 1

pA = A.mean()
pB = B.mean()
pA_and_B = (A & B).mean()
pA_or_B  = pA + pB - pA_and_B
pA_comp  = 1 - pA
disjoint = (pA_and_B == 0.0)

report = {
    "P(A)": pA, "P(B)": pB,
    "P(A∩B)": pA_and_B,
    "P(A∪B)": pA_or_B,
    "P(A^c)": pA_comp,
    "배반 여부": bool(disjoint),
}
print(report)

검증할 항목은 다음과 같다.

  • 0 ≤ 확률 ≤ 1 확인
  • P(A) + P(A^c) ≈ 1, P(A ∪ B) ≈ P(A) + P(B) − P(A ∩ B) 확인
  • 배반이면 P(A ∩ B) = 0, 독립이면 P(A ∩ B) ≈ P(A)·P(B)

포함-배제와 조건부 추정이 바꾸는 결과

사건 중첩률 1040% 구간을 가정하면, 포함-배제를 적용해 합산 과정의 과대추정 오류를 1030%p 줄일 수 있다.

사내 대시보드 규격화 전후 비교를 가정한 사례에서는 여집합과 드모르간 법칙을 표준화해 지표 정의 충돌 건수가 50% 이상 감소한 것으로 관찰됐다.

표본 5천2만 구간에서 부트스트랩 분산 기준으로 보면, 조건부 추정과 스무딩 도입은 희소 교집합의 분산을 2040% 감소시키는 효과를 기대할 수 있다.

사건 연산은 확률을 더하고 빼는 계산 규칙에 그치지 않는다. 중복을 제거하고, 조건부 관계를 드러내며, 데이터 기반 보고의 기준을 일치시키는 집합 기반의 계산 체계다.

확률사건의 연산집합통계포함-배제