공부일기/Machine-Learning

선형 회귀(Linear regression)

pipiiiiii 2024. 7. 10. 12:21

선형 회귀를 시작하기 전에 회기 분석이란

회귀 분석을 가장 쉽게 말하자면, 결과를 일으키는 원인을 찾아가는 과정이다. 

회귀 분석과 관련된 변수는 아래와 같다

  • 종속 변수 : 실험에서는 결과에 해당하는값이다. 
  • 체계적 변수: 사람이 설정, 통제, 혹은 조절할 수 있는 영역으로 연구자들이 인위적으로 변화를 만들 수있는 부분을 의미한다. 
    • 독립 변수 : 원인에 해당하는 개념이다.
    • 통제 변수 : 인위적으로 조작할 수 있지만, 연구에서 핵심적인 관점을 두지 않는 대상이다. 
      • 실험 연구 환경 : 무작위 배분과 같이 독립 변수 이외에 종속 변수에 영향을 주는 대상들을 통제하는 것을 의미한다. 
      • 예측(이해) 분야 : 모델의 타당성을 높이는 역할을 수행한다. 
  • 비체계적 변수 : 통계 오차에 해당하는 개념이다. 보통 정규 분포가 나오는 경우가 가장 이상적이다. 왜냐하면 오차 관측치가 서로 독립적이라면, 독립 변수와 통제 변수와도 독립적임을 가정할 수 있기 때문이다. 

 

회귀 분석의 목적은 크게 세 가지로 볼 수 있다.

  1. 데이터의 이해 : 독립 변수(X)를 가지고 종속 변수(Y)의 변화를 이해하는 것인데, 이러한 관점에서 회귀 분석은 과거 현상이 어떤 원인때문에 발생했는지 밝혀내고 이해하는데 사용될 수 있다.   
  2. 예측 : 과거의 데이터를 기반으로 모델을 형성하여, 미래의 값을 예측하는데 사용한다. 
  3. 인과관계 증명 : 인과 관계를 측정하고 추적하는 기능을 수행할 수 있다.
    • 인과관계 측정은 다른 요인을 통제했을 때, 원하는 효과가 다시 반복적으로 나타나는가를 확인하는 것이다.
    • 인과관계 추적은 종속 변수(Y)의 변화를 독립 변수(X)의 변인에 귀속시킬 수 있는 지 검증하는 것이다.     

 

선형 회귀란

선형 회귀는 종속 변수 Y와 한 개 이상의 독립 변수(또는 설명 변수) X와의 선형 상관 관계를 모델링하는 회귀분석 기법이다. 좀 더 쉽게 말하자면 데이터를 가장 잘 대변하는 최적의 선을 찾는 과정을 말한다. 

 

한 개의 독립 변수에 기반한 경우에는 단순 선형 회귀, 둘 이상의 독립 변수에 기반한 경우에는 다중 선형 회귀라고 한다. 

 

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

 

선형 회귀는 여러 사용 사례가 있지만, 대개 아래와 같은 두 가지 분류 중 하나로 요약할 수 있다. 

  • 값을 예측하는 것이 목적일 경우, 선형 회귀를 사용해 데이터에 적합한 예측 모형을 개발한다. 
    개발한 선형 회귀식을 사용해 y가 없는 x값에 대해 y를 예측하기 위해 사용할 수 있다.
  • 종속 변수 y와 연관된 독립 변수가 존재하는 경우에, 선형 회귀 분석을 사용해 관계를 정량화할 수 있다. 

 

 

선형 회귀 모델

 

위 그림은 선형 회귀 모델을 나타낸 것이다. 
빨간 대각선은 일차 방정식 Y = aX + b로 표현할 수 있고 이 함수가 선형 회귀 모델이다. 

회귀 모델에서 X의 값이 주어지면 Y의 값을 예측할 수 있고 X앞에 붙은 a(기울기)를 통해 X가 한 단위 변할 때 Y가 얼마나 변하는 지 추정할 수 있다. 

 

그렇다면 X, Y의 관계를 정하는 대각선은 어떻게 결정할까?

위 그림처럼 무수히 많은 대각선을 그릴 수 있지만 X, Y 데이터에 가장 적합한, 가장 잘 대표하는 선을 선택하는데 일반적인 방법으로는 최소제곱법(OLS)가 있다. 

 

 

최적 선형회귀모델 선택

회귀선으로 예측한 값과 실제 데이터의 값에 차이가 있을 때 이 값을 잔차라고 한다. 

그리고 각 잔차 값을 제곱하고 모두 더한 것을 잔차제곱합이라고 하는데 잔차제곱합이 작다는 것은 실제 값과 회귀 모델로 예측한 값의 차이가 작다는 의미로 X, Y의 관계를 오차가 적도록 가장 잘 대표한다고 볼 수 있다. 

 

잔차제곱합이 가장 작은 선을 선형 회귀 모델로 선택하며, 회귀 모델(대각선)을 결정한다는 말은 Y = aX + b라는 회귀선의 a, b를 결정한다는 말이다. 

 

 

회귀 모델 진단

회귀 모델을 만들었다면 모델의 통계적 유의성에 대해 따져보아야 한다. 

회귀식으로 표현하면 Y = aX + b에서 a = 0 일 가능성을 따져보는 것이다.

회귀식에서 a는 회귀 계수이며 회귀 계수는 t검정을 통해 유의성을 검정한다. 

 

 

 

회귀 모델의 성능

회귀 모델 성능은 결정계수(R^2)으로 측정한다. 

 

 

선형 회귀 코드 공부

https://github.com/DIB-PP/Machine-Learning

 

GitHub - DIB-PP/Machine-Learning

Contribute to DIB-PP/Machine-Learning development by creating an account on GitHub.

github.com

 

 

 

 

 

참고 사이트