표 형태 데이터의 회귀 — Tables as Data

McCullagh & Nelder §3.7 — Empty Cells·Fused Cells·Weighted Means

McCullagh & Nelder (1989) §3.7 의 집계표 회귀 이론을 심화한다. 원 데이터 대신 다원 분류표 (means·totals·counts) 를 반응으로 쓸 때의 사전가중치(prior weight) 구조, 빈 셀 (empty cells) 의 두 종류 — 필연적(necessarily) vs 우연적(accidentally) — 과 모형에 미치는 영향, 유전 데이터의 융합 셀 (fused cells) 처리까지, 수식과 직관으로 정리한다.

Statistics
GLM
저자

Kwangmin Kim

공개

2026년 04월 14일

1 왜 “표 형태 데이터” 를 따로 다루는가

현실의 분석은 원시 데이터 행렬(raw data matrix) 에 직접 붙지 않는 경우가 많다. 대신 이미 다원 분류표 (multi-way table) 로 요약된 형태를 받는다.

출처 집계 형태
보험 청구 데이터 연령대 × 차종별 평균 청구액과 건수
농업 실험 품종 × 비료량별 수확량 평균과 플롯 수
인구 통계 지역 × 연령 × 성별 소득 평균과 표본 크기
임상 시험 센터 × 용량별 반응률 평균과 환자 수

이런 표에는 세 가지 숫자가 함께 나온다.

  1. Totals \(T_{ij} = \sum_{k\in(i,j)} y_k\) — 각 셀 안 관측값들의 합.
  2. Counts \(n_{ij}\) — 각 셀에 해당하는 관측 수.
  3. Means \(\bar y_{ij} = T_{ij}/n_{ij}\) — 셀 평균.

질문은 이것이다 — 원시 데이터와 집계표 중 어느 쪽에 회귀를 해야 하는가? 그리고 집계가 분석 절차를 어떻게 바꾸는가?

McCullagh & Nelder §3.7 의 답은 둘로 요약된다.

  1. 연속 반응: 평균을 반응으로 쓰고 counts 를 사전 가중치 (prior weight) 로 쓰면 원시 데이터 회귀와 동치.
  2. 집계가 만드는 새로운 이슈: 빈 셀 (empty cells) 과 융합 셀 (fused cells) — 원시 데이터에는 없던 새로운 판단이 필요.

직관: 집계는 “같은 정보를 더 적은 수로 표현” 하는 것이다. 계산 효율과 시각적 이해를 얻지만, “빠진 셀은 무엇을 의미하는가” 같은 새로운 질문이 발생한다. §3.7 은 이 질문에 답한다.


2 집계의 동치성 — Weighted Mean Regression

2.1 설정

원시 데이터 \((y_k, x_{k1}, \dots, x_{kp})\)\(n\) 개 있다. 범주형 공변량 조합마다 관측을 묶으면 \(m < n\) 개의 고유 조합이 나온다. \(i\)-번째 고유 조합에 \(n_i\) 개 관측이 있고 평균이 \(\bar y_i\) 라 하자.

2.2 원시 데이터 OLS

\[ \hat{\boldsymbol\beta}_{\text{raw}} \;=\; \underset{\boldsymbol\beta}{\arg\min}\;\sum_{k=1}^n (y_k - \mathbf{x}_k^\top\boldsymbol\beta)^2 \]

2.3 집계 WLS

평균 \(\bar y_i\) 을 반응, \(n_i\) 를 가중치로 한 가중 최소제곱

\[ \hat{\boldsymbol\beta}_{\text{agg}} \;=\; \underset{\boldsymbol\beta}{\arg\min}\;\sum_{i=1}^m n_i (\bar y_i - \mathbf{x}_i^\top\boldsymbol\beta)^2 \]

2.4 동치성 증명

각 셀 내 관측은 같은 \(\mathbf{x}_i\) 를 가지므로

\[ \sum_{k\in(i)} (y_k - \mathbf{x}_i^\top\boldsymbol\beta)^2 \;=\; \sum_{k\in(i)} (y_k - \bar y_i + \bar y_i - \mathbf{x}_i^\top\boldsymbol\beta)^2 \]

\(\sum_{k\in(i)}(y_k - \bar y_i) = 0\) 이므로 교차항이 사라져

\[ \;=\; \underbrace{\sum_{k\in(i)}(y_k - \bar y_i)^2}_{\text{within-cell SS (상수)}} \;+\; n_i(\bar y_i - \mathbf{x}_i^\top\boldsymbol\beta)^2 \]

\(\boldsymbol\beta\) 에 의존하지 않는 첫 항을 빼면 가중 평균 회귀와 정확히 동일한 목적함수가 된다. 따라서 \(\hat{\boldsymbol\beta}_{\text{raw}} = \hat{\boldsymbol\beta}_{\text{agg}}\).

2.5 표준오차의 차이

점추정은 같지만 표준오차는 \(\sigma^2\) 추정 자유도에서 차이. 원시 데이터는 \(n-p\) 자유도, 집계 데이터는 \(m-p\). 집계로는 within-cell 변동 정보를 잃는다. 따라서

  • \(\sigma^2\) 를 표본 변동으로 추정하려면 원시 데이터 필요 (또는 각 셀의 분산 정보).
  • 계수 점추정만 원하면 집계로 충분.

직관: “평균만 가지고 회귀” 가 가능하지만, 그 평균이 얼마나 정확한가 (셀 내 표본 크기) 를 가중치로 반영해야 한다. 이 대응 관계 때문에 GLM 소프트웨어가 weights=n_i 옵션을 제공한다.


3 Counts 자체가 반응인 경우 — Duality (§5.2.3 예고)

연속 반응의 표에서는 평균이 반응, counts 가 가중치. 하지만 counts 자체가 관심사인 경우도 많다.

  • 보험: 청구 건수 자체가 요율 산정의 목적.
  • 인구 통계: 사망 건수, 출생 건수.
  • 품질 관리: 불량품 개수.

이 경우 Poisson GLM (Ch.6) 이 적합하다. 흥미로운 대칭성 (McCullagh §5.2.3): 연속 반응 + counts 가중 vs counts 반응 + 평균 공변량 — 두 접근이 같은 정보를 본다.

수학적으로: 다항 분포의 조건부 우도 = Poisson 우도 with offset. 이 대칭이 Cox (1970) 의 conditional likelihood → Poisson 로그선형 연결의 뿌리다.

직관: 표 안의 세 수 (totals, counts, means) 는 본질적으로 같은 정보를 담는다. 어느 쪽을 반응으로 볼지는 연구 질문에 달렸다 — “평균이 궁금한가, 빈도가 궁금한가”.


4 빈 셀 (Empty Cells) — 두 종류 구분 (§3.7.1)

4.1 왜 0 이 아닌 “빈” 인가

counts 표에서 \(n_{ij} = 0\) 은 “그 셀에 관측이 없음” — 의미가 분명하다. 하지만 평균표에서 빈 셀은 “값 없음 (missing)” 이지 “평균이 0” 이 아니다.

예: 10년 된 C 형 자동차를 소유한 10대 운전자의 평균 청구액. 해당 셀에 관측이 없으면:

  • counts: 0건 (신중한 운전자들? 희귀한 조합? — 실질적 의미 있음).
  • 평균: undefined (분모가 0).

따라서 “empty cell (빈 셀)” 이라는 용어를 쓴다. “structural zero (구조적 0)” 라 부르지 않는 이유 — 0 이라는 값 자체가 없다.

4.2 필연적 vs 우연적 — McCullagh 의 핵심 구분

두 종류의 빈 셀

Necessarily empty (필연적 빈 셀): 해당 수준 조합이 선험적으로 불가능.

  • 임신한 남성.
  • 자가수정 불가능 품종의 자기 교배.
  • 3세 미만 아동의 흡연력.

Accidentally empty (우연적 빈 셀): 수준 조합 자체는 가능하지만 이 데이터에 우연히 없음.

  • 10대가 C형 오래된 차를 소유하는 것은 가능. 이 표본에 없을 뿐.
  • 특정 마을에 특정 성씨가 없었던 인구 조사.

4.3 모형에 미치는 영향

필연적 빈 셀:

  • 데이터에 포함시키면 안 된다. 존재하지 않는 관측을 모형이 “추정” 할 이유가 없음.
  • 적합값을 외삽으로 계산하는 것도 의미 없다 — 존재 불가능한 값.
  • 설계 행렬에서 해당 행·열을 완전히 제거.

우연적 빈 셀:

  • 데이터에는 없지만 모형은 그 셀의 평균을 추정할 수 있다 (외삽).
  • Additive model 에서 주변 셀 정보로부터 자연스럽게 예측 가능.
  • 이 예측이 유용한지는 도메인 판단.

4.4 우연적 빈 셀이 만드는 긴장

Urquhart-Weeks (1978) 는 “우연적 빈 셀이 있으면 A + B 모형을 적합해서는 안 된다” 고 주장했다. 근거 — 그 셀의 평균에 대한 정보가 데이터에 없기 때문.

Nelder (1982) 의 반박: 너무 제한적. Additive 구조 자체가 유의미한 가정이라면, 주변 데이터로부터의 외삽은 그 가정의 자연스러운 결과다. 예를 들어 약물 효과가 성별에 무관하다고 가정한다면 (A + B), 관측되지 않은 조합의 평균도 의미 있게 추정 가능.

직관: 우연적 빈 셀에 대한 태도는 모형 가정을 얼마나 신뢰하는가에 달렸다. 엄격한 입장은 “데이터 없는 곳은 말하지 않는다”, 관용적 입장은 “모형의 구조적 규칙성을 믿는다”.

4.5 실무 절차

  1. 먼저 빈 셀의 성격 판별 (도메인 지식 동원).
  2. 필연적 빈 셀은 데이터에서 제거. 모형은 \(n^* < n\) 셀에 적합.
  3. 우연적 빈 셀은 additive/multiplicative 모형에 포함하되, 해당 셀의 예측이 extrapolation 임을 명시.
  4. Extrinsic aliasing 위험 점검 (§3.5 참고) — 빈 셀이 특정 주효과를 식별 불가능하게 만들 수 있음.

5 융합 셀 (Fused Cells) (§3.7.2)

5.1 개념

관측이 어느 셀에 속하는지 유일하게 결정되지 않는 경우. 여러 셀의 조합에 속한다는 사실만 알려지고, 그 안의 어느 셀인지는 모름.

\[ \text{관측 가능: } n_{\{ij\in S\}} = \sum_{(i,j)\in S} n_{ij} \]

여기서 \(S\) 는 구분 불가능한 셀들의 부분집합.

5.2 대표적 사례 — 유전학의 phenotype

유전 데이터에서 여러 유전자형이 같은 표현형을 만든다.

  • ABO 혈액형: 유전자형 \(AA\)\(AO\) 가 모두 표현형 A. 관측에서 \(AA\)\(AO\) 를 구분 불가 → 두 셀이 “A 형” 하나로 융합.
  • 우성 대립유전자: \(AA\)\(Aa\) 가 같은 표현형. 열성 호모 \(aa\) 만 구별 가능.

5.3 측정 정밀도 부족

실험 외에도 발생. 예:

  • 응답자가 “연령대 20~40” 이라 답했지만 세부 나이 미기록 → 20대 / 30대 셀 융합.
  • 센서 해상도 한계로 인접 셀 구분 불가.

5.4 정보 손실

융합 셀은 해당 셀들 사이의 분해 정보를 잃는다. 집계 총합은 보존되지만 내부 분포는 숨겨짐.

\[ \text{정보 손실} \;\propto\; H(\text{within-}S) \;=\; -\sum_{(i,j)\in S} \frac{n_{ij}}{n_S}\log\frac{n_{ij}}{n_S} \]

고르게 분포할수록 손실이 크다 (엔트로피 관점).

5.5 처리 방법

(1) 사전 확률 (prior ratio) 이 알려진 경우:

유전 데이터에서 Hardy-Weinberg 평형 등으로 “\(AA : AO\) 비율이 \(p^2 : 2pq\)” 라는 사전 정보가 있다. 이 비율을 써서 융합 셀의 counts 를 분할:

\[ \hat n_{AA} = n_{\text{A-type}}\cdot\frac{p^2}{p^2+2pq},\qquad \hat n_{AO} = n_{\text{A-type}}\cdot\frac{2pq}{p^2+2pq} \]

분할 후 원래 표로 복원하고 표준 분석.

(2) EM 알고리즘:

사전 비율 미지이면 EM 으로 교대 업데이트.

  • E-step: 현재 모수 추정치 하에서 셀 비율 계산.
  • M-step: 추정된 비율로 데이터 확장 후 모수 재추정.

EM 은 Dempster 등 (1977) 의 고전 — 융합 셀은 EM 의 대표적 응용 무대다.

(3) Composite Likelihood:

융합된 셀 단위로 다항 우도를 쓰고, 그 합을 최대화. 완전 우도보다 덜 효율적이지만 계산이 단순.

직관: 융합 셀은 “잠재변수 (latent variable)” 문제의 특수한 형태다. 원래 셀 위치가 결측이라 본다면 EM 이 자연스럽게 적용된다. 현대 statistical missing-data 이론의 전조.


6 관련 이슈 — 표에 특화된 실무 고려

6.1 불균형 집계

\(n_i\) 가 셀마다 매우 다르면 가중 OLS 의 표준 결과가 왜곡될 수 있다. 아주 큰 \(n_i\) 가 적합을 지배하고, 작은 \(n_i\) 의 셀은 무시됨. 처방:

  • \(\log n_i\) 가중이나 \(\sqrt{n_i}\) 가중으로 완화.
  • Sandwich 표준오차로 robust 추론.
  • 각 셀의 변동을 따로 추정해 heteroscedastic WLS.

6.2 희소 표 (sparse tables)

많은 셀이 counts 0 또는 1 인 표. 전통적 점근 이론이 깨지므로:

  • Exact 방법 (Fisher’s exact, Monte Carlo permutation).
  • Penalized likelihood (Ridge, Firth).
  • Bayesian regularization.

6.3 표 병합 (pooling)

빈 셀이나 희소 셀을 인접 셀과 병합해 분석. 장점 — 수렴·안정성. 단점 — 해석 미세화 상실. 사전 도메인 지식이 있어야 합리적 병합 가능.


7 코드 예시

7.1 Step 1: 원시 데이터 vs 집계 회귀의 동치성

import numpy as np
import pandas as pd
import statsmodels.api as sm

rng = np.random.default_rng(0)
n = 1000
df = pd.DataFrame({
    "group_A": pd.Categorical(rng.choice(["a1","a2","a3"], size=n)),
    "group_B": pd.Categorical(rng.choice(["b1","b2"],      size=n)),
    "y": rng.normal(size=n),
})

# (1) 원시 데이터 회귀
m_raw = sm.OLS.from_formula("y ~ group_A + group_B", data=df).fit()
print("원시:", m_raw.params.round(4).to_dict())

# (2) 집계: cell means + counts
agg = df.groupby(["group_A","group_B"], observed=True).agg(
    y_mean=("y","mean"), n=("y","size")).reset_index()
m_agg = sm.WLS.from_formula("y_mean ~ group_A + group_B",
                             data=agg, weights=agg["n"]).fit()
print("집계:", m_agg.params.round(4).to_dict())

# 동치성 확인
diff = (m_raw.params - m_agg.params).abs().max()
print(f"계수 최대 차이: {diff:.2e}")

WLS 의 가중치를 n_i 로 주면 원시 회귀와 기계 정밀도 내 동일. 증명한 바의 수치 확인.

7.2 Step 2: 필연적 vs 우연적 빈 셀 시뮬레이션

# 3x3 표, 대각선은 "필연적 빈 셀" (가령 self-cross)
rows = []
for i, a in enumerate(["a1","a2","a3"]):
    for j, b in enumerate(["b1","b2","b3"]):
        if i == j:
            continue                           # 필연적으로 빈
        # 우연적 빈 셀 시뮬레이션: (a1,b3) 을 제거
        if (a,b) == ("a1","b3"):
            continue
        n_cell = rng.integers(5, 15)
        y_cell = rng.normal(loc=0.5*i + 0.3*j, scale=1.0, size=n_cell)
        rows.extend([(a, b, y) for y in y_cell])

df_tab = pd.DataFrame(rows, columns=["A","B","y"])
df_tab["A"] = pd.Categorical(df_tab["A"])
df_tab["B"] = pd.Categorical(df_tab["B"])

# 집계표
tab = df_tab.groupby(["A","B"], observed=True).agg(
    mean=("y","mean"), n=("y","size")).reset_index()
print(tab)

# Additive 모형 — accidentally empty 셀 예측 가능
m = sm.WLS.from_formula("mean ~ A + B", data=tab, weights=tab["n"]).fit()
print("\n모든 가능 셀에 대한 예측:")
pred = pd.DataFrame([(a,b) for a in ["a1","a2","a3"] for b in ["b1","b2","b3"]],
                    columns=["A","B"])
pred["A"] = pd.Categorical(pred["A"], categories=df_tab["A"].cat.categories)
pred["B"] = pd.Categorical(pred["B"], categories=df_tab["B"].cat.categories)
pred["fitted"] = m.predict(pred)
print(pred)

(a1, b3) 의 예측값이 계산됨 — additive 가정의 결과. 하지만 \((a, a)\) 대각 셀들은 분석 자체에서 제외해야 (필연적 빈 셀).

7.3 Step 3: 융합 셀 — 유전 ABO 사례

# Hardy-Weinberg 하에서 allele 빈도 p(A)=0.4, p(O)=0.6
p_A, p_O = 0.4, 0.6

# 실제 유전자형 빈도
genotype_freq = {
    "AA": p_A**2,
    "AO": 2*p_A*p_O,
    "OO": p_O**2,
}

# 관측 표현형 (A = AA + AO)
N = 1000
counts = {"A": 0, "O": 0}
for g, p in genotype_freq.items():
    n_g = int(p * N)
    phenotype = "A" if g.startswith("A") else "O"
    counts[phenotype] += n_g

print(f"관측 표현형 counts: {counts}")

# A 표현형을 유전자형으로 분할 (Hardy-Weinberg 사전)
ratio_AA = p_A**2 / (p_A**2 + 2*p_A*p_O)
n_AA_est = counts["A"] * ratio_AA
n_AO_est = counts["A"] * (1 - ratio_AA)
print(f"추정 유전자형 counts: AA={n_AA_est:.1f}, AO={n_AO_est:.1f}, OO={counts['O']}")

융합된 “A 형” counts 를 사전 비율로 분할해 원래의 유전자형 수준 분석으로 복원. 사전 지식이 있을 때의 표준 접근.


8 흔한 실수

실수 처방
표 평균만으로 회귀하고 가중치 생략 \(n_i\) 셀이 무시됨. WLS with weights=\(n_i\) 필수
빈 셀을 모두 “0” 으로 취급 counts 와 means 에서 0 의 의미가 다름. “empty” 는 missing
필연적 빈 셀을 데이터에 포함 존재 불가능한 관측을 “0” 으로 강제하면 모든 추정 왜곡
우연적 빈 셀이 있다고 additive 모형 거부 Nelder 반박: 모형 가정이 타당하면 외삽 합리적
융합 셀을 합한 단일 관측으로 취급 내부 분포 정보 무시. EM 또는 사전 비율로 분할
집계 데이터로 \(\sigma^2\) 추정 within-cell 자유도 손실. 원시 데이터 또는 셀 분산 필요

9 요약

  • 집계 표의 평균 회귀 = WLS with weights = \(n_i\). 점추정은 원시 회귀와 동치. \(\sigma^2\) 자유도만 차이.
  • 세 수의 duality: totals / counts / means. 연구 질문에 따라 반응 선택 — 연속이면 means+counts, 빈도면 counts 자체.
  • 빈 셀 (empty cells) 에는 두 종류.
    • 필연적: 선험적 불가능. 분석에서 제거.
    • 우연적: 데이터에 없을 뿐. Additive 모형이 타당하면 외삽 가능.
  • 융합 셀 (fused cells): 여러 셀이 하나의 관측으로 합쳐진 경우. 사전 비율로 분할 또는 EM.
  • 실무 이슈: 불균형 집계, 희소 표, pooling 의 장단점.

한 줄 요약: 표 형태 데이터의 회귀는 “원시 데이터 회귀의 가중 버전” 이지만, 집계 과정에서 빈 셀·융합 셀이라는 새로운 판단 문제가 추가된다. 각 셀의 의미 — 필연인가 우연인가, 분해 가능한가 아닌가 — 를 도메인 지식으로 명료화하는 것이 §3.7 의 핵심 작업이다.


10 관련 주제

선행 지식

관련 개념

후속 주제

  • Log-linear Models (McCullagh Ch.6) — counts 자체가 반응인 경우
  • Conditional likelihood (McCullagh Ch.7) — Cox 로짓·matched-pair 분석
  • Missing data 와 EM — 융합 셀을 잠재변수 문제로 일반화

Subscribe

Enjoy this blog? Get notified of new posts by email: