## 필요한 패키지 설치 (필요시)
## install.packages("sandwich")
## install.packages("lmtest")
## install.packages("nlme")
#
## 데이터 불러오기
#library(nlme)
#data(Orthodont) # 치아 성장 데이터 (클러스터: Subject)
#Orthodont$binary <- ifelse(Orthodont$distance > 25, 1, 0) # 이항 변환
#
## 기본 GLM (로지스틱 회귀)
#glm_fit <- glm(binary ~ age + Sex,
# data = Orthodont,
# family = binomial)
#summary(glm_fit)
## 클러스터-로버스트 표준오차 (Subject 기준)
#library(sandwich)
#library(lmtest)
#cluster_se <- vcovCL(glm_fit, cluster = ~ Subject)
#coeftest(glm_fit, vcov = cluster_se) # 결과 출력
들어가며
2장에서는 1장에서 다룬 기본 linear regression에서 link function을 도입하여 regression의 개념을 outcome of single yes/no, outcome of single K-way, count 등 non-normal한 종속변수로 확장한 Generalized linear model의 개념을 Exponential Family, Link Function와 같은 핵심개념과 함께 깊게 살펴보며, model의 parameter를 estimate하는 알고리즘인 IRLS(Fisher scoring) 집중적으로 estimation methods를 소개합니다. 이후, HC standard errors의 clustered data 버전인 Cluster-robust standard error를 보고 마치겠습니다.
1. Generalized Linear Models (GLMs)
1.1. Linear Model 한계
1장에서 본 Linear Regression Model은 (1) 선형성(Linearity) 가정, (2) 오차항의 정규성(Normality) 가정, (3) 오차항의 독립성(Independence) 가정, (4) 오차항의 등분산성(Homoscedasticity) 가정에서 비롯된 모델이었고, Heteroskedasticity-Consistent Standard Errors (HC Standard Errors)를 통해 오차항의 등분산성(Homoscedasticity) 가정이 깨진 data에 대해서도 Linear model로부터 얻은 모델 parameter의 분산을 robust하게 추정할 수 있었습니다. 그러나, 위에서 언급하였듯 outcome of single yes/no, outcome of single K-way, count 등 많은 data는 반응 변수 Y가 정규분포를 따르지 않거나 등분산성 가정, 선형성에 위배됩니다. 각각에 대해서 좀 더 설명하자면, 어떤 사건이나 행동이 일어나거나 그렇지 않은 경우를 고려하는 이진 데이터(binary data, outcome of single yes/no)의 경우,
이러한 데이터의 경우 단순히 독립변수의 선형결합 형태, 또는 기하학적으로는 Hyper plane 형태로 모델을 만들면, 비선형적인 (이진 데이터 등) 위 같은 경우에 대해서는 올바르게 고려하지 못할 것입니다. 이러한 기존의 Linear Regression 모델의 한계를 극복하고, (종속변수의) 다양한 형태의 데이터를 모델링하기 위해 여러 함수를 설계함으로써 유연성을 확장한 Generalized Linear Models이 개발되었습니다. Generalized Linear Models(GLMs)의 중요 구성 요소들과 원리를 간략히 설명해보자면, 선형 결합으로 바로 종속변수를 예측하는 대신, non-linear한 Link Function에 넣어 최종적으로 예측함으로써 non-linear한 종속변수에도 fit 할 수 있고, 이에 따라 종속변수의 분포가 정규분포가 아닌 다른 분포(Exponential Family)도 포함할 수 있도록 하였으며, 이 Exponential Family와 Variance function구성은 종속변수의 분산이 모델의 예측값(종속변수의 mean)마다 다를 수 있도록 합니다. 이를 통해 Generalized Linear Models는 위 네 개의 Linear Regression 가정 중 (1) 선형성(Linearity) 가정, (2) 오차항의 정규성(Normality) 가정, (4) 오차항의 등분산성(Homoscedasticity) 가정을 깼으며, 위에서 Linear Model의 한계로 언급한 데이터들을 고려할 수 있는 모델입니다.
1.2. GLM 정의 및 수학적 표현
GLM은 세 가지 구성 요소 (Random component, Systematic component, Link function)으로 정의 되며, 이때 Random component는 Y를 Exponential Family로, Systematic component는 Linear predictor와 Link function으로 구성됩니다. 어떻게 Generalized Linear Models가 설계되었는지 component들을 하나하나 자세히 다뤄보겠습니다.
Linear predictor
Linear predictor
Link function (링크 함수)
Link function
Variance function (분산 함수)
분산 함수는 평균
여기서
Exponential Family
GLM은 종속변수의 분포로 Gaussian(또는 정규분포)를 포함한, 더욱 general한 Exponential Family을 고려하며, 이 분포는 다음과 같은 일반 형태를 가집니다.
즉 GLM은 LM과 다르게 linear predictor, link function, variance function을 설계함으로써 종속변수가 더욱 general한 분포인 exponential family distribution인 경우에도 잘 mapping할 수 있도록 하는 모델이라고 볼 수 있습니다. 위 식에서 의미론적으로 각 parameters를 해석하면
다음으로 넘어가기 전에 간단하게 잘 알려져있는 Exponential Family의 예시인 정규분포, 이항분포, 포아송분포, 감마분포가 이에 포함됨을 확인해보겠습니다.
(1) 정규분포 (Normal Distribution)
정규분포의 확률밀도함수는 다음과 같습니다:
- Canonical parameter:
, - Dispersion parameter:
, -
, -
, -
, -
.
(2) 이항분포 (Binomial Distribution)
이항분포의 확률질량함수는 다음과 같습니다:
- Canonical parameter:
, - Dispersion parameter:
, -
, -
, -
, -
.
(3) 포아송분포 (Poisson Distribution)
포아송분포의 확률질량함수는 다음과 같습니다:
- Canonical parameter:
, - Dispersion parameter:
, -
, -
, -
, -
.
(4) 감마분포 (Gamma Distribution)
감마분포의 확률밀도함수는 다음과 같습니다:
- Canonical parameter:
, - Dispersion parameter:
, -
, -
, -
, -
.
위에서
Canonical Link
Canonical link는 GLM에서 통계적 성질을 최적화하기 위해 사용되는 링크 함수(link function)로, 다음과 같이 정의됩니다:
아래에서 확인하겠지만, Binomial 분포의 경우 canonical link는 logit 함수이고, Poisson 분포의 경우 canonical link는 log 함수이며, Canonical link를 사용하면 MLE(Maximum Likelihood Estimation) 과정이 단순화되고, efficient한 추정치를 얻을 수 있기 때문에 link function은 거의 항상 Canonical link로 정의합니다. 또한, canonical하지 않은 link function의 경우에도 위 Exponential Family distribution에서 식 조작을 통해 canonical link 형태를 만들 수 있습니다.
1.3. GLM 예시
위 철학에 따라, data가 따르는 Exponential Family 중 특정 분포가 정해지면, 이에 해당하는 보통 사용하는 Link function(Canonical link), Variance function가 정해져 있고 결국 모델이 특정되며, GLM은 이렇게 특정될 수 있는 모든 모델에서 공통적으로 parameter와 그 variance를 추정해내는 general한 모델이라고 생각할 수 있습니다. 여기에서 다루지는 않겠지만, 사실 특정한 형태의 data에서 가능한 link function은 여러 개이며, 이에 따라 variance function도 여러 가지가 가능할 수 있습니다. 그러나 효율성과 computation cost를 고려하여 보통 사용되는 function forms는 정해져 있다고 알아두시면 좋을 것 같습니다. 아래 예시 중 대표적으로 Binomial 예시에서는 link function이 0 이상 1 이하의 정의역에서 실수 전체(for linear predictor)를 map할 수 있는 미분 및 역이 가능한 함수이면 되지만, 보통 logit function이 사용됩니다. 헷갈릴 수 있지만 아래 Exponential Family 중 친숙한 분포의 예시를 직관적인 관점에서 고려하여 위에서 얻은 Exponential Family의 form과 같은 결과가 나옴을 보시면 좋을 것 같습니다.
아래의 예시에서 linear predictor는 공통이므로 미리 정의하고 각각의 link function, variance function은 어떻게 특정되는지를 보겠습니다.
where
Binomial Case
Binomial Data, 즉 종속변수가
이 식은 위에서 확인한 이항분포의 canonical parameter와 같은 형태임을 알 수 있습니다.
Poisson Case
Poisson Data, 즉 종속변수가
2. GLMs 추정
위 내용들을 통해서 GLMs가 어떻게 비정규분포를 갖는 종속변수를 고려해서 잘 작동하며, 어떠한 함수(Link function, Variance function, Exponential Family, Canonical Link)가 어떠한 수식과 철학으로 GLM을 구성하고 있는지 확인할 수 있었습니다. GLMs은 거의 대부분의 고려 가능한 data 분포가 Exponential Family를 따르며, 이에 대해 일관적인 form과 parameter estimation이 가능하기 때문에 아주 powerful한 Regression Model입니다. 그러나 어떻게 Exponential Family를 따르는 data를 다룰 수 있는지는 확인할 수 있었지만, 어떻게 Regression Model의 parameter와 그 분산을 추정할 수 있는지는 다루지 않았습니다. Linear Model에서는 closed-form solution을 쉽게 찾을 수 있었지만, GLM은 대부분의 경우(있는 경우도 있습니다.) 이러한 closed-form이 없어 컴퓨터 프로그램으로 여러 번에 걸쳐 추정할 수 있도록 알고리즘을 구현하여 이를 추정합니다. 실제로 이 estimation의 수식과 실제 구현 과정을 다루기 위해서는 긴 증명 과정을 거치는데, 최대한 중요한 부분은 빠지지 않으면서 증명해보겠습니다. 우선, MLE로 모델을 추정하는 과정을 증명하기 위해 필요한 두 가지 유용한 성질을 살펴보겠습니다. (Derivatives of Log Likelihood’s, Exponential Family 성질)
2.1. Derivatives of Log Likelihood’s 성질
확률변수
-
첫 번째 도함수:
-
두 번째 도함수:
이때, 이 두 함수들은 다음 관계식이 성립합니다.
이를 증명해보겠습니다. 의지를 잃지 않기 위해 위 식들의 의미를 스포하자면, MLE를 통해 모델을 추정할 때 보통 log likelihood를 모델의 parameter로 미분한 식이 0(또는 영벡터)이 되도록 하는 parameter를 찾음으로써 이를 수행하는데, 첫 번째 식은 이 미분한 식(score function)의 기댓값(평균)이 0이라는 의미이고, 두 번째 식은 첫 번째 식에서 mean이 0이었으므로 왼쪽항의 제곱 안에 -0을 넣어주면
가 되어 분산 term이 되고, 따라서 분산은 이차 도함수의 기댓값의 음수와 같다는 의미입니다. 이러한 성질들을 이용해서 앞으로 Likelihood 기반의 다양한 모델 추정을 수행할 수 있게 됩니다.
(1) Prove
우선, 확률 분포는 모든 범위에서의 적분 또는 누적합이 1이므로,
입니다. 이제 양변을
입니다. 여기서 수학적 증명 과정에서 굉장히 자주 사용되는 skill
(2) Prove
동일한 논리를 따라 위 식을 한 번 더 미분하면,
입니다. 두 함수의 곱 형태의 미분이며 둘 다
이고, 따라서 아래 식이 증명되었습니다.
위 증명 과정에서 미분과 적분 연산자의 교환을 정당화하는 과정의 설명이 생략되었지만 exponential family에선 문제가 없고, Y가 discrete한 경우는 적분을 누적합으로 바꿔주면 된다고 얘기해두며 마무리 하겠습니다. 또한, 위 증명에서는
2.2 Exponential Family 성질
이번에는 위에서 증명한 수식을 통해서 Exponential Family를 소개할 때 언급한
첫 번째 도함수 (Score Function):
두 번째 도함수 (Observed Information):
이 두 함수를 통해서 위에서 유도한 두 공식을 활용하면 다음 두 수식을 얻을 수 있습니다.
증명한 수식을 다시 한 번 확인하면,
2.3. GLMs’ parameter 추정식 유도
이제 필요한 식이 준비되었으니, 위에서 계속 다루고 있는 log likelihood을 이용해서 MLE estimation으로 GLMs’ parameter을 추정하는 과정을 살펴볼 것입니다. 이때, 추정 과정은 계속 언급한대로 Exponential Family distribution을 따르는 종속변수에 대해서 log likelihood의 model parameter에 대해 미분한 식이 (parameter가 벡터이므로, 좀더 엄밀하게 정의해야 하지만, 의미는 같으니 이렇게 얘기하겠습니다.) 0이 되게 하는 parameter를 찾음으로써 수행되며, 이 때의 함수 (log likelihood의 1차 도함수)를 앞으로는 score function이라고 부르겠습니다.
우리는 MLE estimation을 통해 여러 Exponential Family distributions에 대해 통일된 estimation algorithm으로 parameter를 추정할 수 있습니다. (이러한 분포 가정 마저 없다면, 3장 GEE에서 보겠지만 분포에 대한 직접적 가정없이 cumulative generating function 등 몇 함수 만으로 Likelihood를 고려하는 Quasi-likelihood Estimation의 개념으로 이어집니다.)
주어진 data가
지금까지 우리는
식이 혼란스러울 수 있는데, 이는 단지 chain rule을 이용해서
이제 이 score function의 음의 미분(또는 분산)의 기댓값을 전개하면 다음과 같습니다.
위 term은 Fisher Information matrix라고도 부르며, 이 term이 분산의 기댓값인 이유를 생각해보면, 이전에 구한 derivatives of log likelihood의 성질들에 의해
이들을 한 번에 벡터와 행렬 연산으로 표현하면 다음과 같습니다:
이제 우리는 score function와 그 미분, 또는 log likelihood의 1차 도함수와 (negative) 2차 도함수의 추정식을 얻었습니다. 사실,
2.4. GLMs’ parameter 추정 (IRLS)
위에서 언급하였듯, GLM의 MLE estimation은 비선형 최적화 문제이기 때문에 공통된 framework에서 사용할 수 있는 closed-form solution이 존재하지 않으며, 대신 여러 최적화 방법을 사용할 수 있습니다. 뉴턴-랩슨 방법(Newton-Raphson Method)은 2차 도함수(Hessian Matrix)를 사용하여 score function을 수렴시키지만, Hessian Matrix
위에서 얘기한 IRLS(Iteratively Reweighted Least Squares) Algorithm는 이 Fisher Scoring의 알고리즘적 변형으로, Fisher Scoring의 식을 가중 최소제곱(Weighted Least Squares) 문제로 치환하여, 이 문제에서 사용하는 IRLS 알고리즘으로 GLM의 parameter 해를 구하는 method입니다. 우선 Newton-Raphson Method, Fisher Scoring에 대한 이야기를 간단하게 하고, 자세하게 어떻게 IRLS가 GLM의 parameter를 추정하는지 보겠습니다.
Newton-Raphson Method & Fisher Scoring
GLM (Generalized Linear Model)의 파라미터 추정을 위한 최적화 과정은 우선 log likelihood function의 최대화를 목적으로 합니다. 이때, Newton-Raphson Method와 그 변형인 Fisher Scoring은 모두 이를 위한 알고리즘입니다.
Newton-Raphson 방법은 다음과 같은 일반적인 업데이트 식을 갖습니다:
Newton-Raphson 방법은 어떠한 함수
이 방법이 작동하는 이유는 접선의 기울기
이정도로 간단하게 Newton-Raphson method를 이해할 수 있고, 다시 돌아와서 위 식에서는 multi-dimention 상황에서 해를 찾고 싶은 함수가 score function, 즉
Fisher Scoring은 Hessian 행렬 대신 Fisher Information 행렬
여기서
즉, Fisher Scoring 방법은 뉴턴-랩슨 방법(Newton-Raphson Method)에서 Hessian Matrix
IRLS (Iteratively Reweighted Least Squares) Algorithm
앞서, 2.3.에서 log likelihood의 gradient(1차 도함수, Score function)와 expected Hessian(Fisher Information matrix)가 각각
임을 보았습니다. 이 결과들을 Fisher Scoring method의 식에 대입하면,
이고, 이 equation은 가중 최소제곱 문제(Weighted Least Squares, WLS)의 parameter 추정식과 일치하기 때문에 비선형 GLM의 parameter 추정을 WLS problem으로 치환할 수 있음을 알 수 있습니다.
위의 업데이트 식은 아래 working response
아래와 같이 표현할 수 있습니다.
또 강조하지만, 이는 가중치 행렬
따라서 해당 정규방정식의
IRLS 구체적 절차
정리하자면, IRLS(Iteratively Reweighted Least Squares) 알고리즘은 위의 아이디어를 바탕으로 GLM의 최대우도추정 문제를 반복적으로 가중 최소제곱 문제로 전환하여 해결합니다. 구체적인 단계는 다음과 같습니다:
(1) 초기화: 초기 파라미터
(2) 현재 단계 계산:
(2.1) 예측값 계산: 현재 추정치
(2.2) 가중치 및 보조 행렬 계산: 정의한 식에 따라
을 계산합니다.
(2.3) Working Response 구성:
(3) 가중 최소제곱 문제 해결:
위의 working response와 가중치 행렬을 사용하여 정규방정식
(4) 수렴 판단 및 반복:
이 IRLS의 소프트웨어 구현에 대한 첨언을 하자면, 보통 IRLS에서는 각 단계마다 위 3단계와 같이 아래 정규방정식을 풉니다:
이때 직접
2.5. GLMs’ parameter Variance
앞서 IRLS(Iteratively Reweighted Least Squares) 알고리즘으로 GLM의 파라미터를 추정하는 과정을 살펴보았습니다. 이때 우리는 MLE(최대우도추정)을 IRLS(반복적으로 가중 최소제곱)문제로 전환하는 과정을 거쳤는데, 최종적으로 구해지는 추정치
여기서
즉, 실제 계산 시에는 아래와 같은 모양이 됩니다.
왜 최종적으로 추정된 모델의 분산이 수렴된 time step에서의 Fisher information matrix로 추정할 수 있는지에 대해서는 3장의 M-estimation에서 증명할 것입니다. 여기서 미리 강조할 것은, 위에서 얻는 분산의 추정값은 GLM에서의 기본 가정들이었던 독립성, 분산 함수의 형태 등이 성립한다는 조건 위에서 도출된 것이므로, 이러한 기본 가정이 어느 정도 엄격히 맞아떨어지는 상황(정확한 포아송 분포를 따르는 count data, 명시적으로 독립적인 개별 관측치 등)이라면 괜찮지만, 현실의 data에서는 이질분산, 클러스터 내 상관, 과산포(overdispersion) 등으로 인해 이 기본 가정들이 깨질 수 있습니다. 다행히도, GLM에서도 모델이 consist할 때(GLM의 위로부터 추정된 parameter 자체는 consist합니다.) HC(Heteroskedasticity-Consistent) se와, 아래에서 clustered data에서 고려할 수 있는 버전인 Cluster-robust standard errors를 사용하여 더욱 robust하게 분산을 추정할 수 있습니다. 때문에 아래에서는 Cluster-robust se를 OLS 버전으로 소개드린 후, GLM에서 사용하기 위해
3. Cluster-Robust Standard Errors
3.1. Clustered Data 정의
Clustered data란 데이터 내에서 동일 그룹에 속하는 관측치들이 상관관계를 가지는 경우를 의미합니다. 예를 들어, 한 환자의 여러 진료 기록이 서로 상관되어 있을 수 있습니다. 이 때, cluster간에는 상관관계가 없고 cluster 내의 데이터들은 상관관계가 있다는 가정하에 Cluster-robust standard errors나 3장의 GEE, GLMM model이 개발되었습니다. 의료 분석 상황의 예시로는 대표적으로 데이터의 각 환자 당 여러 시간 또는 주기에 걸쳐 측정한 데이터, 여러 학교나 병원과 같은 단체에서 얻은 데이터들을 한 번에 고려하는 경우가 있을 것입니다. 또한, cluster간에 상관관계가 있거나 cluster 안에 cluster가 있는 hierarchical의 경우도 있지만, 이에 대한 공식들은 위에서 고려하는 1차적인 상황을 이해하면 쉽게 이해할 수 있으며, 의료 분석에서 고려하는 피험자 내 관측치 간 상관관계, 병원 내 관측치 간 상관관계 등을 고려해야 하는 상황은 이번 블로그에서 이야기 할 1차적인 clustered 상황임을 알아두시면 좋을 것 같습니다. 이 observations간의 상관관계에 대한 이야기와, 이때 사용해야 하는 Regression Models에 대한 설명은 3장에서 GEE, GLMM과 함께 더욱 자세하게 다뤄볼 예정입니다.
확실한 것은, 비선형 분포를 추정할 수 있는 GLM이나, OLS에서 안정적인 parameter 분산 추정 method였던 HC(Heteroskedasticity-Consistent) 표준오차는 관측치 간의 독립성을 가정하였었고, 이는 위와 같은 data를 다룰 때에는 깨져야 하는 가정이라는 것입니다. 이제 설명드릴 Cluster-robust standard errors는 HC se와 형태가 매우 비슷하며, 같은 철학으로 clustered data에서 robust한 모델 분산 추정 method입니다. 이때 기억하셔야 할 부분은, 1장에서는 HC se의 안정성을 Linear Regression에 대해서 고려하였고 R의 sandwich 패키지를 통해 구현할 수 있음을 보았는데, 이번 장에서 다루고 있는 GLM에서도 이 HC se, Cluster-robust se를 모두 사용할 수 있다는 것입니다. 이때 식이 LM과 GLM에서 살짝 다른데, 우선 Linear Model에서의 Cluster-robust se에 대해서 설명드리고, GLM에서는 무엇이 다른지 보겠습니다.
실제 소프트웨어의 구현에 대해서 첨언하자면, R의 sandwich 패키지나 대부분의 패캐지에서는 이 두 robust 분산 추정의 계산 및 검정을 LM, GLM 모두에 사용 가능하고, 이 패키지들은 들어오는 모델의 객체가 LM, GLM임을 분류한 뒤 각각에 맞는 살짝 변형된 식으로 추정한다고 생각하시면 될 것 같습니다.
3.2. Cluster-robust standard errors 정의 및 수학적 표현
Cluster-robust standard errors는 클러스터 내 상관관계를 고려하여 분산을 추정합니다. 이를 통해 클러스터 간 독립성은 유지하되, 클러스터 내 관측치 간 상관관계가 존재할 때도 일관된 추정치를 제공합니다. LM에서 Cluster-robust standard error를 구하는 식은 다음과 같습니다:
위 식에서
3.3. Cluster-robust standard errors 수학적 표현
LM에서는 이전에 봤던대로 parameter의 분산을 유도하면 다음과 같습니다:
여기서
결과적으로 분산 추정량은 개별 관측치에 대해아래와 같이 계산하였었습니다.
이며, 위에서부터 얘기하고 있는
이에 대한 이해를 바탕으로 Cluster-robust se의 meat term을 생각해보면, Cluster-robust에서는 cluster간은 독립적이고, cluster안의 관측치들은 상관관계를 가질 수 있다고 가정하기 때문에 각 cluser에 대해서
즉, 여기서 각
위 Cluster-robust의 meat항에 대한 이해는 비슷하게 3장에서도 필요하기 때문에 예시를 통해 좀더 직관적으로 보여드리겠습니다. 우선 이 중앙항은 다음과 같고,
이는 행렬로 보면 위에서 보신
로 표현될 수 있으며, 결국 Cluster-robust의 중앙 term은
정리하자면, HC0는
Cluster-Robust 분산 추정량은 clusr별
3.4. In GLMs..
이미 위(3장에서) Cluster-robust standard errors가 어떤 원리로부터 유도되며, OLS 환경(Linear Model)에서의 공식이 어떻게 생겼는지 살펴보았습니다. 또한 HC(Heteroskedasticity-Consistent) se 역시 기본 가정(등분산, 독립성 등)이 약화되었을 때도 일관된 추정을 제공하기 위해 Robust(샌드위치) 분산 추정량을 쓰게 된다는 것을 보았습니다. GLM에서도 LM과 같이 위 두 robust한 분산 추정치 식을 사용하여 Fisher information matrix의 역행렬로 분산을 추정하는 대신, 더욱 안정적으로 분산을 추정할 수 있습니다. GLM의 경우, 단순 OLS와 달리
로 식이 구성되었습니다. GLM의 경우에는
여기서
클러스터링이 있는 데이터에 대하여, LM과 마찬가지로 GLM에서도 Cluster-robust se가 적용될 수 있습니다. 이미 섹션 3.2~3.3에서 보았듯, 클러스터 간에는 독립이지만 클러스터 내 관측치들 간에는 상관관계가 존재할 수 있으므로,
LM에서의 일반적 식은 다음과 같았습니다.
GLM에서는 동일한 철학으로, 단순히
와 같은 꼴이 됩니다(마찬가지로 패키지마다 표기 방식이나 구현 세부가 약간씩 다를 수 있습니다).각 항들 또한 한 번 더 설명하자면,
4. R 예시: GLM, Cluster-robust SE
아래 R 코드를 복사하여 로컬 환경에서 돌려보세요. GLM모델의 분산과 cluster-robust 분산을 비교하시면서 해석하면 됩니다.
마무리하며
이번 2장에서는 1장에서 다룬 Linear Model을 outcome of single yes/no, outcome of single K-way, count 등 non-normal한 종속변수에서도 분석할 수 있도록 확장한 Generalized linear model의 기본 개념과, 실제로 패키지에서 이 GLM의 parameter를 estimate할 때 사용하는 대표적인 알고리즘인 IRLS(Fisher scoring)을 수학적으로 상당히 깊게 살펴보았습니다. 이후, HC standard errors의 clustered data 버전인 Cluster-robust standard error를 보고, GLMs에서도 이 둘을 사용할 수 있다는 것을 밝힌 뒤 그 변형된 수식을 보았습니다. 다음 3장에서는 아직 깨지 못한 가정이었던 오차항의 독립, 즉 data(observations)간의 correlation이 존재하는 경우 자체를 모델에 반영하기 위해 개발된 모델들인 GEE, GLMM에 대하여 어느 정도 살펴보고 (GLMM의 내용은 너무 길어지기 때문에 얕게 다룰 것입니다.), 모델의 분산을 robust하게 추정하기 위한 가장 general한 형태의 Sandwich estimator를 M-estimation의 개념과 함께 공부할 것입니다.
Reuse
Citation
@online{seungjun2025,
author = {Seungjun, Lee},
title = {Exploring {Regression} {Models} for {Regression} {Analysis}
(2): {GLM,} {Exponential} {Family,} {Link} {Function,} {IRLS(Fisher}
Scoring), {Cluster-robust} Standard Error},
date = {2025-02-28},
url = {https://blog.zarathu.com/posts/2025-02-28-reg2/},
langid = {en}
}