1 들어가며 — Ch.11 의 자리와 명목 GLMM 의 동기
Ch.10 (순서형 GLMM) 가 순서가 있는 3+ 범주를 다뤘다면, Ch.11 은 그 자연 확장으로 순서가 없는 3+ 범주 를 다룬다. 가장 일반적 categorical 응답 모형 — 모든 다른 모형 (이항, 순서, 비례 위반 ordinal) 의 상위 framework.
| Chapter | 모형 | 응답 형태 |
|---|---|---|
| Ch.4-5 | MRM | 연속 |
| Ch.6-7 | MRM 변형 | 연속 |
| Ch.8 | GEE | 자유 (marginal) |
| Ch.9 | GLMM 이항 | 0/1 |
| Ch.10 | GLMM 순서형 | 1, 2, …, C (순서) |
| Ch.11 | GLMM 명목 | 1, 2, …, C (비순서) |
| Ch.12 | GLMM 카운트 | 0, 1, 2, … |
| Ch.13 | GLMM 다양 | 3 수준 |
→ Ch.11 은 categorical 응답의 가장 일반적 모형. 다른 categorical 모형 (이항, 순서) 이 명목 모형의 제약 사례.
“Ch.11 = Ch.10 의 ordinal 모형의 두 제약 (회귀 계수가 \(c\) 무관 + random effect 분산 공통) 을 모두 풀고 각 범주에 별도의 회귀 계수와 분산 을 허용. Reference cell formulation (식 11.1-11.2) 또는 Bock 의 general contrast (식 11.3-11.5) 두 표기. Extremal concept (Bock 1972) — 각 범주에 별도 잠재 변수 (\(C\) 개) — 로 ordinal 의 threshold concept (1 개) 와 대비. 추정은 § 9.6, 10.2.4 의 toolkit 그대로 (marginal MLE + Gauss-Hermite). 각 범주에 별도 ICC (\(C-1\) 개). § 11.2 의 mental health 응용 (3 범주 의료 이용), § 11.3 의 organ transplantation (3 결과 competing risk) 두 illustration 으로 시연.”
본 overview 의 절 구성 (Hedeker §11 의 4 절 → 5 주제로 정리):
- § 11.1 본문 — 명목 모형의 정의 (식 11.1-11.2, 11.3-11.5).
- § 11.1.1 ICC — 범주별 분리.
- § 11.1.2 추정 — 이항/순서형 framework 의 직접 적용.
- § 11.2-11.3 두 응용 사례의 미리보기.
- § 11.4 chapter 의 핵심 메시지.
2 § 11.1 본문 — Mixed-Effects Multinomial Regression
2.1 명목 vs 순서형 — 두 핵심 차이
| 항목 | Ordinal (Ch.10) | Nominal (Ch.11) |
|---|---|---|
| 응답 형태 | 1, 2, …, C (순서 있음) | 1, 2, …, C (순서 없음) |
| 회귀 계수 | 단일 셋 \(\beta\) (모든 cumulative 동일) | \(C-1\) 개 셋 \(\beta_c\) (범주별) |
| 잠재 변수 framework | Threshold (1 개 잠재) | Extremal (\(C\) 개 잠재) |
| Random effect 분산 | 단일 \(\sigma_v\) (공통) | \(C-1\) 개 \(\sigma_c\) (범주별) |
| 모수 절약성 | 절약적 | 모수 폭발 |
| 가정 강도 | 강한 (proportional odds) | 약한 (제약 없음) |
| ICC | 단일 | \(C-1\) 개 |
Ordinal 은 명목의 제약 사례:
- Ordinal (proportional odds): 모든 \(\beta_c = \beta\) (단일 셋). 가장 강한 제약.
- Partial proportional odds (§ 10.2.1): 일부 covariate 만 \(\beta_c\) 다름.
- Nominal: 모든 covariate 의 \(\beta_c\) 가 자유. 가장 일반적.
모수 수의 폭발:
| 모형 | 회귀 계수 | Random effects 분산 |
|---|---|---|
| Ordinal PO (\(p\) covariate, \(C\) 범주) | \(p\) | 1 |
| Partial PO (\(h\) 위반) | \(p + h(C-2)\) | 1 |
| Nominal | \(p(C-1)\) | \(C-1\) |
→ 명목 모형이 가장 유연 + 가장 비싼 (모수 많음, sparse 데이터에 추정 불안정).
언제 명목 모형이 필요한가:
- 응답이 진짜 비순서: 정당 (republican/democrat/undecided), 의료 이용 형태 (inpatient/outpatient/emergency), 직업 분류 (manager/clerk/labor).
- 순서가 있어 보이지만 비례 가정 강하게 깨짐: § 10.2.1 partial PO 가 적합 안 되거나 너무 많은 covariate 가 위반.
- 각 범주에 별도 효과 메커니즘: 각 범주에 다른 인과 메커니즘 — 단일 잠재 변수로 표현 불가.
2.2 식 (11.1-11.2) — Reference Cell Formulation
\(Y_{ij} \in \{1, 2, \ldots, C\}\). \(c = 1\) 을 reference category 로 두면:
\[ p_{ijc} = \Pr(Y_{ij} = c \mid \theta) = \frac{\exp(z_{ijc})}{1 + \sum_{h=2}^C \exp(z_{ijh})} \quad (c = 2, 3, \ldots, C) \tag{11.1} \]
\[ p_{ij1} = \Pr(Y_{ij} = 1 \mid \theta) = \frac{1}{1 + \sum_{h=2}^C \exp(z_{ijh})} \tag{11.2} \]
Multinomial logit:
\[ z_{ijc} = x_{ij}^\top \beta_c + z_{ij}^\top T_c \theta_i \]
- \(\beta_c\): \(c\) 번째 범주의 회귀 계수 (\(p \times 1\)).
- \(T_c\): \(c\) 번째 범주의 Cholesky factor (\(r \times r\)).
- \(\theta_i \sim \mathcal{N}_r(0, I)\): 표준화 random effects.
Reference 범주는 모수 0 (\(\beta_1 = 0, T_1 = 0\)).
식 (11.1) 의 형태가 표준 multinomial logit 과 동일. 차이는:
- \(z_{ijc}\) 에 random effects \(z_{ij}^\top T_c \theta_i\) 가 추가됨.
- 각 범주의 \(T_c\) 가 자유 — 범주별로 다른 환자 이질성.
해석:
- \(\beta_c\): “\(c\) 번째 범주에 응답할 odds 가 reference 범주 대비 covariate 에 따라 어떻게 변하는가”.
- 예: \(c = 2\) vs reference (1): \(\log(p_{ij2}/p_{ij1}) = z_{ij2}\).
Reference 범주 선택:
- 보통 가장 흔한 또는 가장 base 범주를 reference 로.
- 예시 (의료 이용): “no care” 를 reference, “outpatient” 와 “inpatient” 가 비교 대상.
- 정당: “undecided” 를 reference, “democrat” 과 “republican” 가 비교 대상.
\(C-1\) 개의 별도 회귀: 각 비교가 독립 — 한 범주의 효과가 다른 범주에 직접 영향 없음. 단, 모든 확률의 합 = 1 제약은 자동.
2.3 Extremal Concept — Bock (1972) 의 잠재 변수 framework
식 (11.6) 의 잠재 변수 표현:
\[ y_{ijc} = x_{ij}^\top \beta_c + \sigma_c \theta_i + \epsilon_{ijc} \quad (c = 1, 2, \ldots, C) \tag{11.6} \]
각 범주에 별도의 잠재 변수 \(y_{ijc}\). 관측 응답:
\[ Y_{ij} = c \iff y_{ijc} = \max_{c'} y_{ijc'} \]
— “최대 잠재 변수의 범주가 관측 범주”.
\(\epsilon_{ijc}\) 는 type I extreme-value 분포 (Gumbel) — multinomial logit link 의 자연 잡음 분포.
Threshold concept (Ch.10 ordinal):
- 잠재 변수 1 개 (\(y_{ij}\)).
- 절단점 \(\gamma_1, \ldots, \gamma_{C-1}\) 이 응답 결정.
- \(Y = c \iff \gamma_{c-1} \leq y < \gamma_c\).
Extremal concept (Ch.11 nominal):
- 잠재 변수 \(C\) 개 (\(y_{ij1}, \ldots, y_{ijC}\)).
- 각 범주가 별도 잠재 변수 — 각자 covariate 효과와 random effects.
- \(Y = c \iff y_{ijc} = \max y_{ijc'}\).
비유:
- Threshold: “환자의 잠재 중증도 \(y\) 가 어느 구간에 떨어졌는가”. 단일 측정 척도.
- Extremal: “환자가 각 정당 (또는 의료 이용 형태) 에 대해 별도 효용 \(y_c\) 를 가지고, 가장 효용 큰 것을 선택”. 효용 (utility) 최대화 모형 — 경제학의 random utility model (McFadden 1974).
Bock (1972, 1975) 의 통합: 두 concept 모두 Thurstone (1927) 이 psychophysics 에 도입. dichotomous case 에서만 등가 (\(C = 2\)).
경제학·마케팅 응용 — Extremal concept 가 자연:
- 소비자가 여러 제품 중 효용 최대 선택.
- 통근자가 여러 교통수단 중 시간·비용 효용 비교.
- 정당 지지자가 정당별 정책 적합도 비교.
→ “잠재 효용 \(y_c\)” 가 직접 임상·경제적 의미. ordinal 의 threshold 보다 직관적인 분야.
2.4 식 (11.3-11.5) — General Contrast Formulation (Bock 1972)
특정 reference cell 에 한정되지 않은 일반 contrast 표현:
\[ p_{ijc} = \frac{\exp(z_{ijc})}{\sum_{h=1}^C \exp(z_{ijh})} \quad (c = 1, 2, \ldots, C) \tag{11.3} \]
\[ z_{ijc} = x_{ij}^\top \Gamma d_c + (z_{ij}^\top \otimes \theta_i^\top) J_{r^*}^\top \Lambda d_c \tag{11.4} \]
표기:
- \(D = [d_1, d_2, \ldots, d_C]\): \((C-1) \times C\) contrast matrix.
- \(d_c\): \(D\) 의 \(c\) 번째 column (\(C-1 \times 1\)).
- \(\Gamma\): \(p \times (C-1)\) 회귀 계수 matrix.
- \(\Lambda = [v(T_1), v(T_2), \ldots, v(T_{C-1})]\): \(r^* \times (C-1)\) random effects 모수 matrix.
- \(v(T_c)\): Cholesky factor \(T_c\) 의 자유 모수 vector (\(r^* = r(r+1)/2\) 개).
- \(J_{r^*}\): Magnus (1988) elimination matrix.
\(z_{ij} = 1\) (random intercept만), \(\theta_i\) 가 스칼라:
\[ z_{ijc} = x_{ij}^\top \Gamma d_c + \Lambda d_c \theta_i \tag{11.5} \]
여기서 \(\Lambda = [\sigma_1, \sigma_2, \ldots, \sigma_{C-1}]\) (\(1 \times (C-1)\) vector).
식 (11.3-11.4) 의 \(D\) matrix 가 어떤 비교를 추정할지 결정:
Reference cell 사례 (식 11.1-11.2 와 동일):
\[ D = \begin{bmatrix} 0 & 1 & 0 & \cdots & 0 \\ 0 & 0 & 1 & \cdots & 0 \\ 0 & 0 & 0 & \cdots & 1 \end{bmatrix} \]
→ 범주 2, 3, …, C 를 범주 1 (reference) 와 비교.
Helmert contrast (4 범주):
\[ D = \begin{bmatrix} -3/4 & 1/4 & 1/4 & 1/4 \\ 0 & -2/3 & 1/3 & 1/3 \\ 0 & 0 & -1/2 & 1/2 \end{bmatrix} \]
→ 첫 contrast: 범주 1 vs (2, 3, 4). 둘째: 범주 2 vs (3, 4). 셋째: 범주 3 vs 4.
이 형태는 continuation-ratio logit 모형 (Ten Have & Uttal 1994) 와 비슷 — 순차적 비교에 자연. 응답이 본질적으로 순서가 있을 때 ordinal cumulative logit 의 대안으로 사용.
Contrast 선택의 자유:
- 모수의 해석을 사용자가 통제.
- 같은 데이터에 다른 contrast → 다른 회귀 계수, 같은 fit (deviance, prediction 동일).
- 보고에 가장 의미 있는 contrast 선택.
식 (11.3-11.4) 가 식 (11.1-11.2) 의 일반화: Reference cell 은 특정 \(D\) matrix 의 special case. 일반 표기가 더 강력하지만 표기 복잡 — 실무에서는 reference cell 이 흔함.
3 § 11.1.1 — Intraclass Correlation 의 범주별 분리
3.1 식 (11.6-11.7) — 잠재 변수와 ICC
\[ y_{ijc} = x_{ij}^\top \beta_c + \sigma_c \theta_i + \epsilon_{ijc} \quad (c = 1, 2, \ldots, C) \tag{11.6} \]
\(\beta_1 = 0, \sigma_1 = 0\) (reference 범주):
\[ y_{ijc} = x_{ij}^\top \beta_c + \sigma_c \theta_i + (\epsilon_{ijc} - \epsilon_{ij1}) \quad (c = 2, \ldots, C) \tag{11.7} \]
reference 대비 잠재 효용 차이.
식 (11.7) 의 \(\epsilon_{ijc} - \epsilon_{ij1}\) 의 분포 도출:
- 각 \(\epsilon_{ijc}\) 가 type I extreme-value (Gumbel) 분포 (Maddala 1983).
- 두 독립 Gumbel 의 차이가 표준 logistic 분포 (McCullagh & Nelder 1989).
- → \(\epsilon_{ijc} - \epsilon_{ij1} \sim \text{Logistic}(0, 1)\), 분산 \(\pi^2/3\).
이것이 multinomial logit 의 link 가 logistic 인 이유 — 잠재 잡음의 차이가 logistic.
ICC 도출:
\[ \widehat{r}_c = \frac{\widehat\sigma_c^2}{\widehat\sigma_c^2 + \pi^2/3} \quad (c = 2, \ldots, C) \]
각 범주 (reference 제외) 별 ICC. \(C-1\) 개.
ordinal 과의 차이:
- Ordinal: 단일 ICC (\(\sigma_v^2\) 가 모든 범주에 공통).
- Nominal: \(C-1\) 개 ICC (각 범주의 \(\sigma_c\) 다름).
→ 명목 모형이 더 풍부 — “어느 범주에 환자 이질성이 더 큰가” 분석 가능.
의료 이용 (3 범주: no care / outpatient / inpatient) 의 mixed-effects multinomial:
- 가정: no care 가 reference.
- 추정 결과 예시:
- \(\sigma_2 = 0.8\) (outpatient): \(r_2 = 0.64 / (0.64 + 3.29) = 0.16\).
- \(\sigma_3 = 1.5\) (inpatient): \(r_3 = 2.25 / (2.25 + 3.29) = 0.41\).
해석:
- “Inpatient 범주에서 환자 이질성이 큼” — 어떤 환자는 일관되게 inpatient 잘 가고, 어떤 환자는 잘 안 감.
- “Outpatient 범주는 환자 이질성 작음” — 환자 차이가 작음.
→ inpatient 결정에는 환자 고유 특성 (만성 질환, 보험 종류 등) 이 큰 역할, outpatient 결정은 그렇지 않음.
임상 정책의 함의:
- Inpatient 사용에 환자 segmentation 효과적.
- Outpatient 는 일반 정책으로 충분.
이 정보가 단일 ICC (ordinal) 에서는 절대 못 얻음 — 명목 모형의 고유 가치.
4 § 11.1.2 — Parameter Estimation
추정 절차가 이항 (§ 9.6) / 순서형 (§ 10.2.4) 와 동일한 framework:
- Conditional likelihood: 식 (11.1-11.2) 의 곱 (multinomial 의 categorical 우도).
- Marginal likelihood: random effects \(\theta\) 에 대한 적분.
- Marginal MLE: \(\log L = \sum \log h(Y_i)\) 최대화.
- Score: chain rule 로 도출 — 각 \(\beta_c\) 에 대한 미분.
- Fisher scoring: 식 (9.47), (10.22) 와 같은 update.
- Gauss-Hermite quadrature: random effects 적분 근사.
명목 모형 추정의 두 추가 부담:
- 모수 폭발: \(p(C-1)\) 회귀 계수 + \(C-1\) 분산. 차원 증가.
- 각 범주별 score: \(C-1\) 개 회귀 계수 셋에 대한 별도 score.
그러나 알고리즘 구조는 동일:
- Conditional likelihood 가 multinomial → cell 확률 곱 (식 11.1 의 직접 적용).
- 각 noun에서 random effects 적분 → Gauss-Hermite.
- Fisher scoring update.
§ 9.6 의 toolkit 그대로 + 모수 차원 확장.
소프트웨어 지원:
- SAS
PROC NLMIXED: 직접 코딩 가능. - R
mlogit: single-level multinomial 만. - R
nnet::multinom: single-level. - R
mclogit: mixed-effects multinomial 가능. - Bayesian:
brms::brm(family = categorical()), Stan 직접 코딩. - Hedeker MIXNO (1999): mixed-effects multinomial 의 표준 도구.
계산 부담:
- \(C - 1\) 개 회귀 셋 + \(C - 1\) 차원 random effects → Gauss-Hermite 점 수 폭발.
- 5+ 범주 + 다중 random effects 면 Bayesian (brms, Stan) 우회 권고.
5 후속 절의 미리보기
5.1 § 11.2 — Health Services Research Example
응답: mental health service utilization 의 3 범주 — 분야별 응용.
다중 random effects + multinomial mixed-effects 의 시연.
자세한 분석은 후속 sub-post.
5.2 § 11.3 — Competing Risk Survival Models
이산 시간 competing risk survival — 사건이 여러 종류 (\(C - 1\) 종류) 일 때.
§ 10.2.3 의 single risk discrete-time PH 모형의 자연 확장 — survival outcomes 가 본질적으로 nominal (사건 종류 X 발생 시점).
§ 11.3.1: Waiting for Organ Transplantation:
- 응답: 장기 이식 대기 중 결과 — 이식 / 사망 / 계속 대기 (3 범주).
- “이식” 과 “사망” 이 competing risks (한 사건이 다른 사건 차단).
- Mixed-effects multinomial 으로 두 risk 의 동시 모형화.
→ 명목 모형의 강력한 응용 — 단일 outcome (생존 vs 사망) 만 보는 표준 PH 모형의 한계 극복.
자세한 분석은 후속 sub-post.
6 § 11.4 — Chapter 의 핵심 메시지 (요약)
명목 모형은 가장 일반적 categorical GLMM: 이항 (Ch.9), 순서 (Ch.10), partial PO 의 모든 제약을 풀고 각 범주에 자유로운 효과 허용.
Extremal concept (Bock 1972) 가 toolkit 의 자연 표현: 각 범주에 잠재 효용 \(y_c\), 최대값 선택. 경제학 (random utility) 과 직접 연결.
모수 절약성과 유연성의 tradeoff: \(p(C-1)\) 회귀 + \(C-1\) 분산 → ordinal 보다 훨씬 많음. Sparse 데이터에는 추정 불안정.
추정 framework 는 일관: § 9.6 / § 10.2.4 의 marginal MLE + Gauss-Hermite + Fisher scoring 을 그대로 적용. 새로 배울 알고리즘 없음.
Competing risk 응용: 이산 시간 multiple events 에 자연 — § 10.2.3 의 single risk PH 의 일반화.
7 응용 분야
| 분야 | 활용 | 비순서 범주 |
|---|---|---|
| 의료 이용 | 진료 형태 추적 | inpatient / outpatient / emergency / no care |
| 장기 이식 | 대기 결과 | transplanted / died / still waiting |
| 정치 분석 | 정당 지지 | republican / democrat / undecided / other |
| 직업 | 직업 분류 | manager / professional / clerk / labor |
| 교통 | 통근 수단 | car / bus / subway / bike / walk |
| 마케팅 | 제품 선택 | brand A / B / C / none |
| 학교 | 졸업 후 진로 | college / job / military / unemployed |
| 약물 사용 | 사용 패턴 | none / occasional / regular / daily |
8 코드 예시
8.1 Step 1: Multinomial Probability 직접 계산
import numpy as np
def multinomial_probs(z: np.ndarray) -> np.ndarray:
"""식 (11.3): general multinomial probability.
z: shape (n, C) — 각 범주의 z_ijc.
Returns: shape (n, C) cell 확률.
"""
exp_z = np.exp(z - z.max(axis=1, keepdims=True)) # 수치 안정
return exp_z / exp_z.sum(axis=1, keepdims=True)
def multinomial_probs_reference(z: np.ndarray) -> np.ndarray:
"""식 (11.1-11.2): reference cell formulation (c=1 reference).
z: shape (n, C-1) — 범주 2, ..., C 의 z_ijc (c=1 의 z 는 0 가정).
Returns: shape (n, C) cell 확률 — 첫 열이 reference.
"""
n, C_minus_1 = z.shape
z_full = np.column_stack([np.zeros(n), z]) # reference c=1: z=0
return multinomial_probs(z_full)
# 단순 사례: 4 범주 + 두 환자 + 단일 covariate
beta_c = np.array([0.5, 1.0, -0.5]) # 범주 2, 3, 4 의 회귀 계수
x = np.array([0, 1]) # 두 환자
# z_ijc for c = 2, 3, 4
z = x[:, None] * beta_c[None, :] # shape (2, 3)
probs = multinomial_probs_reference(z)
print("Cell 확률 (4 범주):")
print(f" x=0: {probs[0].round(3)}")
print(f" x=1: {probs[1].round(3)}")
print(f" 합 검증: {probs.sum(axis=1)}")- 각 환자의 cell 확률 합이 1.
- \(x = 1\) 그룹에서 양의 \(\beta_2 = 0.5, \beta_3 = 1.0\) 효과로 범주 2, 3 확률 ↑.
- 음의 \(\beta_4 = -0.5\) 로 범주 4 확률 ↓.
- Reference 범주 1 의 확률은 다른 범주 합산의 보수.
8.2 Step 2: Mixed-Effects Multinomial 시뮬레이션
import numpy as np
import pandas as pd
def simulate_multinomial_mixed(n_subjects: int, n_times: int,
beta_c: np.ndarray, sigma_c: np.ndarray,
seed: int = 2026) -> pd.DataFrame:
"""식 (11.6) 의 잠재 변수 표현으로 nominal 데이터 생성.
각 범주 c (reference 제외) 에 별도 회귀 계수 + random intercept.
각 시점에 C 개 잠재 효용 → 최대값의 범주 선택.
"""
rng = np.random.default_rng(seed)
C_minus_1 = len(beta_c)
C = C_minus_1 + 1
rows = []
for i in range(n_subjects):
# 환자별 random intercepts (각 범주별)
upsilon = sigma_c * rng.normal(size=C_minus_1)
for t in range(n_times):
# 각 범주의 잠재 효용 (식 11.6)
x_ij = t # 시간 covariate
y_latent = np.zeros(C)
for c_idx in range(1, C): # c = 2, ..., C
# y_ijc = beta_c * x + upsilon_c + epsilon (Gumbel)
eta = beta_c[c_idx - 1] * x_ij + upsilon[c_idx - 1]
# Type I extreme value 잡음
eps = -np.log(-np.log(rng.uniform()))
y_latent[c_idx] = eta + eps
# Reference 범주 c=1: beta=0, sigma=0
y_latent[0] = -np.log(-np.log(rng.uniform()))
# 최대 잠재 효용의 범주 선택
Y = y_latent.argmax() + 1 # 1, 2, ..., C
rows.append({"subject": i, "time": t, "Y": Y})
return pd.DataFrame(rows)
# 4 범주 + 시간 효과 시뮬레이션
beta_c = np.array([0.3, 0.6, -0.2]) # 범주 2, 3, 4 의 시간 효과
sigma_c = np.array([0.8, 1.2, 0.5]) # 범주별 random intercept SD
df = simulate_multinomial_mixed(n_subjects=200, n_times=5,
beta_c=beta_c, sigma_c=sigma_c)
print(f"전체: {len(df)} 행, {df['subject'].nunique()} 환자")
print(f"\n시점별 응답 분포:")
print(df.groupby('time')['Y'].value_counts().unstack(fill_value=0))위 코드가 extremal concept 의 정확한 표현:
- 각 환자, 시점, 범주 마다 잠재 효용 \(y_{ijc}\) 계산.
- Type I extreme value (Gumbel) 잡음 추가.
- 최대 효용의 범주 선택.
McFadden (1974) 의 random utility model 과 정확히 같은 mechanism. 경제학 / 마케팅의 선택 모형 표준.
검증: 시점이 지남에 따라 양의 \(\beta_c\) 인 범주 (2, 3) 의 비율 ↑, 음의 \(\beta_c\) 인 범주 (4) 의 비율 ↓.
8.3 Step 3: Multinomial Logit 적합 (R mlogit)
library(mlogit)
# Single-level multinomial 적합
df_long <- mlogit.data(df, choice = "Y", shape = "wide", varying = NULL)
# 시점 효과만
fit <- mlogit(Y ~ 0 | time, data = df_long, reflevel = "1")
summary(fit)
# 추정값 확인 (시뮬레이션 진짜 모수와 비교)
coef(fit)mlogit 의 출력
- 각 범주 (reference 제외) 별 별도 회귀 계수.
- 시간 효과 추정 → 진짜 \(\beta_c = (0.3, 0.6, -0.2)\) 와 비교.
mlogit 은 single-level (random effects 없음). Mixed-effects 는 다음 단계.
8.4 Step 4: Mixed-Effects Multinomial (R mclogit)
library(mclogit)
# Mixed-effects multinomial — random intercept per category
df$Y <- as.factor(df$Y)
fit_mixed <- mblogit(Y ~ time, random = ~1 | subject,
data = df, baseline = "1")
summary(fit_mixed)
# 각 범주별 회귀 계수 + random intercept SD
# 범주별 ICC 계산 (식 §11.1.1)
sigma_c_hat <- attr(VarCorr(fit_mixed), "sd") # 추정 SD vector
icc_c <- sigma_c_hat^2 / (sigma_c_hat^2 + pi^2 / 3)
cat("범주별 ICC:\n")
print(icc_c)- R
mclogit::mblogit: mixed-effects multinomial — 가장 표준. - R
brms::brm(family = categorical()): Bayesian, 가장 유연. - SAS
PROC NLMIXED: frequentist 의 정확한 적합. - Hedeker
MIXNO: 명목 모형의 표준 도구 (논문 출판용).
mclogit 의 장점: lme4 와 비슷한 syntax, 일반 mixed-effects 사용자에게 친숙. 단점: 다중 random effects 에 제약, 큰 차원에 느림.
Bayesian 우회:
- 큰 모수 차원 (5+ 범주 또는 다중 random effects) →
brms또는 Stan 직접. - Prior 로 약한 효과 정규화 → 추정 안정성.
9 관련 주제
선행 지식
- Ch.9 GLMM 이항 — Ch.11 의 \(C = 2\) 특수 경우
- Ch.10 GLMM 순서형 — Ch.11 의 제약 사례 (PO 가정)
- § 9.6 추정 — Marginal MLE + Gauss-Hermite (Ch.11 에 직접 적용)
- § 10.2.4 추정 — Cumulative ordinal MLE
- § 9.5.5 c-log-log — Type I extreme value 잠재 잡음
후속 주제 (Ch.11 sub-posts)
- § 11.2 — Health Services Research Example (3 범주 의료 이용 nominal)
- § 11.3 — Competing Risk Survival Models
- § 11.3.1: Waiting for Organ Transplantation
- § 11.4 — Ch.11 Summary
관련 개념
- Bock (1972, 1975) — Multinomial logit + extremal concept 원전
- Thurstone (1927) — Threshold + extremal concept psychophysics 도입
- McFadden (1974) — Random utility model (경제학 / 마케팅)
- Hedeker (2003) — Mixed-effects multinomial with general contrasts
- Hartzel et al. (2001) — Clustered ordinal/nominal 통합 framework
- Maddala (1983) — Type I extreme value 분포
- McCullagh & Nelder (1989) — Logistic = difference of two extreme values
- Ch.12 GLMM 카운트 — Categorical 의 다른 확장 (Poisson)
- § 10.2.3 Discrete-time PH — § 11.3 의 single risk 사례 (대비)