-
목차
선형 회귀(Linear Regression)는 통계학과 머신러닝 분야에서 널리 사용되는 기법으로, 하나 이상의 독립 변수(설명 변수)와 종속 변수(반응 변수) 간의 선형 관계를 모델링하여 예측하거나 변수 간의 관계를 분석하는 데 활용됩니다. 이러한 기법은 데이터 분석과 예측 모델 구축에서 기본적이면서도 중요한 역할을 합니다.
선형 회귀 1. 선형 회귀의 기본 개념
선형 회귀는 독립 변수(X)와 종속 변수(Y) 사이의 관계를 선형 방정식으로 표현합니다. 가장 단순한 형태인 단순 선형 회귀(Simple Linear Regression)는 하나의 독립 변수와 종속 변수 간의 관계를 다음과 같이 나타냅니다.
Y =
여기서
- Y는 종속 변수입니다.
- X는 독립 변수입니다.
- β0는 Y 절편(intercept)으로, X가 0일 때 Y의 예상 값입니다.
- β1는 기울기(slope)로, X가 한 단위 증가할 때 Y가 변화하는 정도를 나타냅니다.
- ϵ은 오차항(error term)으로, 모델이 설명하지 못하는 부분을 포함합니다.
이러한 모델을 통해 우리는 주어진 X 값에 대해 Y 값을 예측할 수 있습니다.
2. 선형 회귀 모델의 추정 방법
선형 회귀 모델을 구축하기 위해서는 회귀 계수인 β값을 추정해야 합니다. 가장 일반적으로 사용되는 방법은 최소제곱법(Ordinary Least Squares, OLS)으로, 이는 실제 관측값과 모델 예측값 간의 잔차(residual)의 제곱합을 최소화하는 방식입니다.
3. 선형 회귀의 가정
선형 회귀 분석을 수행할 때는 몇 가지 기본 가정을 만족해야 합니다. 이러한 가정이 충족되지 않으면 모델의 신뢰성과 예측력이 저하될 수 있습니다. 주요 가정은 다음과 같습니다.
- 선형성(Linearity): 독립 변수와 종속 변수 간의 관계가 선형이어야 합니다. 이는 회귀 모델이 직선 형태로 데이터의 패턴을 설명한다는 것을 의미합니다. 만약 데이터가 곡선 형태의 패턴을 보인다면, 선형 회귀 모델은 부적절할 수 있습니다.
- 독립성(Independence): 오차(term)들은 서로 독립적이어야 합니다. 이는 한 관측치의 오차가 다른 관측치의 오차와 상관관계가 없어야 함을 의미합니다. 만약 오차들 간에 상관관계가 존재한다면, 이는 모델이 설명하지 못하는 구조적 패턴이 데이터에 존재함을 나타낼 수 있습니다.
- 등분산성(Homoscedasticity): 오차의 분산이 일정해야 합니다. 이는 모든 수준의 독립 변수에 대해 오차의 분산이 동일해야 함을 의미합니다. 만약 오차의 분산이 일정하지 않다면(이질분산성, Heteroscedasticity), 이는 예측의 신뢰 구간이 일정하지 않게 되어 모델의 해석에 문제를 일으킬 수 있습니다.
- 정규성(Normality): 오차가 정규 분포를 따라야 합니다. 이는 오차(term)들이 평균이 0이고 정규 분포를 따른다는 것을 의미합니다. 이 가정은 주로 회귀 계수의 추론과 신뢰 구간 설정에 중요합니다.
이러한 가정이 위배되면 회귀 모델의 추정치가 편향되거나 효율성이 떨어질 수 있습니다. 따라서 데이터 분석 과정에서 이러한 가정을 확인하고, 필요에 따라 적절한 변환이나 다른 모델링 기법을 고려해야 합니다.
4. 선형 회귀 모델의 평가
선형 회귀 모델의 성능을 평가하기 위해 다음과 같은 지표를 사용합니다:
- 결정 계수(R-squared, R²): 모델이 종속 변수의 변동성을 얼마나 설명하는지를 나타냅니다. R² 값이 1에 가까울수록 모델의 설명력이 높습니다.
- 평균 제곱 오차(Mean Squared Error, MSE): 관측 값과 예측 값 사이의 오차 제곱 합의 평균입니다.
- 평균 절대 오차(Mean Absolute Error, MAE): 관측 값과 예측 값 사이의 절대 오차의 평균입니다.
5. 선형 회귀 유형
기본적인 선형 회귀 모델은 단순하고 해석이 용이하지만, 현실 세계의 복잡한 데이터에는 한계가 있을 수 있습니다. 이를 보완하기 위해 다양한 확장 기법이 개발되었습니다.
1) 다항 회귀 (Polynomial Regression)
선형 회귀는 독립 변수와 종속 변수 간의 선형 관계를 가정하지만, 현실에서는 비선형 관계가 존재하는 경우가 많습니다. 이러한 비선형성을 모델링하기 위해 다항 회귀가 사용됩니다. 다항 회귀는 독립 변수의 다항식을 사용하여 종속 변수를 예측하는 방법으로, 예를 들어 2차 다항 회귀는 다음과 같이 표현됩니다.
y = β₀ + β₁x + β₂x² + ε
이러한 방식으로 독립 변수의 차수를 늘려 복잡한 곡선을 모델링할 수 있습니다. 그러나 차수가 너무 높아지면 모델이 과적합(overfitting)될 수 있으므로, 적절한 차수를 선택하는 것이 중요합니다.
2) 다중 선형 회귀 (Multiple Linear Regression)
단순 선형 회귀는 하나의 독립 변수만을 고려하지만, 현실에서는 여러 개의 독립 변수가 종속 변수에 영향을 미치는 경우가 많습니다. 다중 선형 회귀는 이러한 다수의 독립 변수를 포함하여 종속 변수를 예측하는 방법으로, 다음과 같이 표현됩니다.
y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ + ε
이러한 접근법은 다양한 변수의 영향을 동시에 고려할 수 있어 예측의 정확성을 높일 수 있습니다. 그러나 독립 변수 간의 다중 공선성(multicollinearity)이 존재할 경우 회귀 계수의 추정이 불안정해질 수 있으므로, 변수 선택과 전처리가 중요합니다.
3) 정규화 기법: 릿지 회귀 (Ridge Regression)와 라소 회귀 (Lasso Regression)
선형 회귀 모델은 과적합의 위험이 있으며, 특히 독립 변수의 수가 많거나 다중 공선성이 존재할 경우 문제가 발생할 수 있습니다. 이를 해결하기 위해 정규화(regularization) 기법이 도입되었으며, 대표적으로 릿지 회귀와 라소 회귀가 있습니다.
- 릿지 회귀: 손실 함수에 L2 패널티(term)를 추가하여 회귀 계수의 크기를 제한합니다. 이를 통해 모델의 복잡도를 감소시키고, 다중 공선성 문제를 완화할 수 있습니다.
- 라소 회귀: 손실 함수에 L1 패널티(term)를 추가하여 일부 회귀 계수를 0으로 만듭니다. 이를 통해 변수 선택(feature selection)의 효과를 얻을 수 있으며, 모델의 해석력을 향상시킬 수 있습니다.
4) 로지스틱 회귀 (Logistic Regression)
선형 회귀는 연속형 종속 변수를 예측하는 데 사용되지만, 종속 변수가 범주형인 경우에는 로지스틱 회귀가 사용됩니다. 로지스틱 회귀는 종속 변수가 특정 범주에 속할 확률을 예측하는 모델로, 로지스틱 함수(sigmoid function)를 사용하여 출력값을 0과 1 사이로 변환합니다. 이러한 특성으로 인해 이진 분류 문제에서 널리 활용됩니다.
5) 비선형 회귀 (Nonlinear Regression)
현실 세계의 데이터는 종종 비선형적인 패턴을 보입니다. 이러한 경우 비선형 회귀를 통해 복잡한 관계를 모델링할 수 있습니다. 비선형 회귀는 모델의 형태를 사전에 정의하고, 주어진 데이터에 맞게 파라미터를 추정합니다. 예를 들어, 지수 함수, 로그 함수, 또는 트리거노메트릭 함수를 사용하여 비선형성을 표현할 수 있습니다. 그러나 비선형 회귀는 모델의 형태를 정확하게 정의해야 하며, 최적화 과정이 복잡할 수 있다는 단점이 있습니다.
6) 일반화 가법 모델 (Generalized Additive Models, GAM)
일반화 가법 모델은 선형 회귀와 비선형 회귀의 장점을 결합한 모델로, 각 독립 변수에 대해 비선형 함수를 적용하고, 이러한 함수들의 합으로 종속 변수를 예측합니다. 이를 통해 각 변수의 영향을 독립적으로 해석할 수 있으며, 모델의 유연성을 높일 수 있습니다. GAM은 데이터의 패턴을 보다 정확하게 포착할 수 있어 예측 성능을 향상시킬 수 있습니다.
7) 서포트 벡터 회귀 (Support Vector Regression, SVR)
서포트 벡터 머신(Support Vector Machine, SVM)은 주로 분류 문제에 사용되지만, 회귀 분석에도 적용될 수 있습니다. 서포트 벡터 회귀는 데이터 포인트가 ε-튜브 내에 들어오도록 하는 회귀선을 찾으며, 마진을 최대화하여 일반화 능력을 향상시킵니다. SVR은 고차원 데이터나 비선형적인 관계를 가진 데이터에서도 효과적으로 작동할 수 있습니다.
6. 선형 회귀의 실제 활용 사례
선형 회귀는 다양한 분야에서 활용되며, 몇 가지 대표적인 사례는 다음과 같습니다.
- 경제학: GDP와 소비 지출 간의 관계를 분석하여 경제 성장 예측
- 마케팅: 광고비 지출과 판매량 간의 관계를 파악하여 마케팅 전략 수립
- 의료 분야: 환자의 나이, 혈압, 콜레스테롤 수치 등을 활용하여 질병 발생 확률 예측
- 환경 과학: 온도, 강수량, 일조량 등을 고려하여 작물 수확량 예측
이러한 사례에서 선형 회귀는 변수 간의 관계를 파악하고, 미래의 결과를 예측하는 데 중요한 도구로 활용됩니다.
'AI (인공지능)' 카테고리의 다른 글
인공지능의 발전 단계: 약인공지능(ANI) vs 강인공지능(AGI) vs 초인공지능(ASI) (0) 2025.03.08 로지스틱 회귀(Logistic Regression) 알고리즘 개념과 원리 (0) 2025.03.08 TensorFlow vs PyTorch: 어떤 프레임워크를 선택해야 할까 (0) 2025.03.07 인공지능 개발의 인기 언어 : 파이썬 (0) 2025.03.07 머신러닝 모델을 만드는 과정 (0) 2025.03.07