Chap16. 범주형 반응 변수(Categorical Response Data)를 위한 다층 모형: 점수 말고 “선택”을 분석하자!

안녕하세요!

오늘은 범주형 반응 변수(Categorical Response Data)를 위한 다층 모형에 대해 살펴보겠습니다. “학교 현장의 데이터”를 예시로 들어 직관적인 설명과 수리적 엄밀함을 모두 갖춘 형태로 재구성해 드리겠습니다.

분석 도구로는 jamovi의 사용법(특히 GAMLj 모듈 활용)을 설명하되, jamovi의 기반이 되는 R 코드를 함께 제시하여 모의 데이터 생성부터 분석, 시각화까지 완벽하게 구현해 드리겠습니다.


이전까지 우리는 ‘시험 점수’, ‘키’, ‘몸무게’처럼 연속된 숫자로 된 결과(연속형 변수)를 주로 다뤘습니다. 하지만 교육 현장에는 이런 데이터만 있는 게 아니죠?

  • 서열형(Ordinal): “학교 급식 만족도 (1: 매우 불만 ~ 5: 매우 만족)”
  • 명목형(Nominal): “방과 후 학교 선택 (1: 축구반, 2: 미술반, 3: 코딩반)”

이런 데이터는 일반적인 선형 다층모형(Linear Mixed Model)으로 분석하면 엉터리 결과가 나옵니다. 왜냐고요? ‘축구반(1)’과 ‘코딩반(3)’의 평균이 ‘미술반(2)’은 아니니까요!.

오늘 우리는 이 까다로운 녀석들을 어떻게 다층모형으로 요리할지 배울 것입니다.


1. 이론적 기초: 눈에 보이지 않는 “잠재 변수” (Latent Variable)

우리가 겉으로 보는 것은 “체크 표시”된 설문지(범주)이지만, 통계학자들은 그 이면에 연속적인 심리적 수치(잠재 변수, yy^*)가 숨어 있다고 가정합니다.

1) 서열형 데이터 (Ordinal): “문턱 넘기” 게임

학생의 ‘학교 만족도’를 예로 들어봅시다.

  • 학생 마음속에는 만족감(yy^*)이라는 연속적인 게이지가 있습니다.
  • 이 게이지가 특정 임계값(Threshold, δ\delta)을 넘을 때마다 응답이 바뀝니다.
    • 게이지 < 문턱1 \rightarrow “불만족”
    • 문턱1 < 게이지 < 문턱2 \rightarrow “보통”
    • 문턱2 < 게이지 \rightarrow “만족”

2) 명목형 데이터 (Nominal): “유틸리티” 게임

방과 후 학교 선택을 예로 들어봅시다.

  • 학생은 각 선택지(축구, 미술, 코딩)에 대해 효용(Utility,yijmy^*_{ijm})을 계산합니다.
  • 가장 효용이 높은 대안을 선택합니다 (yij=my_{ij}=m if yijmy^*_{ijm} is max).

2. 실습 시나리오: “행복한 학교 만들기” 프로젝트

우리는 가상의 데이터 세트 두 개를 만들어 분석해 보겠습니다.

상황 A (서열형): 학교 폭력 예방 교육 후 만족도 조사

  • 구조: 학생(ii)들이 학급(jj)에 소속됨 (2수준).
  • 종속변수(YY): 교육 만족도 (1: 별로다, 2: 보통이다, 3: 훌륭하다)
  • 독립변수(Level 1): 학생의 사전 지식(Knowledge)
  • 독립변수(Level 2): 담임 선생님의 열정(Passion)

상황 B (명목형): 자유학기제 동아리 선택

  • 구조: 학생(ii)들이 학교(jj)에 소속됨.
  • 종속변수(YY): 동아리 선택 (Science, Art, Sports)
  • 독립변수: 성별(Gender), 학교 예산(Budget)

3. R을 이용한 모의 데이터 생성

jamovi에서 불러올 수 있도록 R을 이용해 그럴듯한 데이터를 생성해 봅시다.

R

# [R Code] 데이터 생성 스크립트
set.seed(1234)

# 1. 서열형 데이터 (Ordinal) 생성
n_classes <- 50
n_students <- 30
N <- n_classes * n_students

# Level 2 (학급) 변수
class_id <- rep(1:n_classes, each = n_students)
teacher_passion <- rep(rnorm(n_classes, 0, 1), each = n_students) # 선생님 열정
u_j <- rep(rnorm(n_classes, 0, 0.5), each = n_students) # 학급 무선 효과

# Level 1 (학생) 변수
knowledge <- rnorm(N, 0, 1) # 사전 지식
e_ij <- rlogis(N) # 로지스틱 오차항 (Ordinal Logit 가정)

# 잠재 변수 (Latent Variable) 생성
# 수식: y* = 0.5*Knowledge + 0.7*Passion + u_j + e_ij
y_star <- 0.5 * knowledge + 0.7 * teacher_passion + u_j + e_ij

# 관측 변수 (Ordinal)로 변환 (Threshold: -1, 1)
satisfaction <- cut(y_star, breaks = c(-Inf, -1, 1, Inf), labels = c("Low", "Medium", "High"))

data_ordinal <- data.frame(class_id, student_id=1:N, satisfaction, knowledge, teacher_passion)

# 2. 명목형 데이터 (Nominal) 생성
# 선택지: 1(Science), 2(Art), 3(Sports)
# 기준(Reference): Science
n_schools <- 30
n_students_nom <- 40
N_nom <- n_schools * n_students_nom

school_id <- rep(1:n_schools, each = n_students_nom)
budget <- rep(rnorm(n_schools, 0, 1), each = n_students_nom) # 학교 예산
gender <- rbinom(N_nom, 1, 0.5) # 0: 여학생, 1: 남학생
u_school <- rep(rnorm(n_schools, 0, 0.5), each = n_students_nom)

# 각 대안에 대한 효용(Utility) 계산 (Multinomial Logit)
# Science(Ref): Utility = 0
# Art: Utility = -0.5 + 0.5*Gender + 0.3*Budget + u_school
# Sports: Utility = -1.0 + 1.2*Gender - 0.2*Budget + u_school

util_science <- 0
util_art <- -0.5 + 0.5 * gender + 0.3 * budget + u_school + rlogis(N_nom)
util_sports <- -1.0 + 1.2 * gender - 0.2 * budget + u_school + rlogis(N_nom)

choice_mat <- cbind(util_science, util_art, util_sports)
choice_idx <- max.col(choice_mat)
club_choice <- factor(choice_idx, labels = c("Science", "Art", "Sports"))

data_nominal <- data.frame(school_id, student_id=1:N_nom, club_choice, gender, budget)

# CSV 파일로 저장 (jamovi에서 열기 위함)
write.csv(data_ordinal, "chap16-1.csv", row.names = FALSE)
write.csv(data_nominal, "chap16-2.csv", row.names = FALSE)

4. 서열형 반응 변수 분석 (Ordinal Response Models)

이론: 누적 로짓 모형 (Cumulative Logit Model)

서열형 분석의 핵심은 “비례 오즈 가정(Proportional Odds Assumption)”입니다. 이것은 XX라는 변수가 ‘불만족 \rightarrow 보통’으로 갈 확률을 높여주는 정도와, ‘보통 \rightarrow 만족’으로 갈 확률을 높여주는 정도가 같다고 가정하는 것입니다.

수식은 다음과 같습니다:

logP(yijm)1P(yijm)=αm(xijβ+zijuj)\log \frac{P(y_{ij} \le m)}{1 – P(y_{ij} \le m)} = \alpha_m – (x_{ij}’\beta + z_{ij}’u_j)

(주의: 소프트웨어마다 부호가 다를 수 있습니다. αm\alpha_m은 절편이자 문턱값입니다.)

jamovi 실습 가이드 (GAMLj 모듈 활용)

jamovi 기본 메뉴에는 서열형 다층모형이 없습니다. GAMLj 모듈을 설치해야 합니다.

  1. 데이터 열기: chap16-1.csv
  2. 모듈 실행: Analyses > GAMLj > Generalized Mixed Models
  3. 변수 설정:
    • Dependent Variable: satisfaction
    • Random Effects (Cluster): class_id
    • Covariates: knowledge, teacher_passion
  4. 모델 설정 (Model Options):
    • Family: Ordinal (Link function: logit) 설정. 이것이 핵심입니다!
  5. Random Effects 설정:
    • class_id를 오른쪽 Random Coefficients 박스로 이동 (Intercept만 넣어서 Random Intercept Model 구성).

분석 결과 해석 (예시)

EffectEstimateSEzp
Fixed Effects
knowledge0.520.0510.4<.001
teacher_passion0.680.088.5<.001
Thresholds
LowMedium-1.05
MediumHigh0.98
  • 해석:
    • Knowledge (0.52): 학생의 사전 지식이 1단위 높을수록 더 높은 만족도 범주(예: 보통 이상, 만족)에 속할 로그 오즈(log-odds)가 0.52만큼 증가합니다. 즉, 지식이 많을수록 수업에 만족할 확률이 높습니다.
    • Teacher Passion (0.68): 선생님의 열정이 높을수록 학생들의 만족도가 통계적으로 유의하게 높아집니다.
    • Random Effect: 학급 간 만족도의 차이(분산)를 보여줍니다.

5. 명목형 반응 변수 분석 (Nominal Response Models)

이론: 다항 로짓 모형 (Multinomial Logit Model)

여기서는 순서가 없습니다. 특정 카테고리(Reference Category)를 기준으로 다른 카테고리를 선택할 확률을 비교합니다.

πijm=exp(xijβm+zijujm)r=1Mexp(xijβr+zijujr)\pi_{ijm} = \frac{\exp(x_{ij}’\beta_m + z_{ij}’u_{jm})}{\sum_{r=1}^M \exp(x_{ij}’\beta_r + z_{ij}’u_{jr})}

여기서 중요한 점은 회귀계수 β\beta가 카테고리(mm)마다 다르다는 것입니다. 즉, 남학생(xx)이 미술반을 선택할 확률과 축구반을 선택할 확률에 미치는 영향력은 다릅니다.

jamovi 실습 가이드

아쉽게도 jamovi의 GAMLj조차 현재(2024년 기준) 명목형 다층모형(Multinomial Mixed Model)은 지원이 제한적일 수 있습니다. 이 경우 R의 mclogit 패키지를 사용하는 것이 정석입니다. 여기서는 R 코드로 분석하는 법을 보여드립니다.

R

# [R Code] 명목형 다층모형 분석
library(mclogit)

# 데이터 불러오기 (위에서 생성한 데이터)
df_nom <- read.csv("chap16-2.csv")
df_nom$club_choice <- as.factor(df_nom$club_choice)
df_nom$school_id <- as.factor(df_nom$school_id)

# 모델 적합 (Baseline: Science)
# mblogit: Baseline-category logit model for multiphase data
fit_nom <- mblogit(club_choice ~ gender + budget, 
                   random = ~1|school_id, 
                   data = df_nom)

summary(fit_nom)

분석 결과 해석 (예시)

결과는 “Science(과학반)” 대비 다른 반을 선택할 확률로 나옵니다.

  1. Response: Art vs. Science
    • Gender (Est: 0.48): 남학생일수록(1), 과학반보다 미술반을 선택할 확률이 높음 (가상 데이터 설정에 따름).
    • Budget (Est: 0.32): 예산이 많을수록 과학반보다 미술반 선택 확률 증가.
  2. Response: Sports vs. Science
    • Gender (Est: 1.25): 남학생일수록 과학반 대비 스포츠반을 선택할 확률이 매우 높음.
    • Budget (Est: -0.21): 예산이 많을수록 스포츠반보다는 과학반을 선호하는 경향이 생김.

6. 심화: 전문가를 위한 팁 (Advanced Topics)

1) 척도 이질성 (Scale Heterogeneity)

어떤 학생들은 좋고 싫음이 분명해서 1점 아니면 5점을 줍니다(분산이 큼). 어떤 학생들은 우유부단해서 3점 근처만 맴돕니다(분산이 작음). 이처럼 응답의 분산(Scale) 자체가 사람마다 다를 수 있다는 것을 모형에 포함시키는 것을 ‘위치-척도 모형(Location-Scale Model)’이라고 합니다.

  • 수식: σϵijexp(wijγ)\sigma_{\epsilon_{ij}} \propto \exp(-w_{ij}’\gamma).
  • 이것을 고려하면 그룹 간 차이를 더 명확하게 설명할 수 있습니다.

2) 잠재 집단 (Latent Classes)

모든 학생이 같은 회귀 계수를 가진다고 가정하는 대신, 데이터 안에 숨겨진 서로 다른 집단(Latent Class)이 있다고 가정할 수 있습니다.

  • 예: “운동 매니아 그룹”은 성별이 동아리 선택에 큰 영향을 미치지만, “학구파 그룹”은 성별 영향이 거의 없을 수 있습니다.
  • 이런 접근은 혼합 모형(Mixture Model)을 통해 분석 가능합니다.

요약 및 결론

  1. 교육 현장의 데이터는 연속형보다 범주형(만족도, 선택 등)이 많습니다.
  2. 서열형 데이터는 “누적 로짓 모형”을 사용하며, 문턱(Threshold)을 넘는 개념으로 이해하면 쉽습니다.
  3. 명목형 데이터는 “다항 로짓 모형”을 사용하며, 기준 카테고리 대비 다른 대안을 선택할 효용(Utility)을 비교합니다.
  4. 분석 도구로 jamovi (GAMLj)R (mclogit)을 활용하면, 학생과 학교의 다층 구조를 반영한 정확한 분석이 가능합니다.

오늘 배운 내용을 통해 단순한 점수 비교를 넘어, 학생들의 “선택”과 “마음”을 더 깊이 이해하는 연구자가 되시길 바랍니다!


참고문헌 (APA Style)

  • Agresti, A. (2002). Categorical data analysis (2nd ed.). Hoboken, NJ: John Wiley & Sons.
  • Agresti, A., Booth, J. G., Hobert, J. P., & Caffo, B. (2000). Random-effects modeling of categorical response data. Sociological Methodology, 30, 27-80.
  • Hedeker, D., & Gibbons, R. D. (1994). A random-effects ordinal regression model for multilevel analysis. Biometrics, 50, 933-944.
  • Hedeker, D., Berbaum, M., & Mermelstein, R. (2006). Location-scale models for multilevel ordinal data: Between-and within-subjects variance modeling. Journal of Probability and Statistical Science, 4(1), 1-20.
  • Vermunt, J. K. (2013). Categorical response data. In M. A. Scott, J. S. Simonoff, & B. D. Marx (Eds.), The SAGE handbook of multilevel modeling (pp. 287-308). Thousand Oaks, CA: SAGE Publications.