Linear regression (선형 회귀) 2


Wikipedia
이 포스트는 Wikipedia의 내용을 요약/보충한 글입니다.

선형회귀(Linear regression)은 종속 변수 y와 한 개 이상의 독립 변수 (또는 설명 변수) x와의 선형 상관 관계를 모델링하는 회귀 분석 기법이다. 한 개의 설명 변수를 기반한 경우는 단순 선형 회귀(Simple linear regression), 둘 이상의 설명 변수에 기반한 경우는 다중 선형 회귀(Multiple linear regression)라 한다.

선형 회귀는 선형 예측 함수를 사용해 회귀식을 모델링하며, 알려지지 않은 파라미터는 데이터로부터 추정한다. 이렇게 만들어진 회귀식을 선형 모델이라고 한다.

알려지지 않은 파라미터에 대해 선형 관계를 갖는 모델을 세우는 것이 비선형 관계를 갖는 모델을 세우는 것보다 용이하기에 많이 이용된다.

선형회귀는 다음과 같이 이용될 수 있다.

  • 값을 예측하는 것이 목적일 경우, 선형 회귀를 통해 데이터에 적합한 예측 모형을 개발한다. 개발한 선형 회귀식을 사용해 y가 없는 x값에 대해 y를 예측하기 위해 사용.
  • 종속 변수 y와 이것과 관련된 독립 변수 \(X_1,...,X_p\)가 존재하는 경우에 선형 회귀 분석을 통해 \(X_j\)와 y의 관계를 정량화할 수 있다. \(X_j\)는 y와 무관할 수도 있고 정보를 제공하는 변수일 수도 있다.

보통 최소제곱법(최소자승법)을 사용해 선형 회귀 모델을 세운다. 또 손실 함수(loss function)을 최소화하는 방법으로도 선형 회귀 모델을 세울 수 있다. 최소제곱법은 선형 회귀 모델 뿐 아니라, 비선형 회귀 모델에도 적용할 수 있다.

선형 회귀는 주어진 데이터 집합 \(\left\{y_i, x_{i1},...,x_{ip}\right\}_{i=1}^n\)에 대해, 종속 변수 \(y_i\)와 p개의 설명 변수 \(x_i\) 사이의 선형 관계를 모델링한다.

\[y_i = \beta_1 x_{i1} + \cdots + \beta_p x_{ip} + \varepsilon_i = \mathbf{x}^{\rm T}_i\boldsymbol\beta + \varepsilon_i, \qquad i = 1, \ldots, n,\]

주어진 식에서 \(\beta_i\)는 독립변수의 계수이며, p는 선형 회귀로 추정되는 모수의 개수이다. T는 전치를 의미한다. \(x_i^T \beta\)는 \(x_i\)와 \(\beta\)의 내적을 뜻한다. \(\epsilon_i\)는 오차항, 오차 변수(error)로, 관찰되지 않은 확률 변수이며, 종속 변수(결과물이나 효과)와 독립 변수(입력값이나 원인) 사이에 오차를 의미한다.
이것이 선형 회귀라 불리는 것은 종속변수가 독립변수에 대한 선형 함수(1차 함수)의 관계에 있을 것이라 가정하기 때문이다. 그러나, 모델에 대한 그래프가 직선상에 있지 않더라도 ‘선형’ 회귀일 수 있다.

선형 회귀에서의 가정

표준 선형 회귀 분석 모델에서는 예측 변수, 응답 변수 그리고 그 사이의 관계에 대해 다양한 가정을 한다. 확장된 선형 회귀 분석에서는 이런 가정을 완화하기도, 제거하기도 한다. 보통 확장 선형 회귀는 추정 과정을 더 복잡하게 하거나 시간을 더 소모한다. 정확한 모델을 세우기 위해 더 많은 데이터가 요구될 수도 있으며 표준 선형 회귀의 대표적인 가정은 다음과 같다.

  • 약한 외생성. 독립 변수 x를 변수가 아니라 고정된 값으로 취급한다. 이는 독립 변수에 오차가 없음을 뜻한다. 이러한 가정은 비현실적이나 이 가정을 제외하면 설명 변수에 오차를 포함한 모델을 세워야 한다.

  • 선형성. 종속 변수가 독립 변수와 선형 회귀 계수의 선형 조합으로 표현 가능함을 의미한다. 이것은 파라미터에 대한 선형성만을 가정한다. 예측 변수는 임의로 변형될 수 있고, 동일한 예측 변수가 더해질 수도 있고, 하나를 다르게 변형할 수도 있다. 이 가정은 다중 회귀 분석에 사용된다. 응답 변수를 예측 변수에 대한 임의의 다항 함수로 모델링한다. 이는 선형 회귀를 매우 강력하게 만든다. 실제로 이런 다항 회귀는 때로 너무 강력해 모델이 데이터에 과적합하게 되기도 한다. 이를 방지하기 위해 정규화 기법을 사용할 수도 있다. ridge regression 또는 Lasso 회귀가 그 예이다. 베이지안 선형 회귀 또한 사용할 수 있는데 이는 근본적으로 과적합을 방지하는 효과를 갖는다.

  • 상수 분산. 이는 서로 다른 응답 변수들의 오차가 설명 변수와 무관하게 항상 같은 분산을 가짐을 뜻한다. 이런 가정은 타당하지 않다. 응답 변수들의 오차가 같은 분산을 갖지 않으며 오차의 분산은 설명 변수에 영향을 받는다.

  • 오차의 독립성. 독립 변수의 오차가 서로 무관함을 가정한다. 일부 선형 회귀 기법은 상관된 오차를 다룰 수 있으나 정규화가 적용되지 않은 상황에서 더 많은 데이터가 필요하다. 베이지안 선형 회귀가 이런 문제를 다루는 일반적 기법이다.

  • 예측 변수에서의 다중공선성의 부재. 최소제곱법 추정 기법에서 설계 행렬 X는 반드시 전열계수 p를 갖는다. 그렇지 않으면 예측 변수 사이에 다중공선성이 생긴다. 이는 복수의 상관된 예측 변수로 인해 발생된다. 파라미터에 비해 데이터가 너무 적어도 발생할 수 있다.

선형 회귀의 해석

예측 변수에 대한 모든 값이 주어졌을 때 수립한 선형 회귀 모델을 사용해 예측 변수 \(x_j\)가 응답 변수 y에 미치는 영향을 확인할 수 있다. \(\beta_j\)는 \(x_j\)가 한 단위 변했을 때 y의 기대 변화량을 뜻한다. 회귀 결과를 해석할 때 주의해야 하는데, 일부 독립 변수가 응답 변수의 변화에 영향을 주지 않을 수 있기 때문이다 (무의미한 독립 변수일 수도 있고, y 절편에 해당할 수도 있기 때문이다.) 한계 효과가 큰 상황이 있을 수도 있다. 아주 복잡하게 서로 연계된 시스템을 분석할 때 고유 효과는 매우 중요한 역할을 한다. 하지만 보통 다중 선형 회귀에서 응답 변수와 예측 변수 사이의 관계를 밝히는 것에 실패한다. 공통점 분석은 이런 상관관계 해석에 도움을 준다.

선형 회귀 기법의 확장

선형 회귀를 확장한 다양한 기법들이 개발되었으며, 각각은 서로 다른 가정을 갖고 있거나, 기본 모델에서 가정을 완화하기도 한다.

단순 선형 회귀와 다중 선형 회귀

선형 회귀의 가장 단순한 예제는 한 개의 스칼라 독립 변수 x와 한 개의 스칼라 의존 변수 y의 관계일 것이다. 이를 단순 선형 회귀라 부른다. 여기에서 독립 변수를 여러 개로 확장한 것이 다중 선형 회귀이다. 실세계의 거의 대부분의 문제는 여러 개의 독립 변수를 포함하며, 선형 회귀라 함은 보통 다중 선형 회귀를 일컫는다. 하지만 이러한 경우에도 여전히 응답 변수 y는 한 개의 스칼라 변수이다. 다변량 선형 회귀는 응답 변수 y가 벡터인 경우를 의미한다. 이러한 경우를 일반 선형 회귀라 부른다. 다중 선형 회귀와 다변량 선형 회귀는 다른 의미이므로, 혼동하지 않도록 주의해야 한다.

일반 회귀 모델

일반 회귀 모델은 응답 변수 Y가 스칼라가 아니라 벡터인 경우를 대상으로 한다. 조건부 선형성 \(E(y\|x) = Bx\)은 여전히 유지된다 (행렬 B 는 β 를 행렬로 표현한 것). 일반 회귀 모델은 다변량 회귀 모델과 동일하다.

이분산 회귀 모델

이분산성을 허용하기 위해 다양한 회귀 모델이 개발되었다. 응답 변수들의 오차의 분산이 서로 다른 것을 허용한다. 가중 최소 제곱법은 응답 변수의 오차가 서로 다른 분산을 갖거나, 연관된 경우에도 선형 회귀 모델을 수립할 수 있게 허용한다. 이분산성 일치 표준 에러 기법은 더 개선된 기법으로, 오차가 서로 연관되어 있지는 않지만 서로 다른 분산을 갖는 경우에 선형 회귀 모델을 수립할 수 있다.

계층적 선형 모델

계층적 선형 모델은 데이터가 여러겹으로 회귀되는 경우에 이용할 수 있다. 다시 말해 A가 B로 회귀되고, B가 C로 회귀 되는 구조를 말한다. 이러한 구조는 일상 생활에서 흔히 볼 수 있는데, 가령 학생은 학급에 속하고, 학급은 학년에 속하며 학년은 학교에 속하는 경우를 들 수 있다. 이런 경우 학생의 응답 변수로 시험 성적을 이용 한다면 학급, 학년, 학교에 대해 각각 다른 공변을 얻을 수 있다.

오차 변수 모델

오차 변수 모델(errors-in-variables) 은 (또는 “오차 측정 모델”) 기존의 선형 회귀 모델에서 독립 변수 X가 오차와 같이 관측될 수 있도록 확장한 것이다. 이 오차는 β의 표준 추정량이 편향되는데 원인이 된다. 일반적으로는 이 영향은 0에 가깝게 편향된다.

선형 회귀 모델 추정 기법

선형 회귀에서 파라미터 추정을 위해 다양한 기법들이 개발되었다. 각각의 기법들은 알고리즘의 연산 복잡도, 닫힌 형태의 해법 존재 여부, 데이터의 분포에 대한 가정, 변수의 관계에 대한 이론적 가정 등이 다르다.

Ordinary least squares

(OLS)는 가장 단순하고 많이 쓰이는 추정 방법이다. OLS 기법은 오차의 제곱의 합을 최소화하는 기법으로, 추정하고자 하는 파라미터 β에 대한 표현식을 다음과 같이 구할 수 있다.

\[\hat{\boldsymbol\beta} = (\mathbf{X}^{\rm T}\mathbf{X})^{-1} \mathbf{X}^{\rm T}\mathbf{y} = \big(\,{\textstyle\sum} \mathbf{x}_i \mathbf{x}^{\rm T}_i \,\big)^{-1} \big(\,{\textstyle\sum} \mathbf{x}_i y_i \,\big).\]

오차가 유한한 분산을 가지며, 오차가 독립 변수와 연관되어 있지 않다면, 추정은 편향되어있지 않고, 일관성 있다.

Generalized least squares (GLS)

Percentage least squares

오차의 퍼센트를 줄이는 방법으로 예측하거나 시계열 데이터를 분석하는 분야에서 유용하게 쓰인다. OLS를 사용하면 상한선에서 큰 잔차가 우세한 값을 갖는 경우에, 종속 변수가 상수 분산을 가지지 않고 넓은 범위를 가질 때 유용하게 쓰인다. 오차의 퍼센티지나 상대 값이 표준 분포를 따를 때, percentage least squares 회귀 기법은 최대 가능도 추정을 제공한다. OLS는 가법 오차 모형과 관련있는 반면에 이 회귀 기법은 승법 오차 모형과 관련있다.

Iteratively reweighted least squares (IRLS)

Instrumental variables

Optimal instruments

Total least squares (TLS)

최대가능도방법

최대 가능도 추정 (MLE : Maximum likelihood estimation)

매개변수 \({\theta }\) (즉, \({\theta =(\beta ,\sigma ^{2})} )\) 의 argmax는 다음과 같다

\[\underset{\theta}{\arg\max} \log(p(D|\theta)) = \sum_{i=1} \log(p(y_i | \mathbf{x_i}, \theta))\]

만약 \(p(y_{i}|\mathbf {x_{i}} ,\theta )\) 가 아래와 같은 가우시안 분포 를 가진다고 가정하면,
\(p(y_{i}|\mathbf {x_{i}} ,\theta )={\mathcal {N}}(y|{\boldsymbol {\beta }}^{T}\mathbf {x} ,\sigma ^{2})\)
다음과 같은 로그 가능도 함수를 구할수 있다
\(l(\theta )=\sum _{i=1}^{N}\log[({\frac {1}{2\pi \sigma ^{2}}})^{2}exp(-{\frac {1}{2\sigma ^{2}}}(y_{i}-{\boldsymbol {\beta }}^{T}\mathbf {x_{i}} )^{2})]\)
\(=-{\frac {N}{2}}\log(2\pi \sigma ^{2})-{\frac {1}{2\sigma ^{2}}}\sum _{i=1}^{N}{(y_{i}-{\boldsymbol {\beta }}^{T}\mathbf {x_{i}} )^{2}}\)
위 식의 음수를 취한 음 로그 가능도 함수(NLL : negative log likelihood)는 아래와 같다
\(NLL(\theta )={\frac {N}{2}}\log(2\pi \sigma ^{2})+{\frac {1}{2\sigma ^{2}}}\sum _{i=1}^{N}{(y_{i}-{\boldsymbol {\beta }}^{T}\mathbf {x_{i}} )^{2}}\)
NLL의 최솟값을 구하기 위해서는 위식에서 아래의 부분을 최소화 하면 된다
\(RSS(\beta )=\sum _{i=1}^{N}{(y_{i}-{\boldsymbol {\beta }}^{T}\mathbf {x_{i}} )^{2}}\)
위 식은 잔차제곱합(RSS : Residual Sum of Squares) 이며, 이를 통해 최적의 \({\boldsymbol {\hat {\beta }}}\) 을 구할 수 있다.

용어 정리

독립변수(independent variable) :
입력값이나 원인을 나타내며 예측 변수(predictor variable), 복귀자(regressor), 통제 변수(controlled variable), 조작 변수(manipulated variable), 노출 변수(exposure variable), 리스크 팩터(risk factor), 설명 변수(Explanatory variable)등으로 불리며, 기계 학습과 패턴 인식에서는 feature라고 한다. (주로 x로 쓰인다.)

종속 변수 : 결과물이나 효과를 나타낸다. 응답 변수라고도 불리며 주로 y로 쓰인다.

\(\beta\) : p차원 파라미터 벡터이다. 이것의 각 원소는 회귀 계수라고도 불린다. 파라미터 벡터의 원소는 종속 변수에 대한 편미분으로 해석할 수도 있다.