[고려대DSBA|Business Analytics]Linear Regression - Business Analytics

Joo·2024년 1월 11일
0

Data Analytics 101

목록 보기
2/15

Github : https://github.com/pilsung-kang/Business-Analytics-ITS504-/tree/master/02%20Multiple%20Linear%20Regression
Youtube : https://www.youtube.com/watch?v=UIdvUPLQIIY&list=PLetSlH8YjIfXMOuS4piqzJRvSZorDnNUm&index=5


X : 설명 변수, 독립 변수 (attributes, features)
Y : 종속 변수 (target)

다중 선형 회귀의 목적

: 충분히 많은 설명 변수들(X)과 종속 변수(Y)의 조합들이 주어졌을 때, 설명 변수들과 종속 변수 사이의 관계를 맺어주는 가중치(weight, 회귀계수, beta)를 찾는 것 = 일차항의 결합에 대응하는 회귀 계수(beta)를 찾는 것

  • 여러 설명 변수들(X)과 정량화된 종속 변수(Y) 사이의 선형 관계를 찾는 것
  • 선형 관계 : 종속 변수는 설명 변수들의 일차항의 결합으로 표현된다. (1차항들의 결합)
  • 설명 변수가 하나일 때는 회귀식이 선, 두 개일 때는 평면, 세 개 이상일 때는 초평면(hyper plane)을 보임

회귀 계수를 찾는 법

: 최소자승법(Ordinary least square, OLS)

  • 관측값(y)과 추정값(y hat) 사이 차이의 제곱(squared difference)을 최소화하는 것
    • square : 부호 상쇄하기 위한 것
      - 벡터식, 행렬식 교재 참고 (굿노트)
    • 엡실론(잔차)이 정규 분포를 이루고, 잔차의 범위가 예측값의 범위에 따라 달라지면 안 됨

회귀 모델이 얼마나 데이터를 잘 설명하는 지에 대한 지표

: SST, SSR, SSE + (Adjusted)R-squared

  • SST(=TSS) : 관측값과 관측값 평균의 차이의 제곱들의 합 (데이터가 동일하면 SST는 항상 동일)
  • SSR : 예측값과 관측값 평균의 차이의 제곱들의 합 (클수록 좋음. 왜?)
  • SSE : 관측값과 예측값의 차이의 제곱들의 합 (작을수록 좋음.)
  • OLS가 SSE를 최소화시키는 것임!!!
  • R-squared(결정 계수) = 1 - (SSE/SST) = SSR/SST : 전체 데이터 변동성에 대한 회귀식에 의해 설명되는 변동성 사이의 비율
    • R-squared = 1 : 설명 변수와 독립 변수가 완벽한 선형 관계에 있음
    • R-squared = 0 : 설명 변수와 독립 변수가 선형 관계를 나타내지 않음
    • R-squared < 0 : 회귀 모델이 데이터의 기본 패턴을 전혀 설명하지 못하고, 실제 데이터 평균을 이용한 단순 예측보다도 더 나쁜 성능을 보임 (언더피팅, 데이터 내재 구조를 포착하지 못했을 때)
    • 데이터를 잘 설명하지 않는 설명 변수라도 그냥 변수 개수가 증가하면 R-squared는 증가함(단조 증가) (단점)
    • 그에 대한 대안으로 등장한 것이 Adjusted R-squared
      • 확실한(유의미한) 변수를 추가할 때만 R-squared 증가함
    • P value가 유의하면 (Adjusted)R-squared를 참고해야함
      • 어떤 변수의 회귀 계수가 -123, p value가 0.01이면, Y가 1 증가할 때 해당 설명 변수는 123 감소함

회귀 모델 성능 지표(평가)

: MAE, MAPE, (R)MSE

  • AE(Average Error) : 관측값(Y)과 예측값(Y hat)의 단순 차이 (부호 영향이 커 사용하지 않음)들의 평균
  • MAE(Mean Absolute Error) - 평균 절대 오차 : 관측값과 예측값 사이 차이의 절대값의 평균. 그러나 미분 불가능 & MAE가 같은 두 모델은 항상 똑같은 성능을 가진 것이라고 할 수는 없음
    • 평균 오차를 볼 수 있음
  • MAPE(Mean Absolute Percentage Error) : MAE 보완. 여전히 절대값 사용. 정답 대비 오차 비율. 그러나 미분 불가능.
  • (R)MSE(Mean Squared Error) - 평균제곱근 오차 : 관측값과 예측값 사이 차이 제곱의 평균. MAE, MAPE와 달리 미분 가능. 데이터가 정규 분포를 따르거나 극단적인 outlier가 없을 때 사용 가능.
    • RMSE는 MSE가 너무 큰 경우 사용하면 좋음
    • 오차 제곱을 평균낸 거라 더 큰 오차에 대해 더 많은 패널티를 줌
  • MAE, MAPE, MSE, RMSE 중 적절한 거 골라 사용
(보충) R-squared score과 MAE, MAPE, (R)MSE의 차이?
  • R2는 결정 계수고 RMSE외 나머지는 모델 성능 지표임
  • R2 : 독립 변수가 종속 변수를 얼마나 잘 설명하는지 보여주는 지표임 (=모델이 얼마나 잘 예측 및 설명하는가?) 이거 맞는 말임? RMSE도 마찬가지 아닌가?
    • 모델이 데이터의 변동성(분산)을 얼마나 잘 설명하는가
    • SST, SSE, SSR로 계산함
  • RMSE : 예측값이 관측값과 얼마나 다른지를 보는 척도
    • 예측 오차의 크기를 측정
    • 원래 관측값과 같은 단위를 가져 직관적임
    • 그러나 모델 간 성능 비교에 유용하지만 절대적 기준은 아님 (= '좋음', '나쁨'을 마냥 결정할 수 있는 것이 아님)
  • !R2는 그냥 모델 메트릭 끝에 나오고, RMSE는 Loss function에 사용되는 거지 굳이 막 구분하지는 않았다고 함.
profile
적당히 공부한 거 정리하는 곳

0개의 댓글