Yamarae 2017. 7. 19. 02:04

일반적인 회귀분석이나 분산분석은 종속변수, 즉 Y값이 정규분포이다.


하지만 실전에서는 항상 대상의 분포가 정규분포를 따르지는 않는다. 뿐만 아니라 종속변수 자체가 연속형이 아니라 범주형일 수도 있다.


이러한 모든 경우를 포함하는 모형을 일반화 선형 모형(Generalized Linear Model)이라고 한다.




만약 종속변수가 이항분포를 따르는 범주형 데이터라고 한다면 로지스틱 회귀 기법을 이용하는 것이 일반적이다. 


하지만 이는 언제든지 변할 수 있고, 유동적이어야 한다. 목표로 하는 데이터의 형태에 따라 분석기법이 달라질 수 있기 때문이다,


요지는, 종속변수가 어떠한 분포의 형태를 띠는지에 따라 알고리즘이 변해야 한다는 것이다.


관찰하고자 하는 대상의 형태를 자세히 보지 않고서 알고리즘을 결정하는 것은 매우 섣부른 판단이 된다.




특정한 상황이나 종속 대상에 대해서 행하는 알고리즘이 통상적으로 정해져 있다고 해도, 대상의 분포를 살펴보는 것은 역시나 중요하다.


예를 들어 대상이 이항 범주형인 데이터에 대해 예측을 수행하고자 한다면, 로지스틱 회귀를 사용하는 것이 일반적인 생각일 것이다.


물론 이 생각은 틀린 생각이 아니지만, 데이터를 조금 더 자세히 살펴볼 필요성이 있다는 것이다.


만약 대상 데이터의 분포가 이항 분포에서 많이 벗어난 상황, 예상되는 이항 분포보다 분산이 높은 상황. 즉 과산포(Overdispersion)가 일어난 경우를 생각해보자.




이때 데이터 분석가가 사용하는 알고리즘이 달라진다. 분명 대상은 이항 범주에 속하지만, 대상의 분포는 이항 분포가 아니기 때문에,


일반적인 로지스틱 회귀 기법을 이용할 수가 없는 것이다.


만약 R을 이용하여 프로그래밍을 한다고 했을 때, 분석가는 glm의 파라미터를 원래대로라면 binomial로 했었겠지만, 과산포가 일어난 경우에는 quasibinomial 파라미터를 사용해야 한다.


과산포가 일어난것을 발견하는 방법은 분석을 통해 발견하는 방법(binomial, quasibinomial 두개의 파라미터를 모두 진행한 뒤 각각의 모델에서 나온 residuals 등을 독립성 검정하는 등의 방법)과, 대상 데이터의 전체적인 분포 모양을 보는 방법이 있다.


물론 후자는 수학적 베이스의 지식이 상당해야 얻을 수 있는 insight지만, 이러한 훈련을 하는 것이 바람직할 것 같다.