[Data Analysis] 1. Multiple Linear Regression Analysis

6 분 소요

다중 선형 회귀 모형 : Multivariate Linear RegressionPermalink

목적 : 종속변수 Y와 설명변수 집합 x1,x2,,xp 사이의 관계를 선형으로 가정하고 이를 가장 잘 설명할 수 있는 회귀 계수(Regression coefficients)를 추정

y=β0+β1x1++βdxd+ϵ        ˆy=^β0+^β1x1++^βdxd

우리가 알고있는 y,x1,x2,,xd 를 통해 미지수(파라미터) ^β0,^β1,,^βd 를 추정하여 y와 가장 유사한 값 ˆy를 찾는 모형

회귀 모형에서의 노이즈(noise, ϵ)란? : 데이터 생성 및 수집 과정에서 발생할 수 있는 여러 원인들에 의해 발생하는 변동성

즉, 선형 회귀 모형은 반응변수들과 설명변수 사이의 관계를 선형으로 표현 → ˆy=^β0+^β1x1++^βdxd

01

그렇다면, 어떤 직선이 설명변수와 종속변수를 가장 잘 표현하는가 → 최소자승법: Ordinary Least Squares(OLS)

최소자승법 : Ordinary Least Squares(OLS)Permalink

: 추정된 회귀식에 의해 결정된 값과 실제 종속변수 값의 차이를 최소한으로 줄이는 것을 목적

02

{실제값 - 예측값}을 모두 더하게 되면 부호가 달라져 측정에 어려움이 있음 → 제곱하여 더하는 것이 최소자승법

Actual target: y=β0+β1x1++βdxd+ϵPredicted target: ˆy=^β0+^β1x1++^βdxdOLS: min12ni=1(yi^hi)2=12(yi(^β0+^β1xi1++^βdxid))2

행렬을 이용한 해 구하기

X:n×(d+1) matrix,y:n×1vector

ˆβ:(d+1)×1 vector

03

minE(X)=12(yXˆβ)T(yXˆβ)E(X)ˆβ=XT(yXˆβ)=0=XTy+XTXˆβ=0ˆβ=(XTX)1XTy
선형 회귀 분석에서 최소자승법(OLS)를 이용할 경우 ˆβ , 학습 데이터에 대해 유일하고 명시적인 해가 존재

X,y 라는 이미 데이터를 통해 알고 있는 값의 조합으로 ˆβ 이라는 미지수를 찾기 때문에 하나의 해가 존재 (Nural Network에서는 해당하지 않음)

04

만족해야하는 조건

  1. 오차항 ϵ 이 정규분포

    05

    오잔차의 분포를 나타내는 QQ plot에서 정규분포를 벗어남, histogram에서도 확인 가능

  2. 설명변수와 종속변수 사이에 선형관계가 성립

  3. 각 관측치들은 서로 독립

  4. 종속변수 y에 대한 오차항은 설명변수 값의 범위에 관계없이 일정 (homoskedasticity)

    06

    (a) : 종속변수의 추정값이 증가할수록 잔차값도 증가하는 추세

    (b) : 평균은 0으로 일정하지만 ˆy값이 커질수록 변동성이 커짐

    (c) : 이차항 형태를 보임

    (d) : 어떠한 값의 크기에 관계없이 추세나 변동성을 보이지 않음

다중 선형 회귀 모형 : 회귀 모형의 적합도Permalink

07

데이터를 얼마나 잘 설명하고 있는지를 하나의 숫자로 어떻게 측정하느냐 → 회귀 모형의 적합도

↳ 데이터의 종속변수(y)가 갖는 변동성을 이용해서 계산

ni=1(yiˉy)2=ni=1(yi^yi+^yiˉy)2=ni=1(^yiˉy)2+ni=1(yiˆy)2+2ni=1(^yiˉy)(yiˆy)=ni=1(yiˉy)2+ni=1ˆϵ2

종속변수의 전체 변동성(분산) = 회귀식이 설명할 수 있는 변동성 + 회귀식이 설명할 수 없는 변동성

08

좋은 회귀모형이란 종속변수의 전체 변동성중에서 회귀식이 설명할 수 있는 변동성이 커야하고 회귀식이 설명할 수 없는 변동성(잔차)가 작아야함 → 이것을 수치화 한 것이 결정계수, R2

회귀 모형의 적합도 (결정계수, R2) = 전체 변동성 중 회귀식이 설명할 수 있는 변동성의 비율

R2=1SSESST=SSRSST0R21

09

  • R2=1 → 회귀직선으로 Y의 총변동이 완전히 설명됨 (모든 측정값들이 회귀직선 위에 있는 경우)

  • R2=0 → 추정된 회귀직선은 XY 의 관계를 전혀 설명하지 못함

10

선형회귀분석을 했을 때 R2가 높게 나왔을 때는 분석을 잘 한 것이 아니라 데이터의 입력변수와 출력변수 사이에 강한 선형관계가 있음으로 해석

하지만 R2 는 유의하지 않은 변수가 추가되어도 항상 증가함 → Adjusted R2는 이러한 단점을 앞에 계수를 곱해줌으로써 보정

R2adj=1[n1n(p+1)]SSESST1SSESST=R2

변수의 수 p가 커지게 되면 R2adj는 작아지게 됨 → 변수가 충분한 상황에서 SSE를 줄일 수 없는 효과가 없는 변수가 추가되면 R2adj는 변수가 추가됨에 따라 작아질 수 있음

11

Adjusted R2를 사용하면 변수를 무작정 추가하는 상황을 피할 수 있음

예시 : 도요타 코롤라 중고차 가격 예측Permalink

12

  1. 데이터 전처리 : 변수 Fuel_Type은 카테고리형 변수이기 때문에 1-of-C coding(one-hot-encoding) 변환

  2. 데이터 구분 : 가용한 모든 데이터를 전부 학습에 사용하면 과적합 위험 (60%를 training data, 40%를 test data로 사용)

다중회귀분석 결과 해석

  1. 유의 확률 p-value

    선형 회귀 분석에서 해당 변수가 통계적으로 유의미한지 알려주는 지표

    0에 가까울수록 모델링에 중요한 변수이며, 1에 가까울수록 유의미하지 않은 변수

    특정 유의수준(α)을 설정하여 해당 값 미만의 변수만을 사용하여 다시 선형회귀분석을 구축하는 것도 가능 (주로 α=0.05 사용)

    13

    H0:ˆβi=0 → 귀무가설 : 설명변수가 종속변수에 영향을 끼치지 않는다

    H1:ˆβi0 → 대립가설 : 설명변수가 종속변수에 영향을 끼친다

    귀무가설을 지지한다(=대립가설을 기각한다)는 설명변수가 종속변수에 영향을 끼지지 않는 것을 의미하고 대립가설을 지지한다(=귀무가설을 기각한다)는 설명변수가 종속변수에 영향을 끼치는 것을 의미함

    p-value값이 작으면 작을수록 귀무가설을 기각할 가능성이 높음p-value가 작을수록 중요한 변수

    즉, p-value를 통해 Age_08_04(출시월), KM(주행거리), Fuel_Type_Petrol(가솔린 여부), HP(마력), Quarterly_Tax(세금), Weight(공차중량)가 중요한 변수

  2. 회귀 계수 Coefficient

    ˆy=^β0+^β1x1++^βdxd에서 각 변수에 대응 하는 β값을 의미

    해당 변수가 1단위 증가할 때 종속변수의 변화량을 의미

    양수이면 해당 설명변수와 종속변수는 양의 상관관계, 음수이면 음의 상관관계를 뜻함

    14

    Age_08_04의 회귀 계수는 -123.8319168 → 나머지 모든 조건이 동일한 상황에서 1개월 이후 출시되면 가격은 약 123유로만큼 낮아진다.

    KM의 회귀 계수는 -0.02 → 나머지 모든 조건이 동일한 상황에서 1km 더 주행했을 경우 가격은 0.02유로만큼 낮아진다.

    ↳ 그렇다고해서 Age_08_04KM보다 회귀 계수가 더 높다고해서 더 중요한 변수는 아님 (두 변수 사이의 측정 단위가 다르기 때문)

회귀모형 성능 평가Permalink

분류문제나 회귀문제를 풀 수 있는 다양한 알고리즘 존재

  • Classification : Naive bayes, Linear discriminant, K-nearest neighbor, Classification trees, etc
  • Prediction : Mutiple linear regression, Neural networks, Regression trees, etc

어떤 알고리즘은 최적의 하이퍼파라미터 설정이 필요함

  • K-nearest Neighorhood : 이웃 개체의 수 (k), Neural networks : 은닉 노드의 수 등

주어진 문제를 해결하기 위한 최적의 방법론을 선택하기 위해 개별 모델을 동등한 조건에서 평가할 필요가 있음

  • 검증 데이터 : 다양한 파라미터 조합 중 최적의 파라미터를 찾는데 주로 사용
  • 테스트 데이터 : 여러 기계학습 알고리즘 중 최적의 알고리즘을 찾는데 주로 사용

시간 정보를 고려할 필요가 없을 경우

  • 원래 데이터를 무작위 추출 방식으로 학습:검증:테스트 데이터셋 으로 분할 (검증 밑 체스트셋의 데이터가 충분히 확보할 수 있는 범위내에서 6:2:2, 8:1:1까지 분할 가능)

  • 원칙적으로 무작위로 분할한 데이터셋 구축을 충분히 반복하여 모델의 예측 성능과 안정성을 함께 비교해야함

    • 무작위 추출은 데이터셋 단위로 수행하며, 한번 추출된 데이터셋으로 비교 대상인 모든 후보 알고리즘에 일괄 적용해야함

    • 알고리즘마다 서로 다르게 무작위 추출된 데이터 셋으로 학습을 수행할 경우 공정한 비교가 불가능함

15

16

시간 정보를 반드시 고려해야 하는 경우

  • 반드시 학습:검증:테스트는 시간 순서대로 배열이 되어 있어야 함

    • 무작위 추출 방식을 사용할 경우, 미래 정보를 활용하여 과거를 예측하는 오류를 범하게 됨
  • 1번의 검증으로는 앞 선 방식과 같이 모델 성능의 안정성을 평가할 수 없음으로 Sliding Window 방식을 이용한 Time-Series Cross Validation 기법을 활용함 (10개월치의 데이터가 존재하면, 학습:검증:테스트를 2개월:1개월:1개월로 정의, window size=1개월)

17

예시 : p개의 설비 파라미터로부터 각 제품(GLASS)의 수율을 추정하는 모형Permalink

18

지표 1 : 평균오차, Average ErrorPermalink

실제 값에 비해 과대/과소 추정 여부를 판단 (부호로 인해 잘못된 결론을 내릴 위험이 있음)

Average Error=1nni=1(yiyi)

20

↳ Average Error는 0.1로 정확한 듯 보이지만 실제값과 예측값의 차이가 양수인 값과 음수인 값들이 상쇄되면서 평균오차가 낮아진 것

지표 2 : 평균 절대 오차 (Mean Absolute Error, MAE)Permalink

실제 값과 예측 값 사이의 절대적인 오차의 평균을 측정

21

  • MAE의 단점 : 실제 값과 예측된 값의 절대 차이에 대한 정보만 제공하고 상대적인 차이에 대한 정보를 제공하지 못함

    22

    두 모델의 MAE는 1로 같지만 절대적인 Y라는 정답의 크기 차이가 크기 때문에 왜곡된 결과를 도출

지표 3 : 평균 절대 비율 오차 (Mean Absolute Percentage Error, MAPE)Permalink

실제값 대비 얼마나 예측 차이가 있는지를 비율(%)로 측정

상대적인 오차율이 절대적인 오차 수치보다 제조업에서의 품질관리와 같은 분야에서 자주 사용

↳ Target이 넘지 말아야 할 상한선과 하한선 사이에서 얼마만큼의 변동성을 가지고 있는지가 중요한 상황에서 주로 사용

MAPE=1nni=1|yiyiyi|

23

MAE와 MAPE를 목적함수로 사용할 경우 추정되는 최귀식의 차이Permalink

24

두번째 그래프를 보면 MAPE는 (실제값과 추정값의 차이 / 정답) 을 나타내기 때문에 실제 정답이 0에 가까울 때는 값을 크거나 작게 추정하려고 하지 않음 → 0에 가까운 값에서는 MAPE가 MAE보다 과소 추정하는 것을 볼 수 있음

MAE와 MAPE 중 어느 지표를 더 중점적으로 고려해야 하는가?Permalink

Domain 마다 다름

  • 절대적 차이가 중요한 분야 (추천 시스템의 평점 예측) → MAE
  • 상대적 차이가 중요한 분야 (제조업에서의 품질지표 관리) → MAPE

25

영화 D에 대한 절대 오차는 1, 상대 오차는 12.5% (18×100)

하지만, 평점 1점을 2점으로 예측한 상대 오차는 100%, 평점 10점을 9점으로 예측한 오차는 10%로 다름

↳ 상대적인 오차가 아닌 절대적인 오차가 중요함 → MAE를 주 평가 지표로 사용

지표 4 & 5 : (Mean Squared Error, MSE / Root Mean Squared Error, RMSE)Permalink

부호의 영향을 제거하기 위해 절대값이 아닌 제곱(제곱합의 제곱근)을 취한 지표

논문에서는 제곱 형태인 MSE, RMSE를 더 선호하지만 현업에서는 직관적으로 볼 수 있는 MAE, MAPE를 더 많이 사용함

MSE=1nni=1(yiyi)2,RSME=1nni=1(yiyi)2

26

댓글남기기