일반화선형모형(GLM)
결과변수의 분포에 맞는 모형으로 변수 사이의 관계를 분석합니다.
연령이 높을수록 의료비는 늘어날까요? 만성질환이 있는 환자와 없는 환자는 다른 조건이 같아도 평균 의료비가 다를까요? 이러한 질문은 회귀분석으로 다룰 수 있지만, 의료비 자료의 특성부터 고려해야 합니다.
의료비는 0보다 큰 값이며, 대부분은 비교적 적은 비용을 지출하지만 일부는 훨씬 큰 금액을 기록할 수 있습니다. 이처럼 오른쪽으로 치우친 결과변수에는 일반적인 선형회귀보다 적절한 확률분포를 고려한 모형이 유용할 수 있습니다.
일반화선형모형(GLM)은 결과변수의 조건부 평균을 설명변수와 연결하면서, 자료에 맞는 확률분포와 연결함수를 선택할 수 있도록 만든 회귀분석의 틀입니다. 이항 로지스틱 회귀와 포아송 회귀도 이 틀에 속합니다.
이번 가이드에서는 다른 페이지에서 다룬 로지스틱·포아송 회귀를 반복하기보다, 감마 GLM으로 의료비를 분석하는 사례를 따라가며 분포 선택, 로그 연결함수, 계수 해석과 모형 진단을 살펴봅니다.
일반화선형모형(GLM)이란 무엇인가요?
결과변수의 특성에 맞춰 확률분포와 연결함수를 선택하는 회귀모형입니다.
일반화선형모형(Generalized Linear Model, GLM)은 선형회귀의 기본 구조를 확장한 분석 방법입니다. 하나 이상의 설명변수가 결과변수의 조건부 평균과 어떤 관계가 있는지 추정한다는 점은 같지만, 결과변수가 반드시 정규분포를 따른다고 가정하지는 않습니다.
예를 들어 환자의 의료비는 0보다 큰 값에 집중하면서 일부 환자에게 매우 높은 금액이 나타날 수 있습니다. 이러한 자료에 단순 선형회귀를 적용하면 오차의 분포와 평균·분산 관계가 맞지 않거나, 음수의 예측값이 나올 수 있습니다. 이때 양의 연속형 자료에 적합한 감마 분포를 검토할 수 있습니다.
GLM은 왜 필요한가요?
의료비·발생 횟수·발생 여부는 결과값의 분포가 서로 다르기 때문입니다.
회귀분석이라고 해서 모든 결과변수를 같은 방식으로 다룰 수는 없습니다. 시험 점수처럼 대체로 연속적인 값, 한 달 동안 발생한 사고 건수, 서비스 해지 여부, 의료비는 관측되는 값의 범위와 변동 방식이 다릅니다.
| 자료의 형태 | 대표 분포·연결함수 | 예시 |
|---|---|---|
| 연속형, 대칭적인 값 | 정규분포 · 항등 | 시험 점수 |
| 0 또는 1 | 이항분포 · 로짓 | 서비스 해지 |
| 0 이상의 사건 수 | 포아송분포 · 로그 | 월별 사고 건수 |
| 0보다 큰, 오른쪽으로 치우친 값 | 감마분포 · 로그 | 환자 의료비 |
GLM은 어떤 원리로 작동하나요?
확률분포, 선형예측자, 연결함수를 함께 지정합니다.
GLM에는 세 요소가 있습니다. 첫째, 결과변수의 조건부 분포를 선택합니다. 둘째, 설명변수로 선형예측자 β₀ + β₁X₁ + …를 구성합니다. 셋째, 연결함수(link function)를 통해 조건부 평균 μ와 선형예측자를 연결합니다.
이번 예제에서는 log(μ) = β₀ + β₁X₁ + β₂X₂ + β₃X₃ 형태를 사용합니다. 따라서 μ는 exp(선형예측자)로 계산되며, 설명변수의 계수를 지수화하면 다른 조건이 같을 때 예상 의료비의 배율을 나타냅니다.
실제 사례: 환자의 연간 의료비 분석
연령과 만성질환 여부, 외래 방문 횟수를 고려해 예상 의료비를 추정합니다.
가상의 환자 240명에 대해 1년 의료비와 연령, 만성질환 여부, 외래 방문 횟수를 관찰했다고 가정하겠습니다. 의료비는 모두 양수이고 일부 환자에게 높은 비용이 나타나므로, 감마분포와 로그 연결함수를 사용한 GLM을 적용했습니다.
| 변수 | 역할 | 예시 |
|---|---|---|
| 연간 의료비(USD) | 결과변수 | $1,280 / $2,650 / $4,130 |
| 연령 | 설명변수 | 25~75세 |
| 만성질환 유무 | 설명변수 | 없음 / 있음 |
| 외래 방문 횟수 | 설명변수 | 연 1~5회 |
표본과 값은 학습을 위해 생성한 가상 자료입니다. 실제 환자 기록을 사용하지 않았습니다.
왜 감마 GLM을 선택했나요?
값이 양수이고 분산이 평균 수준에 따라 증가할 수 있는 연속형 결과에 적합합니다.
감마 GLM은 양수의 연속형 결과를 다룰 때 자주 검토합니다. 의료비, 입원 기간, 서비스 처리 시간처럼 0보다 큰 값이고 오른쪽 꼬리가 긴 자료가 대표적입니다. 감마분포에서는 조건부 분산이 평균의 제곱에 비례하는 형태로 표현됩니다.
단, 의료비에 0이 포함된다면 표준 감마 GLM을 그대로 적용하기 어렵습니다. 지출 여부와 양수 지출액을 나누는 2단계 모형이나 다른 분포를 검토해야 합니다. 의료비 자료라는 이유만으로 감마 GLM이 항상 최선인 것은 아닙니다.
로그 연결함수는 계수 해석을 어떻게 바꾸나요?
지수화한 계수는 평균의 변화량이 아니라 배율을 나타냅니다.
로그 연결함수에서는 계수 β를 지수화한 exp(β)를 읽는 것이 편리합니다. 나머지 조건이 같을 때 설명변수가 한 단위 증가하면 예상 의료비는 exp(β)배가 됩니다.
예를 들어 연령이 10세 증가할 때 배율이 1.14라면, 예상 의료비가 약 14% 높다는 뜻입니다. 이는 모든 환자의 실제 의료비가 정확히 14% 증가한다는 의미가 아닙니다. 범주형 변수는 기준 범주와의 비교로 해석합니다.
GLM 결과표는 어떻게 읽나요?
회귀계수와 지수화 계수, 신뢰구간, p값을 함께 확인합니다.
| 설명변수 | β | exp(β) | 95% 신뢰구간 | p값 |
|---|---|---|---|---|
| const | 7.242 | 1397.50 | 1287.00–1517.48 | < .001 |
| 연령(10세) | 0.091 | 1.10 | 1.05–1.14 | < .001 |
| 만성질환(있음) | 0.278 | 1.32 | 1.17–1.48 | < .001 |
| 외래방문(회) | 0.075 | 1.08 | 1.04–1.12 | < .001 |
가상 데이터에 감마 GLM(로그 연결함수)을 실제 적합한 결과입니다. HC3 강건 표준오차를 사용했습니다. 연령은 10세 증가 기준, 외래 방문은 1회 증가 기준입니다. 절편은 중심화한 변수와 기준 범주 조건에서의 값입니다.
해석할 때는 우선 배율이 1보다 큰지 작은지 확인하고, 신뢰구간이 1을 포함하는지 살펴봅니다. p값만으로 의료비 차이의 실질적 크기까지 판단하지는 않습니다.
예측 의료비는 어떻게 비교하나요?
조건을 고정하고 관심 변수만 바꾸면 예상 평균을 비교할 수 있습니다.
그래프는 다른 변수를 같은 값으로 유지한 상태에서 연령과 만성질환 여부가 달라질 때 모형이 예상하는 연간 의료비입니다. 로그 연결함수를 사용하므로 연령에 따른 예측 평균은 원래 의료비 단위에서 곡선 형태로 나타날 수 있습니다.
그래프의 두 선은 개별 환자의 실제 비용이 아니라 각 조건에서의 조건부 평균입니다. 예측 구간과 실제 비용의 퍼짐은 별도로 평가해야 합니다.
모형 적합도와 진단은 어떻게 하나요?
분포와 연결함수의 적절성을 진단하고 과도한 영향력을 가진 관측치를 확인합니다.
GLM에서는 잔차 이탈도(deviance), Pearson 잔차, 예측값과 잔차의 관계, 영향력 있는 관측치 등을 함께 확인합니다. 표준화된 Pearson 잔차가 예측 평균에 따라 일정한 패턴을 보인다면 분산 구조를 다시 검토해야 합니다.
| 확인 항목 | 점검 목적 |
|---|---|
| 이탈도와 잔차 패턴 | 체계적인 오차가 남아 있는지 확인 |
| 평균–분산 관계 | 선택한 분포가 변동성을 설명하는지 확인 |
| 극단값·영향력 | 소수 관측치가 계수에 크게 영향을 주는지 확인 |
| 대안 모형 비교 | 적합도와 해석 가능성을 함께 평가 |
단순히 이탈도가 낮다는 이유만으로 모형이 타당하다고 볼 수는 없습니다. 관측 구조와 데이터 수집 과정을 함께 고려해야 합니다.
다른 분석과 어떻게 다른가요?
GLM은 여러 모형을 포괄하며, 로지스틱·포아송 회귀는 그 안의 대표적인 사례입니다.
| 방법 | 주요 결과변수 | 핵심 차이 |
|---|---|---|
| 선형회귀(정규 GLM) | 대체로 연속형 | 평균과 설명변수의 선형 관계 |
| 이항 로지스틱 회귀 | 0/1 | 이항분포와 로짓 연결 |
| 포아송 회귀 | 사건 발생 횟수 | 카운트와 로그 연결 |
| 음이항 회귀 | 과산포된 사건 수 | 포아송보다 유연한 분산 구조 |
| 감마 GLM | 양수 연속형 | 양의 지출·시간 등에 활용 |
포아송 회귀나 이항 로지스틱 회귀를 GLM과 완전히 별개의 원리로 보아서는 안 됩니다. 반면 음이항 회귀는 흔히 GLM 형태로 구현되지만, 사용하는 음이항 모형과 분산 모수 추정 방식에 따라 구현 방법이 달라집니다.
분석 전에 무엇을 확인해야 하나요?
자료의 단위와 독립성, 결과변수의 범위, 모형 형태를 확인합니다.
먼저 결과변수가 실제로 양수인지, 0이 얼마나 있는지 살펴봅니다. 이어 환자별 관측이 독립적인지 확인합니다. 같은 환자를 반복 관찰한 자료라면 상관 구조를 고려하는 GEE나 혼합모형 등 다른 접근이 필요할 수 있습니다.
연령의 효과가 반드시 선형예측자에서 직선 관계를 갖는지도 확인해야 합니다. 필요한 경우 스플라인 또는 변환을 사용하며, 설명변수 간 높은 상관과 특정 관측치의 큰 영향도 점검합니다. 표본 크기는 추정할 계수 수와 자료의 분포를 함께 고려해야 합니다.
결과는 논문이나 보고서에 어떻게 작성하나요?
분포와 연결함수, 표본 수, 계수의 해석 단위를 함께 보고합니다.
분석 방법의 이름만 쓰기보다 감마분포와 로그 연결함수를 사용한 이유를 먼저 밝힙니다. 그다음 표본 수, 설명변수의 단위와 기준 범주, 지수화 계수, 신뢰구간, 검정 결과, 진단 내용을 제시합니다.
환자 240명의 연간 의료비와 연령, 만성질환 여부 및 외래 방문 횟수의 관계를 분석하기 위해 로그 연결함수를 사용한 감마 일반화선형모형을 적합하였다. 연령은 10세 단위로 변환하였으며, 회귀계수는 지수화하여 평균 의료비의 배율로 보고하였다. 계수의 불확실성은 HC3 강건 표준오차를 바탕으로 평가하였다.
이 문장은 분석 방법을 소개하는 예시입니다. 실제 보고서에는 결과표의 수치와 데이터 진단 결과를 연결해 추가해야 합니다.
GLM은 어디에 활용할 수 있나요?
연구 질문에 맞는 분포와 연결함수를 선택하는 것이 출발점입니다.
의료·보건 연구에서는 의료비와 진료 횟수, 임상 사건 발생 여부를 분석할 수 있습니다. 기업에서는 고객 이탈 여부와 서비스 이용 횟수, 운영 분야에서는 처리 시간과 사고 발생 수를 다룰 수 있습니다. 중요한 것은 같은 GLM이라는 이름 아래 모든 결과를 동일하게 해석하지 않는 것입니다.
분석을 시작할 때는 결과변수가 어떤 값들을 가질 수 있는지 확인하고, 그다음 연구 질문에 맞는 확률분포와 연결함수, 진단 방법을 선택하세요. 이 과정이 적절한 모형을 만드는 첫 단계입니다.
결과변수의 특성에 맞는 회귀모형을 고르기
GLM에서는 어떤 분포와 연결함수를 선택했는지가 해석의 출발점입니다.
일반화선형모형은 선형회귀의 구조를 유지하면서 이항형, 카운트형, 양수 연속형 등 다양한 결과변수를 분석할 수 있게 해 줍니다. 이번 감마 GLM 사례에서는 연령·만성질환·외래 방문 횟수가 의료비의 조건부 평균과 어떤 관계가 있는지 로그 연결함수로 살펴봤습니다.
분석 결과에서는 계수의 유의성만 보지 말고 지수화 계수의 크기와 신뢰구간, 예측 평균, 분포 및 잔차 진단을 함께 확인해야 합니다. GLM이라는 이름 하나보다 자료에 맞는 모형을 선택하고 그 모형의 해석 범위를 지키는 것이 중요합니다.
GLM은 결과변수의 분포와 연결함수를 선택하여 조건부 평균을 분석하는 회귀모형의 틀입니다. 양수이고 오른쪽으로 치우친 의료비에는 감마 GLM을 검토할 수 있으며, 로그 연결함수의 지수화 계수는 예상 평균의 배율로 해석합니다. 분포 적합성, 잔차, 영향력 있는 관측치를 확인한 뒤 결론을 내려야 합니다.