§ 8.5 — Gruder 흡연 절제 데이터 GEE 분석

이항 반응 종단 GEE · Helmert contrasts · Unstructured 작동 상관 · Generalized Wald · OR 임상 해석

Hedeker & Gibbons (2006) Ch.8 §8.5 의 자세한 풀이. Gruder et al. (1993) 의 흡연 절제 임상 시험 (489 명 4 시점 4 그룹) 에 GEE 로지스틱 회귀를 적용한다. 4 그룹 (Control, No-show, Discussion, Social Support) 의 Helmert contrasts (H1: 무작위 배정, H2: 출석, H3: 처치 유형), 4 시점 관측 절제율 (Table 8.1), 관측 상관 (Table 8.2) 으로 Unstructured 작동 상관 선택. 식 (8.23-8.25) 의 3 가지 로지스틱 모형 (주효과·그룹×선형·그룹×이차) 의 추정 결과 (Table 8.3) 와 Generalized Wald 검정 (식 8.26) 으로 모형 비교, OR 의 시점별 임상 해석 (post-intervention OR=2.95, 24m 시점 비유의), Model 2 의 추정 절제율 vs 관측 절제율 fit (Table 8.4) 까지 정리한다. CPM (§ 6.4 Bock) 와 평행하는 GEE 의 종합 케이스 스터디.

Statistics
저자

Kwangmin Kim

공개

2026년 04월 30일

1 들어가며 — 이항 종단 GEE 의 종합 사례

Ch.8 Overview§ 8.1-8.2, § 8.3-8.4 가 GEE 의 이론·모형·추정을 다뤘다. § 8.5 는 이를 실제 임상 데이터에 적용한 케이스 스터디.

본 sub-post 의 위치 — § 6.4 Bock CPM 사례 (06-6) 와 평행:

sub-post 데이터 모형 반응
06-6 Bock WPSS (75 명) UN-CPM 정규 (1-6 점)
08-3 (본 포스트) Gruder 흡연 (489 명) GEE 로지스틱 (UN 작동 상관) 이항 (0-1)
한 줄 요약

“Gruder 데이터로 GEE 로지스틱 회귀의 전체 절차 (작동 상관 선택, 모형 적합, Generalized Wald 검정, OR 해석) 를 시연. 처치군이 post-intervention 에 절제율 약 3 배 (OR=2.95) 이지만 24 개월 시점에 효과 사라짐.”

비정규 (이항) 종단 분석에 GEE 를 어떻게 적용하는지의 표준 case study.

2 데이터 — Gruder et al. (1993) 흡연 절제 시험

2.1 연구 설계

Gruder 흡연 절제 임상 시험
  • 표본: 489 명, 4 그룹 무작위 배정.
  • 그룹:
    • No Contact Control (\(n = 109\)): 자기 도움 매뉴얼 + TV 프로그램.
    • No Shows (\(n = 190\)): 그룹 회의에 배정됐지만 실제 출석 안 함.
    • Discussion (tx1) (\(n = 86\)): 토론 그룹 회의 출석.
    • Social Support (tx2) (\(n = 104\)): 사회적 지지 그룹 회의 출석.
  • 반응: 흡연 상태 — 0 (흡연), 1 (절제). 이항 반응.
  • 시점: 4 회 — End-of-Program (T1), 6 months (T2), 12 months (T3), 24 months (T4).
  • 시점 코드: \(T_j = 0, 1, 2, 4\) (시간 비등간격).
No-show 의 의미

원래 설계: Control vs 두 처치군 (Discussion, Social Support). 실제: 처치군 배정자 중 190 명이 그룹 회의에 출석 안 함 (No-show).

→ 분석에서 4 그룹으로 나눔 — 무작위 배정 (intention-to-treat) 와 실제 처치 (per-protocol) 의 trade-off 탐구.

이 설계가 준실험적 (자기 선택 효과 confounding) — H2, H3 contrasts 의 해석 시 주의.

2.2 Table 8.1 — 관측 절제율

4 그룹 × 4 시점 절제율 (%)
Group T1 (post) T2 (6m) T3 (12m) T4 (24m)
Control 17.4 (109) 7.2 (97) 18.5 (92) 18.2 (77)
No Shows 26.8 (190) 18.9 (175) 18.6 (161) 18.7 (139)
Discussion 33.7 (86) 14.6 (82) 16.3 (80) 22.9 (70)
Social Support 49.0 (104) 20.0 (100) 24.0 (96) 25.6 (86)

(괄호: 해당 시점 표본 크기.)

관측 패턴 — 그룹 효과 + 시간 비단조

그룹 차이 (post-intervention, T1):

  • Control 17.4% → Social Support 49.0%. 거의 3 배 차이.
  • 처치군 (Discussion, Social Support) 이 Control·No-show 보다 절제율 높음.

시간 패턴:

  • 모든 그룹: T1 → T2 에서 절제율 하락 (재발 패턴 — 단기 효과 소멸).
  • T2 → T4: 약간 회복 또는 안정 — 비단조 (linear trend 만으로 부족).

Dropout: 시점 따라 표본 감소 (예: Control 109 → 77, 약 30% dropout).

→ 모형에 시간 + 시간² (quadratic) 포함 정당화. dropout 은 GEE 의 MCAR 가정 한계 신경 (자세히는 § 8.1).

3 Helmert Contrasts — 4 그룹의 3 직교 비교

그룹 효과 분해

Bock (1975) 의 Helmert contrasts:

Group \(H_1\) \(H_2\) \(H_3\)
Control \(-1\) \(0\) \(0\)
No-show \(1/3\) \(-1\) \(0\)
Discussion (tx1) \(1/3\) \(1/2\) \(-1\)
Social Support (tx2) \(1/3\) \(1/2\) \(1\)
각 contrast 의 의미

\(H_1\): Control vs 나머지 3 그룹 평균.

  • 의미: 무작위 배정 (그룹 처치 vs control) 의 효과.
  • 실험적 비교 — 무작위 배정이라 confounder 영향 적음.

\(H_2\): No-show vs (tx1, tx2) 평균.

  • 의미: 회의 출석 (실제 처치 받음 vs no-show) 의 효과.
  • 준실험적 — 자기 선택 효과 (self-efficacy 같은 latent 변수) 가능.

\(H_3\): Discussion vs Social Support.

  • 의미: 처치 유형 의 효과.
  • 준실험적 — 두 그룹 모두 출석한 사람들이라 비교 가능, 단 randomization 직접 비교 아님.

4 작동 상관 선택 — Table 8.2

관측 상관 행렬
T1 T2 T3 T4
T1 1.00 0.33 0.29 0.26
T2 0.33 1.00 0.48 0.34
T3 0.29 0.48 1.00 0.49
T4 0.26 0.34 0.49 1.00
패턴 분석으로 작동 상관 선택

Exchangeable 부적합:

  • 관측 상관이 0.26~0.49 범위로 변동.
  • 모든 lag 동일 가정 (Exchangeable) 이 위반.

AR(1) 부적합:

  • AR(1) 면 lag 따라 매끄럽게 감소: 0.5 → 0.25 → 0.125 같은 패턴.
  • 관측 패턴 (lag-1: 0.33, 0.48, 0.49) 가 lag 따라 단조 감소 안 함.

m-dependent 부적합:

  • 같은 lag 의 상관이 시점에 따라 변동 (lag-1: 0.33, 0.48, 0.49).

Unstructured (Unspecified) 가 가장 합리적 — 4 시점이라 모수 수 (\(4 \cdot 3 / 2 = 6\)) 도 부담 적음.

근거: GEE 가 robust 라 작동 상관 선택의 부담은 가볍지만, 효율성 손실 줄이려면 관측 패턴과 비슷한 작동 상관 권장 (§ 8.3 의 Robust 성질 표 참조).

5 3 가지 로지스틱 GEE 모형

5.1 Model 1 — 주효과만 (식 8.23)

모형 1 — 7 모수

\[ \eta_{ij} = \beta_0 + \beta_1 T_j + \beta_2 T_j^2 + \beta_3 H_{1i} + \beta_4 H_{2i} + \beta_5 H_{3i} + \beta_6 \text{Race}_i \tag{8.23} \]

  • \(\eta_{ij}\): logit of \(P(\text{abstinent})\).
  • 시간 (선형 + 이차) + 3 Helmert + Race.
  • 시간 비등간격 (0, 1, 2, 4) — 이차항으로 비단조 패턴 표현.
  • Race: 0 (nonwhite), 1 (white) — 공변량 보정.

5.2 Model 2 — 그룹 × 선형 시간 (식 8.24)

모형 2 — 10 모수 (3 상호작용 추가)

\[ \eta_{ij} = \beta_0 + \beta_1 T_j + \beta_2 T_j^2 + \beta_3 H_{1i} + \beta_4 H_{2i} + \beta_5 H_{3i} + \beta_6 \text{Race}_i \]

\[ + \beta_7 (H_{1i} \times T_j) + \beta_8 (H_{2i} \times T_j) + \beta_9 (H_{3i} \times T_j) \tag{8.24} \]

추가 항: 그룹 contrast × 선형 시간.

시간에 따른 그룹 효과의 변동.

5.3 Model 3 — 그룹 × 이차 시간 (식 8.25)

모형 3 — 13 모수 (3 추가 상호작용)

\[ \eta_{ij} = \text{Model 2} + \beta_{10}(H_{1i} \times T_j^2) + \beta_{11}(H_{2i} \times T_j^2) + \beta_{12}(H_{3i} \times T_j^2) \tag{8.25} \]

가장 유연 — 그룹별 곡률 (curvature) 차이까지 표현.

모형 비교 절차

세 모형 nested:

  • Model 1 ⊂ Model 2 ⊂ Model 3.
  • Model 1 → Model 2: \(\beta_7 = \beta_8 = \beta_9 = 0\) 가설 (3 모수).
  • Model 2 → Model 3: \(\beta_{10} = \beta_{11} = \beta_{12} = 0\) 가설 (3 모수).

LR 검정 부재 (GEE quasi-likelihood) → Generalized Wald (식 8.26) 사용.

6 Table 8.3 — 추정 결과

Robust SE 기반 추정 (Hedeker Table 8.3)
모수 Model 1 (Est, SE, p) Model 2 (Est, SE, p) Model 3 (Est, SE, p)
\(\beta_0\) -0.999, 0.112, < .001 -1.014, 0.117, < .001 -1.010, 0.117, < .001
\(T \beta_1\) -0.633, 0.126, < .001 -0.610, 0.127, < .001 -0.631, 0.131, < .001
\(T^2 \beta_2\) 0.132, 0.029, < .001 0.130, 0.029, < .001 0.135, 0.030, < .001
\(H_1 \beta_3\) 0.583, 0.170, < .001 0.811, 0.214, < .001 0.865, 0.224, < .001
\(H_2 \beta_4\) 0.288, 0.121, .018 0.366, 0.142, .010 0.431, 0.150, .004
\(H_3 \beta_5\) 0.202, 0.119, .091 0.271, 0.141, .055 0.268, 0.148, .070
Race \(\beta_6\) 0.358, 0.200, .074 0.353, 0.200, .078 0.354, 0.200, .078
\(H_1 \times T \beta_7\) -0.219, 0.097, .024 -0.466, 0.226, .039
\(H_2 \times T \beta_8\) -0.073, 0.069, .289 -0.375, 0.181, .039
\(H_3 \times T \beta_9\) -0.062, 0.072, .385 -0.034, 0.195, .863
\(H_1 \times T^2 \beta_{10}\) 0.062, 0.051, .220
\(H_2 \times T^2 \beta_{11}\) 0.079, 0.042, .060
\(H_3 \times T^2 \beta_{12}\) -0.007, 0.046, .878

6.1 시간 추세의 형태 — 비단조 절제율

\(\beta_1 < 0\), \(\beta_2 > 0\) 의 의미

세 모형 모두에서:

  • \(\hat\beta_1 \approx -0.63\): 선형 추세 음수 — 시간 따라 절제율 하락 (재발).
  • \(\hat\beta_2 \approx 0.13\): 이차 추세 양수 — 감속하는 음의 추세.

전체 패턴: 절제율이 시간 따라 곡선형으로 감소하다가 후반에 안정 — Table 8.1 의 패턴과 일치.

최저점 (vertex) 계산: \(-\beta_1 / (2\beta_2) = 0.63 / 0.26 \approx 2.4\)약 12 개월 시점에 최저 후 약간 회복.

7 Generalized Wald 검정 (식 8.26)

7.1 검정 통계량

다중 모수 Wald (식 8.26)

\(q\) 개 모수의 동시 영가설 (\(H_0: C\beta = 0\)):

\[ \chi^2 = \hat\beta^\top C^\top \left[C V(\hat\beta) C^\top\right]^{-1} C \hat\beta \sim \chi^2_q \tag{8.26} \]

  • \(C\): \(q \times p\) 지시 행렬 (검정 대상 모수 선택).
  • \(V(\hat\beta)\): Robust SE 기반 분산-공분산 (Sandwich estimator).

LR 검정 대안: GEE 의 quasi-likelihood 라 LR 부적용 → Wald 가 표준.

7.2 Model 3 vs Model 2 비교

그룹 × 시간² 의 동시 검정

귀무가설: \(\beta_{10} = \beta_{11} = \beta_{12} = 0\).

지시 행렬 \(C\) (3 × 13):

\[ C = \begin{bmatrix} 0 & 0 & \cdots & 0 & 1 & 0 & 0 \\ 0 & 0 & \cdots & 0 & 0 & 1 & 0 \\ 0 & 0 & \cdots & 0 & 0 & 0 & 1 \end{bmatrix} \]

(마지막 3 모수만 선택.)

검정 결과: \(\chi^2_3 = 4.345\), \(p = 0.23\)비유의.

Model 2 가 Model 3 보다 선호 (그룹별 곡률 차이 없음).

7.3 Model 2 vs Model 1 비교

그룹 × 선형 시간 의 동시 검정

귀무가설: \(\beta_7 = \beta_8 = \beta_9 = 0\).

검정 결과: \(\chi^2_3 = 6.974\), \(p = 0.073\)marginal.

다중 검정으로는 0.05 수준 부족. 그러나 개별 검정에서 \(H_1 \times T\) 가 유의 (\(\hat\beta_7 = -0.219\), \(p = 0.024\)).

판단: Model 2 채택 (관측 패턴이 시간 따라 그룹 차이 변동을 시사 — Table 8.1 도 같은 신호).

8 Model 2 의 임상 해석

8.1 H1 — 무작위 배정의 시간 의존 효과

Post-intervention 에서의 OR (T = 0)

H1 의 추정 효과 = \(\hat\beta_3 + \hat\beta_7 \cdot T\) (시점 \(T\) 에 따라 변화).

\(T = 0\) (post-intervention): \(\hat\beta_3 + 0 = 0.811\).

H1 의 contrast 차이 = \(1/3 - (-1) = 4/3\) (control 대비 그룹 처치).

OR (그룹 처치군 vs Control):

\[ \text{OR} = \exp\left[\frac{4}{3} \cdot 0.811\right] = \exp(1.081) = 2.95 \]

Post-intervention 에서 그룹 처치군의 절제 odds 가 Control 의 약 3 배.

95% CI:

\[ \exp\left[\frac{4}{3}(0.811) \pm 1.96 \cdot \frac{4}{3}(0.214)\right] = (1.69, 5.16) \]

→ 통계적으로 유의 (CI 가 1 포함 안 함).

24 개월 (T = 4) 에서의 OR

\(\hat\beta_3 + \hat\beta_7 \cdot 4 = 0.811 + 4(-0.219) = -0.066\).

→ 거의 0. 그룹 차이 사라짐.

Generalized Wald: \(\chi^2_1 = 0.047\), 비유의.

임상 결론: 그룹 처치 효과가 즉각적으로는 강하지만 (post-intervention OR=2.95), 24 개월 시점에 효과 소멸. 흡연 절제 행동의 장기 유지 어려움 시사.

8.2 H2 — 출석 효과 (시간 무관)

H2 추정 (Model 2)

\(\hat\beta_4 = 0.366\) (\(p = 0.010\), 유의). \(\hat\beta_8 = -0.073\) (\(p = 0.289\), 비유의) — 시간 변동 없음.

출석 효과는 시간에 따라 일정.

출석 그룹 (tx1+tx2) vs No-show 의 OR

H2 contrast 차이 = \(1/2 - (-1) = 3/2\).

OR:

\[ \text{OR} = \exp\left[\frac{3}{2} \cdot 0.366\right] = \exp(0.549) = 1.73 \]

95% CI:

\[ \exp\left[\frac{3}{2}(0.366) \pm 1.96 \cdot \frac{3}{2}(0.142)\right] = (1.14, 2.63) \]

출석한 사람들의 절제 odds 가 no-show 의 약 1.7 배. 통계적으로 유의.

해석 주의: 준실험적 비교. 출석 결정 자체에 자기 효능감 같은 confounder 영향 가능 — 인과 효과 단정 어려움.

8.3 H3 — Social Support vs Discussion (Marginal)

H3 추정 (Model 2)

\(\hat\beta_5 = 0.271\) (\(p = 0.055\), marginal).

H3 contrast 차이 = \(1 - (-1) = 2\).

OR:

\[ \text{OR} = \exp\left[2 \cdot 0.271\right] = 1.72 \]

95% CI:

\[ \exp\left[2(0.271) \pm 1.96 \cdot 2(0.141)\right] = (0.99, 2.99) \]

Social Support 의 절제 odds 가 Discussion 의 약 1.7 배. 단 CI 가 1 거의 포함 → marginal.

8.4 Race 효과

\(\hat\beta_6 = 0.353\) (\(p = 0.078\))

OR (white vs nonwhite) = \(\exp(0.353) = 1.42\).

백인이 비백인보다 절제 odds 약 1.4 배. Marginal 수준.

해석: 인종 배경이 흡연 절제 성공에 약간의 영향. 사회경제적 요인의 confounder 가능 — Hedeker 본문은 이를 단순 보정 변수로 처리.

9 Model Fit — § 8.5.2

9.1 추정 절제 확률

Model 2 의 추정 vs 관측 (Table 8.4)
Group T1 추정 T1 관측 T4 추정 T4 관측
Control 0.152 0.174 0.231 0.182
No-show 0.271 0.268 0.206 0.187
Discussion 0.308 0.337 0.167 0.229
Social Support (계속) 0.490 (계속) 0.256
Fit 평가

대부분 시점·그룹에서 추정과 관측이 비슷. 차이는 4~5%포인트 이내.

큰 차이: Discussion T4 — 추정 0.167 vs 관측 0.229. 후반 시점의 비단조 패턴이 모형에 완전 반영 안 됨.

판단: Model 2 가 데이터를 합리적으로 적합. Model 3 추가 곡률 항이 적합도를 약간 개선할 수도 있지만 Generalized Wald 비유의로 절약 모형 선호.

10 다중 비교 보정

시점별 contrast 검정의 type-I 에러 부풀려짐

본 분석에서 수행한 검정:

  • 모수별 Wald (3 모형 × 7~13 모수).
  • Generalized Wald (Model 비교).
  • 시점별 contrast 효과 (post, T=4 등).

→ 수십 개의 검정. 다중 비교 보정 필요.

Hedeker §8.5 의 권고:

“현재 사례에서는 추가 contrast 가 비유의라 보정 없이도 결론 같음. 일반적으로는 신중 사용.”

보정 방법:

  • Bonferroni: \(\alpha / k\) (\(k\) = 검정 수). 보수적.
  • Holm: 단계별. 덜 보수적.
  • BH (False Discovery Rate): 종단 분석에 적절.

11 코드 재현

11.1 Step 1: GEE 로지스틱 적합 (Python)

import numpy as np
import pandas as pd
from statsmodels.genmod.generalized_estimating_equations import GEE
from statsmodels.genmod.cov_struct import Unstructured
import statsmodels.api as sm


# Gruder 데이터 시뮬레이션 (long format)
np.random.seed(2026)
n_subj = 489
n_time = 4
groups = ["Control"] * 109 + ["NoShow"] * 190 + ["Discussion"] * 86 + ["SocialSupport"] * 104

df_list = []
for i, g in enumerate(groups):
    for j, t in enumerate([0, 1, 2, 4]):
        # 가상 절제 확률 (Hedeker 결과 비슷한 패턴)
        if g == "Control":
            base = 0.15
        elif g == "NoShow":
            base = 0.22
        elif g == "Discussion":
            base = 0.25
        else:
            base = 0.32

        # 시간 따라 감소
        prob = base * np.exp(-0.4 * t + 0.05 * t**2)
        prob = np.clip(prob, 0.01, 0.99)
        y = np.random.binomial(1, prob)

        df_list.append({"id": i, "time": t, "group": g, "y": y,
                        "race": np.random.binomial(1, 0.7)})

df = pd.DataFrame(df_list)

# Helmert contrasts
df["H1"] = df["group"].map({"Control": -1, "NoShow": 1/3, "Discussion": 1/3, "SocialSupport": 1/3})
df["H2"] = df["group"].map({"Control": 0, "NoShow": -1, "Discussion": 1/2, "SocialSupport": 1/2})
df["H3"] = df["group"].map({"Control": 0, "NoShow": 0, "Discussion": -1, "SocialSupport": 1})

# 시간 변수
df["T"] = df["time"]
df["T2"] = df["time"] ** 2

# Model 2 — 그룹 × 선형 시간
formula_2 = "y ~ T + T2 + H1 + H2 + H3 + race + H1:T + H2:T + H3:T"

fit_2 = GEE.from_formula(
    formula_2,
    groups="id",
    data=df,
    cov_struct=Unstructured(),
    family=sm.families.Binomial(),
).fit()
print(fit_2.summary())

11.2 Step 2: OR 계산 + 95% CI

import numpy as np


def compute_or_ci(beta_hat: float, se_hat: float, contrast_diff: float) -> dict:
    """OR + 95% CI 계산

    contrast_diff: H_k contrast 의 두 그룹 차이 (예: H1 = 4/3).
    """
    log_or = contrast_diff * beta_hat
    log_se = abs(contrast_diff) * se_hat

    or_point = np.exp(log_or)
    or_lower = np.exp(log_or - 1.96 * log_se)
    or_upper = np.exp(log_or + 1.96 * log_se)

    return {
        "OR": or_point,
        "CI_lower": or_lower,
        "CI_upper": or_upper,
        "log_OR": log_or,
        "p_value": 2 * (1 - sm.stats.norm.cdf(abs(log_or / log_se))),
    }


# Hedeker §8.5 의 결과 재현
# H1 post-intervention: β_3 = 0.811, SE = 0.214, contrast diff = 4/3
result_h1 = compute_or_ci(0.811, 0.214, 4/3)
print(f"H1 OR (post): {result_h1['OR']:.2f}, "
      f"CI ({result_h1['CI_lower']:.2f}, {result_h1['CI_upper']:.2f})")
# 출력: H1 OR (post): 2.95, CI (1.69, 5.16)

# H2 post-intervention: β_4 = 0.366, SE = 0.142, contrast diff = 3/2
result_h2 = compute_or_ci(0.366, 0.142, 3/2)
print(f"H2 OR: {result_h2['OR']:.2f}, "
      f"CI ({result_h2['CI_lower']:.2f}, {result_h2['CI_upper']:.2f})")
# 출력: H2 OR: 1.73, CI (1.14, 2.63)

11.3 Step 3: Generalized Wald 검정

import numpy as np
from scipy import stats


def generalized_wald(beta_hat: np.ndarray, V_beta: np.ndarray,
                     C: np.ndarray) -> dict:
    """식 (8.26) 의 다중 모수 Wald 검정"""
    Cb = C @ beta_hat
    CVCt = C @ V_beta @ C.T
    chi2 = Cb @ np.linalg.inv(CVCt) @ Cb
    df = C.shape[0]
    p_value = 1 - stats.chi2.cdf(chi2, df=df)

    return {"chi2": chi2, "df": df, "p_value": p_value}


# Model 3 vs Model 2 비교 — H_0: β_10 = β_11 = β_12 = 0
# (가상 결과 — 실제 적합 후 사용)
beta_model3 = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.062, 0.079, -0.007])  # Hedeker
SE_model3 = np.array([0.117, 0.131, 0.030, 0.224, 0.150, 0.148, 0.200, 0.226, 0.181, 0.195, 0.051, 0.042, 0.046])
V_diag = SE_model3 ** 2
V_beta = np.diag(V_diag)  # 단순화: 비대각 0

# Selection matrix C — last 3 parameters
C = np.zeros((3, 13))
C[0, 10] = 1  # β_10
C[1, 11] = 1  # β_11
C[2, 12] = 1  # β_12

result = generalized_wald(beta_model3, V_beta, C)
print(f"Model 3 vs Model 2: χ²_3 = {result['chi2']:.2f}, p = {result['p_value']:.3f}")
# 검증 (covariance 무시한 단순화로 정확값과 차이 가능)
실제 분석에서 주의

위 코드의 V_beta 가 단순화 (대각만). 실제 GEE 의 sandwich 분산-공분산은 비대각 항도 있으므로 statsmodels fit.cov_params() 또는 R geepack::vcov() 의 결과 사용.

12 CPM (§ 6.4) 와의 비교

두 케이스 스터디의 평행 구조
항목 § 6.4 (06-6) Bock § 8.5 (본 포스트) Gruder
표본 75 명 489 명
시점 6 (등간격) 4 (비등간격: 0,1,2,4)
반응 정규 (1-6 점) 이항 (0/1)
모형 UN-CPM GEE 로지스틱 (UN 작동 상관)
추정 ML Quasi-likelihood + Sandwich
검정 Wald Generalized Wald
효과 표현 회귀 계수 OR (지수)
그룹 효과 cross-over (linear, change of slope) Helmert (H1, H2, H3)
같은 종단 분석 framework, 다른 적용

두 사례 모두:

  • 시간 + 그룹 + 그룹 × 시간 상호작용 모형.
  • 그룹 효과의 시점별 변동 분석.
  • 분산 구조 (UN) 선택.

차이:

  • 반응 분포: 정규 vs 이항 → 회귀 계수 vs OR 해석.
  • 추정 방법: full likelihood (CPM) vs quasi-likelihood (GEE).
  • 결측 가정: MAR (CPM) vs MCAR (GEE).

데이터 종류에 따라 적절한 패러다임 선택 — 정규 = CPM 또는 MRM, 비정규 = GEE 또는 GLMM.

13 핵심 정리

한 페이지 요약
  1. 데이터: Gruder (1993) 489 명, 4 그룹, 4 시점, 이항 흡연 절제.
  2. Helmert contrasts: H1 (무작위), H2 (출석), H3 (처치 유형).
  3. Table 8.1: 처치군 post-intervention 절제율 33~49% vs Control 17%, 시간 따라 비단조 감소.
  4. Table 8.2: 작동 상관 비단조 → Unstructured 선택.
  5. 3 모형: 주효과 (식 8.23) ⊂ + 그룹 × 선형 (8.24) ⊂ + 그룹 × 이차 (8.25).
  6. Generalized Wald (식 8.26): Model 2 채택 (Model 3 그룹 × 이차 비유의, \(\chi^2_3 = 4.35, p = 0.23\)).
  7. 시간 추세: 선형 -0.63, 이차 0.13 — 곡선형 감소, 약 12 개월 최저점.
  8. H1 (post-intervention): OR = 2.95 (95% CI: 1.69, 5.16) — 처치군 절제 odds 약 3 배.
  9. H1 (24 개월): \(\hat\beta_3 + 4\hat\beta_7 = -0.066\), 효과 소멸. 장기 유지 어려움.
  10. H2: OR = 1.73 (1.14, 2.63) — 출석 효과 일관 (시간 무관).
  11. H3: OR = 1.72 (0.99, 2.99) — Social Support vs Discussion marginal.
  12. Model fit: 추정 vs 관측 절제율 비슷 (대부분 4~5% 이내).

§ 8.5 는 GEE 로지스틱 회귀의 종합 케이스 스터디 — 이항 종단 데이터의 분석 절차 (작동 상관 선택, 모형 비교, OR 해석) 를 보여준다. 회귀 계수 강건성 (Robust SE) + 시점별 contrast 분석으로 임상 결론 도출.

14 Ch.8 sub-post 시리즈 완성

본 sub-post 로 Ch.8 의 5 절을 모두 다룬 sub-post 시리즈가 완성됐다.

sub-post 다룬 절 핵심
Ch.8 Overview § 8.1, 8.2, 8.3, 8.4, 8.5 요약 “GLM 의 상관 데이터 확장”
§ 8.1-8.2 GEE 토대, GLM 복습 “Marginal · Quasi-likelihood”
§ 8.3-8.4 GEE 모형, 추정 “5 작동 상관 + Sandwich”
이 포스트 § 8.5 Gruder 사례 “이항 종단 GEE 의 종합 적용”

남은 것:

  • Ch.9 GLMM 이항 — population-averaged (GEE) vs subject-specific (GLMM) 비교 (mm-06 참조).
  • Ch.10 GLMM 순서형, Ch.11 명목형, Ch.12 카운트.

15 관련 주제

선행 지식

관련

후속 주제

  • Ch.9 GLMM 이항 — population-averaged vs subject-specific 비교
  • Ch.10~12 GLMM (순서형·명목·카운트)

교재

  • Hedeker, D. & Gibbons, R. D. (2006). Longitudinal Data Analysis, Wiley, Ch.8 §8.5 (pp. 138-146)
  • Gruder, C. L. et al. (1993). “Effects of social support and relapse prevention training as adjuncts to a televised smoking-cessation intervention”, Journal of Consulting and Clinical Psychology 61, 113-120 — 데이터 출처
  • Bock, R. D. (1975). Multivariate Statistical Methods in Behavioral Research, McGraw-Hill — Helmert contrasts
  • Liang, K.-Y. & Zeger, S. L. (1986). “Longitudinal data analysis using generalized linear models”, Biometrika 73, 13-22 — GEE 원전

Subscribe

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