Regression analysis
통계학에서, 회귀분석(回歸分析, 영어: regression analysis)은 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한뒤 적합도를 측정해 내는 분석 방법이다.
회귀분석은 시간에 따라 변화하는 데이터나 어떤 영향, 가설적 실험, 인과 관계의 모델링등의 통계적 예측에 이용될 수 있다. 그러나 많은 경우 가정이 맞는지 아닌지 적절하게 밝혀지지 않은 채로 이용되어 그 결과가 오용되는 경우도 있다. 특히 통계 소프트웨어의 발달로 분석이 용이해져서 결과를 쉽게 얻을 수 있지만 적절한 분석 방법의 선택이였는지 또한 정확한 정보 분석인지 판단하는 것은 연구자에 달려 있다.
회귀분석의 다양한 유형
회귀분석은 두 개 이상의 변수 사이에 유의미한 관계가 존재하는지 여부를 알려줄 뿐만 아니라 그 관계성에 대한 보다 구체적인 정보를 제공할 수 있다. 특히, 여러 변수가 종속 변수에 미치는 영향의 강도를 추정할 수 있다. 만약 한 변수(가령 가격)의 값을 변경하면 회귀분석을 통해 종속 변수(판매)에 어떤 영향을 미칠지 알 수 있다.
- 선형 회귀 (Linear regression)
- 머신러닝에서 가장 일반적인 회귀분석 유형이라고 할 수 있는 선형 회귀는 예측 변수와 종속 변수로 구성되며, 이 둘은 선형 방식으로 서로 연관지어져 있다. 선형 회귀는 위에서 설명한 대로 가장 적합한 선, 즉 최적적합선을 사용한다.
- 변수들이 서로 선형적으로 연결되어 있는 경우 선형 회귀를 사용한다. 광고 지출 증가가 판매에 미치는 영향을 예측할 때 등이 예가 될 수 있다. 그러나 선형 회귀분석은 특이치에 영향을 받기 쉬우므로 빅데이터 집합을 분석하는 데 사용해서는 안 된다.
- 로지스틱 회귀 (Logistic regression)
- 종속 변수에 이산 값이 있는 경우, 다시 말해 0 또는 1, 참 또는 거짓, 흑 또는 백, 스팸 또는 스팸 아닌 것 등의 두 가지 값 중 하나만 취할 수 있는 경우 로지스틱 회귀를 사용하여 데이터를 분석할 수 있다.
- 로지스틱 회귀는 S자형 곡선을 사용하여 대상 변수와 독립 변수 사이의 관계를 표시한다. 그러나 로지스틱 회귀 분석 방식은 대상 변수에서 거의 동일한 값이 발생하는 대규모 데이터 세트에서 가장 효과가 있다는 사실에 유의해야 한다. 이 경우, 변수들의 순위를 지정할 때 문제를 일으킬 수 있기 때문에 서로 상관성이 높은 독립 변수들이 데이터 집합에 포함되어서는 안 된다. (이것은 multicollinearity, 즉 다중공선성이라고 알려진 현상으로, 회귀 분석에서 사용된 모델의 일부 예측 변수가 다른 예측 변수와 상관 정도가 높아, 데이터 분석 시 부정적인 영향을 미치는 현상을 의미한다.)
- 리지 회귀 (Ridge regression)
- 그러나, 불가피하게 독립 변수들 사이에 높은 상관 관계가 있는 경우라면 리지 회귀가 더 적합한 접근방식이다. 다중 회귀라고도 불리는 리지 회귀는 정규화 또는 규제화(regularization) 기법으로 알려져 있으며 모델의 복잡성을 줄이는 데 사용된다. 또한 ‘리지 회귀 페널티’로 알려진 약간의 편향, 즉 바이어스(bias)를 사용하여 모델이 과대적합(overfitting)에 덜 취약하게 만든다.
- 라쏘 회귀 (Lasso regression)
- 라쏘 회귀는 리지 회귀와 같이 모델의 복잡성을 줄여주는 또 다른 정규화 기법이다. 회귀 계수의 절대 사이즈를 금지함으로써 복잡성을 줄인다. 리지 회귀와는 다르게 아예 계수 값을 0에 가깝게 만든다.
- 그 장점은 기능 선택을 사용할 수 있다는 것이다. 데이터 집합에서 기능 세트를 선택하여 모델을 구축할 수 있다. 라쏘 회귀는 필요한 요소들만 사용하고 나머지를 0으로 설정함으로써 과대적합을 방지할 수 있다.
- 다항 회귀 (Polynomial regression)
- 다항 회귀는 선형 모델을 사용하여 비선형 데이터 집합을 모델링한다. 이것은 동그란 모양의 구멍에 네모난 모양의 못 또는 말뚝을 끼워 넣는 것과 같다. 다항 회귀는 독립 변수가 여러 개인 선형 회귀를 뜻하는 다중 선형 회귀와 비슷한 방식으로 작동하지만, 비선형 곡선을 사용한다. 즉, 데이터 포인트가 비선형 방식으로 존재할 때 사용한다.
- 모델은 이 데이터 포인트들을 지정된 수준의 다항식 특성으로 변환하고 선형 모델을 사용하여 모델화한다. 선형 회귀에서 볼 수 있는 직선이 아닌 곡선의 다항식 선을 사용하여 최적적합을 수행한다. 그러나 이 모델은 과대적합으로 나타나기 쉬우므로 이상한 결과치를 피하기 위해서는 끝 부분의 곡선을 분석하는 것이 좋다.
History
회귀(영어: regress 리그레스)의 원래 의미는 옛날 상태로 돌아가는 것을 의미한다. 영국의 유전학자 프랜시스 골턴은 부모의 키와 아이들의 키 사이의 연관 관계를 연구하면서 부모와 자녀의 키사이에는 선형적인 관계가 있고 키가 커지거나 작아지는 것보다는 전체 키 평균으로 돌아가려는 경향이 있다는 가설을 세웠으며 이를 분석하는 방법을 "회귀분석"이라고 하였다. 이러한 경험적 연구 이후, 칼 피어슨은 아버지와 아들의 키를 조사한 결과를 바탕으로 함수 관계를 도출하여 회귀분석 이론을 수학적으로 정립하였다.
무엇이 어디로 '회귀'하는가?
- [추천] 회귀 모델에서 '회귀'란 무엇인가? 1
회귀의 사전적 정의는 '한바퀴 돌아 제자리로 돌아가다' 입니다. 따라서 회귀 모델에서 말하는 '회귀'의 의미를 이해하려면 무엇이 어디로 회귀하는 것인지 아는 것이 중요합니다. 위 링크 글을 비롯하여 많은 글에서는 이 회귀에 대해 골턴이 제시했던 '평균으로의 회귀'를 예로 들며 데이터가 회귀 모델이 제시한 추세선으로 회귀하는 것이라고 설명합니다.
그러나 위 링크의 댓글에도 나와 있듯이 데이터가 추세선으로 회귀한다는 설명은 뭔가 어색합니다. 오히려 반대로 추세선이 데이터를 따라 간다는 것이 더 맞는 설명같습니다. 그렇기 때문에 'regression' 보다는 'progression' 이라고 해야 한다는 주장이 나오는 것 같습니다. 그러나 제가 생각하기에 이 설명은 제대로된 설명이 아닙니다.
제가 이해하기에 회귀 모델에서 '회귀'는 '잔차(residual: 데이터의 실측치와 모델의 예측치 사이의 차이. 즉, 회귀식에서 오차항에 대한 관측치)가 평균으로 회귀하는 것'을 의미합니다. 그리고 이런 맥락에서 회귀 모델은 '잔차가 평균으로 회귀하도록 만든 모델'이라고 정의할 수 있습니다. 이렇게 정의를 내리고 나면 아래 문장은 부정확하다는 것을 알 수 있습니다.
회귀 모델을 만드는 작업을 '데이터와의 오차합이 가장 작은 선'을 찾는 작업이라고 얘기한다면 엄밀히 말해 절반만 맞습니다. 실제 회귀 모델링을 할 때는 잔차가 최소가 되는 선을 찾기에 앞서 다음과 같은 전제 조건이 선행되어야 합니다.
데이터의 실측치와 모델의 추정치 사이의 잔차가 i.i.d.(Independent and Identically Distributed random) 성질을 만족해야 한다. |
위 전제 조건을 만족하지 않으면 설령 오차가 최소가 되는 선이라 하더라도 제대로 된 회귀 모델이 아닙니다. 그 이유를 설명하려면 먼저 모델링이란 무엇인가에 대해 먼저 이해해야 합니다.
See also
Favorite site
References
-
Gimmesilver_-_What_is_regression.pdf ↩