본문 바로가기
Computer Science

데이터 사이언스 입문: 선형 회귀(Linear Regression) 알아보기

by 김🍒 2023. 6. 5.

데이터를 활용해 실제 세상의 문제를 해결하려면, 데이터를 이해하고 분석할 수 있는 도구가 필요합니다. 그 중에서도 '선형 회귀'는 가장 기본적이면서도 효과적인 도구 중 하나입니다. 오늘은 선형 회귀(linear regression)의 기본 개념부터 실제 데이터에 적용하는 방법까지 전반적으로 알아보겠습니다.

 

 

 

 

목차

     

     

    선형회귀란?

    선형 회귀(Linear Regression)는 통계학과 머신러닝에서 사용되는 예측 방법론 중 하나입니다. 이는 하나 또는 여러 개의 독립 변수와 종속 변수 간의 관계를 모델링하는 데 사용되며, 그  관계는 선형 즉, 직선 형태로 가정합니다.

    선형회귀의 기본적인 형태

    선형 회귀의 기본적인 형태는 다음과 같습니다:

    $$ Y = a + bX + e $$

    여기서 Y는 종속 변수(예측하려는 값), X는 독립 변수(입력 값), a는 절편(intercept), b는 기울기(coefficient)이며, 이는 X의 변화에 따른 Y의 변화량을 나타냅니다. e는 오차항으로, 모델이 완벽하게 예측하지 못하는 불확실성을 나타냅니다.

    선형회귀의 활용 예시

    선형 회귀는 다양한 분야에서 매우 다양한 형태로 사용됩니다. 몇 가지 예를 들면 다음과 같습니다.

    1. 경제학 : 경제학에서는 GDP, 고용률, 인플레이션 등과 같은 경제 지표를 예측하는 데 선형 회귀를 사용합니다.
    2. 마케팅 : 마케팅에서는 광고 지출과 판매량 간의 관계를 파악하거나, 특정 마케팅 캠페인의 효과를 측정하는 데 선형 회귀를 사용합니다.
    3. 의료 : 의료 분야에서는 환자의 특성(나이, 성별, 체중 등)과 건강 지표(혈압, 콜레스테롤 수치 등) 간의 관계를 분석하는 데 선형 회귀를 사용합니다.
    4. 금융 : 주식 가격, 포트폴리오의 예상 수익 등을 예측하기 위해 선형 회귀를 사용합니다.
    5. 부동산 : 집의 크기, 위치, 방의 수 등과 같은 특징을 기반으로 집의 가격을 예측하는 데 선형 회귀를 사용합니다.

    선형 회귀는 이론적으로 잘 이해될 뿐만 아니라 계산이 간단하고 해석이 쉽다는 장점이 있어, 많은 분야에서 활용되고 있습니다. 하지만 선형 회귀는 데이터의 관계가 선형이라는 가정이 필요하므로, 이 가정이 위배될 경우에는 다른 방법론을 고려해야 합니다.

     

    선형 회귀의 이론적 배경

    선형 회귀는 통계학과 머신 러닝에서 널리 사용되는 방법론 중 하나입니다.

    통계학에서의 선형 회귀

    통계학에서, 선형 회귀는 두 변수 사이의 관계를 모델링하는 기본적인 도구입니다. 특히, 하나의 변수(종속 변수)가 다른 변수(독립 변수)에 어떻게 의존하는지를 설명하려는 경우에 사용됩니다. 이 관계를 통해, 우리는 예측, 추론, 또는 두 변수 사이의 인과 관계를 이해하는 데 도움이 되는 모델을 생성할 수 있습니다.

    머신러닝에서의 선형 회귀

    머신 러닝에서, 선형 회귀는 지도 학습의 한 형태로 주어진 입력 데이터에 대한 출력을 예측하는 데 사용됩니다. 이 경우에도, 우리의 목표는 예측 모델을 학습하여 새로운 데이터에 대한 출력을 예측하는 것입니다. 특히, 선형 회귀는 연속적인 값을 예측하는 회귀 문제에서 효과적입니다.

     

    선형 회귀의 기본 구성 요소

    선형 회귀는 다음의 기본 요소로 구성됩니다:

    $$ y = X\beta + \epsilon $$

    • 독립 변수(X): 이들은 우리의 예측을 위한 입력 데이터입니다. 이들을 통해 종속 변수를 예측하려고 합니다.
    • 종속 변수(Y): 이것은 우리가 예측하려는 대상입니다. 독립 변수의 함수로서, 종속 변수는 독립 변수에 의해 "예측"됩니다.
    • 회귀 계수(β): 이들은 독립 변수가 종속 변수에 미치는 영향을 결정하는 파라미터입니다. 선형 회귀의 목표 중 하나는 이 회귀 계수를 최적으로 결정하는 것입니다.
    • 잔차(e): 이는 관측값과 선형 회귀 모델에 의해 예측된 값 사이의 차이입니다. 잔차를 최소화하는 것이 선형 회귀 모델의 주된 목표입니다.
    • 가정들: 선형 회귀 모델은 몇 가지 기본적인 가정에 기반합니다. 이 가정들은 잔차의 정규성, 독립성, 동일한 분산성 등을 포함합니다.

     

    선형 회귀 모델의 학습 방법

    선형 회귀 모델의 학습은 회귀 계수를 결정하는 과정으로 볼 수 있습니다. 이러한 과정은 대개 최소제곱법이나 경사하강법을 통해 이루어집니다.

    최소제곱법(Ordinary Least Squares)

    이 방법은 관찰된 데이터를 가장 잘 설명하는 선형 함수를 찾는 방법입니다. OLS는 종속 변수와 독립 변수 사이의 관계를 가장 잘 설명하는 회귀선을 찾기 위해 잔차(종속 변수의 관측 값과 모델에 의해 예측된 값 사이의 차이)의 제곱합을 최소화하는 방법입니다.

    경사하강법(Gradient Descent)

    이 방법은 잔차의 제곱합을 최소화하는 회귀 계수를 찾는 반복적인 방법입니다. 각 반복에서, 우리는 현재의 회귀 계수를 조정하여 손실 함수(여기서는 잔차의 제곱합)를 줄입니다. 이 방법은 더 큰 데이터셋에서 효과적입니다.

    선형 회귀 모델의 학습은 모델의 성능을 최적화하는 것을 목표로 하며, 이는 회귀 계수의 정확한 추정을 통해 이루어집니다. 이 과정은 주어진 데이터셋에 대해 잔차를 최소화하는 방식으로 이루어집니다.

     

    선형 회귀 모델의 평가

    선형 회귀 모델의 성능을 평가하는데는 여러 가지 방법이 있습니다. 가장 흔히 사용되는 지표는 결정계수(R-squared), 수정 결정계수(Adjusted R-squared), 평균제곱오차(MSE), 평균절대오차(MAE), 루트평균제곱오차(RMSE) 등입니다.

    결정계수(R-squared)

    결정계수(R-squared)는 회귀 모델이 데이터의 분산을 얼마나 잘 설명하는지를 나타내는 지표로, 0 1 사이의 값을 가집니다. 1에 가까울수록 모델이 데이터를 잘 설명하고 있다는 의미입니다.

    수정 결정계수(Adjusted R-squared)

    수정 결정계수(Adjusted R-squared)는 독립 변수의 수가 많아질수록 페널티를 부여하여 R-squared를 보완한 지표입니다.

    - 평균제곱오차(MSE)는 실제 값과 예측 값의 차이를 제곱하여 평균한 값입니다. MSE는 모델의 성능을 나타내는 가장 직관적인 지표 중 하나입니다.

    평균절대오차(MAE)

    평균절대오차(MAE)는 실제 값과 예측 값의 절대 차이의 평균입니다. MAE는 예측 오차의 크기를 직접적으로 해석할 수 있게 해줍니다.

    루트평균제곱오차(RMSE)

    루트평균제곱오차(RMSE) MSE의 제곱근으로, 실제 값과 예측 값의 차이를 직관적으로 나타내는 지표입니다.

     

    선형 회귀의 문제점 및 해결 방안

    선형 회귀 모델은 몇 가지 주요한 문제점을 가질 수 있습니다.

     

    다중공선성

    독립 변수들 사이에 강한 상관관계가 존재할 때 발생합니다. 이 경우, 변수 선택이나 정규화 방법 등을 이용하여 해결할 수 있습니다.

    이상치

    회귀 모델은 이상치에 매우 민감하며, 이로 인해 모델의 성능이 저하될 수 있습니다. 이상치 탐지 및 제거, 또는 로버스트 회귀(Robust Regression)와 같은 방법으로 해결할 수 있습니다.

    모형의 편향과 분산

    복잡한 모델은 훈련 데이터에 과적합되는 경향이 있어, 새로운 데이터에 대한 예측 성능이 저하될 수 있습니다. 이를 해결하기 위해 교차 검증, 정규화, 앙상블 등의 방법을 사용할 수 있습니다.

    비선형성과 상호작용

    실세계 데이터는 대부분 선형성을 완벽하게 따르지 않습니다. 이러한 문제를 해결하기 위해 다항 회귀나 다중 회귀 분석 등을 사용할 수 있습니다.

     

    선형 회귀의 확장

    기본적인 선형 회귀 외에도, 여러 가지 확장된 형태의 선형 회귀가 존재합니다.

     

    다중 선형 회귀

    둘 이상의 독립 변수를 가지는 회귀 모델입니다. 이를 통해 복잡한 실세계 문제를 더 잘 표현할 수 있습니다.

    다항 선형 회귀

    독립 변수의 고차 항을 고려하는 회귀 모델입니다. 이를 통해 비선형적인 패턴을 잡아낼 수 있습니다.

    릿지(Ridge), 라쏘(Lasso), 엘라스틱넷(ElasticNet)

    이들은 모델의 복잡성에 페널티를 부여하여 과적합을 방지하는 정규화 방법입니다.

    릿지(Ridge) 회귀

    릿지 회귀는 선형 회귀의 확장으로, 과적합을 방지하기 위해 사용됩니다. 릿지 회귀는 회귀 계수의 크기에 제약을 두는 방식으로 동작하며, 이는 모든 계수의 제곱 값을 더한 것을 제약 조건으로 두는 L2 정규화를 사용합니다. 릿지 회귀에서는 이 제약 조건을 만족하면서 손실 함수를 최소화하는 계수를 찾습니다. 이 방식은 모델이 훈련 데이터에 과도하게 적합하는 것을 방지하고, 계수의 크기를 축소하여 모델의 일반화 성능을 향상시킵니다.

    라쏘(Lasso) 회귀

    라쏘 회귀도 릿지와 같이 선형 회귀의 확장이며, 과적합을 방지하기 위해 사용됩니다. 라쏘 회귀는 릿지 회귀와 유사하게 회귀 계수의 크기에 제약을 두지만, L1 정규화를 사용합니다. , 모든 계수의 절대값을 더한 것을 제약 조건으로 사용합니다. 이 방식은 계수의 값이 완전히 0이 될 수 있도록 하여, 변수 선택 기능을 가지게 합니다. 이러한 특성 때문에 라쏘 회귀는 불필요한 특성을 제거하고 중요한 특성만을 선택하는 효과가 있습니다.

    엘라스틱넷(ElasticNet) 회귀

    엘라스틱넷 회귀는 릿지 회귀와 라쏘 회귀의 장점을 모두 결합한 방식입니다. 이 방법은 L1 정규화와 L2 정규화를 모두 사용하여, 모델의 복잡성을 제어합니다. 엘라스틱넷 회귀는 많은 양의 특성을 가진 데이터 세트에 효과적이며, 여러 특성이 상관관계를 가질 때도 잘 동작합니다.

     

    이 세 가지 방법 모두, 특정 파라미터를 조정함으로써 정규화의 정도를 조절할 수 있습니다. 이 파라미터는 보통 교차 검증을 통해 최적의 값을 찾게 됩니다.

     

    실제 데이터를 이용한 선형 회귀 모델 생성 과정

    선형 회귀 모델의 생성 및 평가를 위해 실제 데이터를 사용하는 방법을 살펴보겠습니다.

    - 데이터 준비: 적절한 데이터 세트를 준비하거나 생성합니다. 이 데이터는 모델을 학습하고 테스트하는 데 사용됩니다.

    - 데이터 전처리: 결측치 제거, 변수 변환, 범주형 데이터의 수치화 등을 수행합니다.

    - 모델 학습 및 예측: 선형 회귀 모델을 학습하고, 테스트 데이터에 대해 예측을 수행합니다.

    - 결과 평가: 앞서 언급한 여러 평가 지표를 사용하여 모델의 성능을 평가합니다.

     

    이 과정을 거치면, 실제 데이터에 대한 선형 회귀 모델을 만들고 평가할 수 있습니다.

     

     

     

     

    이 글을 통해 선형 회귀의 핵심 개념과 그 활용 방법을 이해하는데 도움이 되었길 바랍니다. 감사합니다.