콘텐츠로 이동

13장: 선형회귀

개요

이 장은 설명변수가 하나인 단순모형에서 시작해 교호작용·다항식·스플라인 확장을 포함하는 다중회귀에 이르기까지 선형회귀를 폭넓게 다룬다. 최소제곱법에 의한 추정, 계수에 대한 추론, 가정 확인과 진단, 성능 평가, 모형선택, 그리고 statsmodels와 scikit-learn을 이용한 Python 구현까지 모형화의 전 과정을 다룬다.


장의 구성

13.1 선형회귀

회귀의 기초가 되는 모형들:

  • 단순선형회귀 — 하나의 설명변수 \(X\)와 반응변수 \(Y\)의 관계를 직선 \(Y = \beta_0 + \beta_1 X + \varepsilon\)으로 모형화하며, 산점도와 적합된 직선에서 얻는 기하적 직관을 함께 다룬다.
  • 다중선형회귀 — 행렬 표기 \(\mathbf{y} = X\boldsymbol{\beta} + \boldsymbol{\varepsilon}\)을 써서 설명변수가 여럿인 경우로 확장한다. 교호작용 항과 scikit-learn 구현을 포함한다.

13.2 추정과 추론

회귀계수를 어떻게 추정하며 그 통계적 성질은 무엇인가:

  • 최소제곱 추정 — 최소제곱 기준, 정규오차 아래의 최대가능도, 벡터 미적분을 이용한 정규방정식이라는 세 관점에서 OLS 추정량을 유도한다.
  • 표집분포(단순 OLS) — 고전적 가정 아래에서 기울기 추정량, 평균반응, 예측반응의 \(t\) 분포를 유도한다.
  • 계수의 신뢰구간 — 기울기, 기대반응, 개별 예측에 대한 구간추정을 구성하며, 신뢰띠의 특징적인 "나비넥타이" 모양도 다룬다.
  • 표집분포와 검정(일반 OLS) — 행렬 표기를 써서 추론 결과를 다중회귀 상황으로 확장하고, \(\hat{\beta}\), \(s^2\), 각 계수의 \(t\) 통계량의 분포를 유도한다.

13.3 계수 검정

개별 설명변수의 통계적 유의성 평가:

  • 가설검정(t-검정) — 각 설명변수가 반응변수에 유의한 효과를 갖는지 평가하기 위해 개별 회귀계수에 대한 \(t\) 검정을 세우고 수행한다.
  • p값과 신뢰구간 — 계수의 \(p\)값과 신뢰구간을 해석하며, 회귀 출력표를 읽는 실전 예를 든다.
  • 유의성의 해석 — 통계적 유의성과 실질적 유의성을 구분하고, 문턱값 관행과 흔한 오해를 짚는다.

13.4 교호작용과 다항식 확장

가법성과 선형성을 넘어서는 복잡한 관계 포착:

  • 교호작용 항 — 곱항 \(X_1 \times X_2\)를 회귀식에 넣어 한 설명변수의 효과가 다른 설명변수의 수준에 어떻게 의존하는지 모형화한다.
  • 다항회귀 — 설명변수의 거듭제곱 \(X, X^2, \ldots, X^d\)을 써서 비선형(굽은) 관계를 모형화하되, 모수에 대해서는 여전히 선형모형을 유지한다.

13.5 가정과 진단

네 가지 핵심 가정(LINE)과 그 확인 방법:

  • 가정 개관(LINE) — 선형성(Linearity), 독립성(Independence), 잔차의 정규성(Normality), 등분산성(Equal variance)이라는 네 요건을 정리하고 진단 절차를 제시한다.
  • 선형성 가정 — 선형성이 무엇을 뜻하며 위배될 때 왜 예측이 편향되는가.
  • 독립성 가정 — 잔차의 독립성이 왜 중요한가. 특히 자기상관이 나타날 수 있는 시계열 맥락에서.
  • 등분산성 가정 — 오차분산이 일정하다는 가정과 이분산이 추론에 미치는 결과.
  • 정규성 가정 — 타당한 신뢰구간과 가설검정을 위해 왜 잔차의 정규분포가 필요한가.
  • 선형성 / 독립성 / 등분산성 / 정규성 확인 — 각 가정에 대한 시각적 진단(잔차그림, Q-Q 그림)과 형식적 검정(Durbin-Watson, Breusch-Pagan, Shapiro-Wilk).

13.6 진단

적합된 모형의 문제 찾아내기:

  • 잔차 분석 — 잔차(관측값 빼기 예측값)를 살펴 모형 오설정, 비상수 분산, 비정규성을 시사하는 패턴을 확인한다.
  • 다중공선성과 VIF — 분산팽창인자로 강하게 상관된 설명변수를 탐지하고, 계수의 안정성과 해석에 미치는 영향을 논한다.
  • 영향점과 지렛대(Cook 거리, DFFITS) — Cook 거리, 지렛대 값, DFFITS를 써서 회귀 결과에 지나치게 큰 영향을 주는 관측값을 찾아낸다.

13.7 성능 척도

모형이 얼마나 잘 적합하고 잘 예측하는지 수량화하기:

  • \(R^2\)와 수정 \(R^2\) — 모형이 설명하는 분산의 비율을 재며, 수정 \(R^2\)는 설명변수의 개수에 벌점을 준다.
  • MAE, MSE, RMSE — 반응변수의 원래 척도에서 예측 정확도를 평가하는 절대오차·제곱오차 척도.
  • MAPE와 그 밖의 상대 척도 — 자료나 반응변수 척도가 다른 모형들을 비교할 때 유용한 척도무관 측도.

13.8 모형선택 기준

경쟁하는 모형들 가운데 고르기:

  • AIC(Akaike 정보기준) — 적합도와 모형 복잡도를 저울질하여 표본 밖 예측을 잘하는 모형을 선호한다.
  • BIC(Bayes 정보기준) — AIC와 비슷하지만 모수 추가에 더 강한 벌점을 주어 더 단순한 모형을 고르는 경향이 있다.
  • 모형선택을 위한 교차검증 — 홀드아웃이나 \(k\)-겹 방식으로 표본 밖 예측오차를 직접 추정한다.
  • 단계적 선택과 최량 부분집합 선택 — 가능한 설명변수 부분집합의 공간을 탐색하는 자동화된 절차.

13.9 스플라인과 GAM

선형회귀의 유연한 비모수 확장:

  • 스플라인과 GAM 개관 — 계단함수, 조각별 다항 스플라인을 소개하고, 국소 패턴을 잡아내는 데 전역 다항식보다 나은 이유를 설명한다.
  • 일반화가법모형 — 선형항을 자료에서 학습한 매끄러운 비모수 함수 \(f_j(X_j)\)로 대체하여 회귀를 확장하되, 가법 구조 덕분에 해석 가능성을 유지한다.

13.10 패키지 사용법

Python에서 회귀를 구현하는 실용적 도구:

  • statsmodels OLS 인터페이스 — 통계적 추론의 표준 라이브러리로, \(p\)값, 신뢰구간, 진단검정을 담은 상세한 요약을 제공한다.
  • sklearn LinearRegression 인터페이스 — 예측 작업의 표준 라이브러리로, 교차검증, 파이프라인, 정칙화를 내장하고 있다.
  • 비교와 선택 기준 — 나란히 놓고 비교하면 statsmodels는 추론에, sklearn은 예측과 기계학습 파이프라인에 강하다.

13.11 코드

완전한 Python 구현:

  • 기울기의 신뢰구간(카페인 보기) — 회귀 기울기의 신뢰구간 계산.
  • 신뢰띠와 예측띠 — 회귀직선과 함께 그린 신뢰구간과 예측구간.
  • OLS 회귀 출력 재현 — statsmodels OLS 요약표 전체를 밑바닥부터 재현하기.
  • 다중회귀 진단 — VIF, 잔차 분석, 영향 진단, 교호작용 항.
  • 계수 검정 보기 — 회귀계수에 대한 \(t\) 검정과 \(F\) 검정 시연.
  • 모형선택 비교 — 경쟁 모형들에 AIC, BIC, 교차검증을 적용하기.
  • 가중최소제곱 — 관측값 가중치를 이용해 비상수 분산을 다루는 회귀.
  • GAM 주택 분석 — 매끄러운 항으로 주택 자료에 적합한 일반화가법모형.
  • 회귀 진단(주택) — California Housing 자료에 대한 전체 진단 모음.
  • RSS 곡면 시각화 — 잔차제곱합을 \(\beta_0\)와 \(\beta_1\)의 함수로 3차원 시각화.
  • 3차원 회귀평면 — 다중회귀 곡면의 3차원 시각화.
  • 교차검증 다항 모형선택 — 교차검증으로 최적 다항 차수 고르기.
  • 계단함수 — 조각별 상수 회귀 구현.
  • Patsy를 이용한 스플라인 — patsy 식 인터페이스를 이용한 B-스플라인과 자연 스플라인 적합.

13.12 연습문제

회귀 모형화, OLS 출력 해석, 진단, 계수 검정, 모형선택, 다항식·교호작용 확장을 아우르는 연습문제.


선행 지식

이 장은 다음 내용 위에 세워진다:

  • 5장(표집분포) — \(t\), \(\chi^2\), \(F\) 분포와 이들이 정규표본에서 어떻게 생기는지에 대한 이해.
  • 8장(신뢰구간) — 모수에 대한 구간추정의 구성.
  • 9장(가설검정) — 귀무가설과 대립가설의 설정, \(p\)값 계산, 주어진 유의수준에서의 판정.
  • 12장(상관과 인과) — 단순선형회귀의 토대가 되는 Pearson 상관, 그리고 연관과 인과의 구분.

핵심 요약

  1. 단순선형회귀는 하나의 설명변수와 반응변수 사이의 직선 관계를 모형화한다. 다중회귀는 이를 임의 개수의 설명변수로 일반화하며, 각 계수는 나머지를 모두 고정했을 때 그 설명변수 하나의 효과를 나타낸다.
  2. OLS 추정은 잔차제곱합을 최소화하며, 정규오차 아래에서는 최대가능도 추정과 일치한다. 이렇게 얻은 추정량은 알려진 \(t\) 분포를 따르므로 추론이 가능하다.
  3. 교호작용 항과 다항식 항은 OLS 틀을 버리지 않으면서 비가법적·비선형적 관계를 포착하도록 선형모형을 확장한다.
  4. LINE 가정(선형성, 독립성, 정규성, 등분산성)은 잔차 진단으로 확인해야 한다. 위배되면 추론이 무효가 되며 변수변환, 로버스트 방법, 대안 모형이 필요할 수 있다.
  5. 모형선택 기준(AIC, BIC, 교차검증)은 적합도와 복잡도를 저울질하여 경쟁 모형 가운데 고르는 원칙 있는 방법을 제공한다.
  6. 참 관계가 비선형일 때 스플라인과 GAM은 유연한 대안이 되어, 해석 가능성을 유지하면서 매끄럽고 국소적으로 적응하는 적합을 제공한다.
  7. statsmodels와 scikit-learn은 상호보완적이다. 추론과 진단에는 statsmodels를, 예측 파이프라인과 배포에는 scikit-learn을 쓴다.