단순선형 회귀모델과 상관관계 분석
상관관계(Correlation)
한 변수가 변화할 때 다른 변수가 함께 변화하는 경향성을 보일 때 두 변수 사이의 관계를 상관관계라고 한다.
인과관계(Causation)
한 변수의 변화가 원인이 되어 그 결과로써 다른 변수를 변화시킬 때, 두 변수 사이의 관계를 인과관계라고 한다.
- 인과관계가 있는 변수는 상관관계도 있지만, 역은 성립하지 않는다.
- 상관관계의 판단은 쉽지만 인과관계는 그렇지 않다.
그래서 이 뒤에 상관관계 분석은 이름처럼 상관관계를 분석하는 것이지, 인관관계를 분석하는 것이 아니라는 걸 명심해야 한다!
선형회귀 (Linear Regression)
선형회귀 모델은 데이터를 가장 잘 대변하는 최적의 선을 찾는 과정이다.
독립변수들(X)과 연속형 종속변수(Y) 사이의 선형 관계를 학습한다.
최소자승법 (Ordinary Least Square, OLS)
X와 Y의 관계를 가장 잘 나타내는 Best line을 찾는 방법인데,
잔차제곱의 합(SSE, Sum of Square Error)을 최소화하는 회귀계수 β 들을 구하는 방법이다.
- 잔차(Residual) : 실제 관측값 - 예측값
- 잔차 제곱의 합(SSE) : 회귀 모형의 Cost function → Minimize
선형회귀의 장/단점
장점
- 학습 및 예측 속도가 빠른 것이 특징이고
- 모델의 해석이 명확하다 (회귀계수 해석 가능)
단점
- X와 Y의 선형관계를 가정하기 때문에, 이러한 가정이 현실에서는 잘 적용되지 않을 가능성이 있고
- 이상치에 다소 민감하다
상관관계 분석(Correlation Analysis)
두 변수 사이의 상관관계를 판단하기 위한 분석과정이다.
피어슨 상관계수(Pearson Correlation Coefficient)
상관 분석의 결과로, 두 변수 사이에 어느 정도로 강한 선형상관관계가 있는지를 -1에서 1 범위의 숫자로 나타낸 것이다.
상관관계 분석은 다음의 4가지 기본가정을 전제로 하는데
- 선형성: 두 변인 X와 Y의 관계가 직선적이어야 한다.
- 등분산성: X의 값에 관계없이 Y의 분산이 일정해야 한다
- 정규성: 각 변인은 모두 정규분포를 따라야 한다.
- 독립성: 각 샘플들은 모두 독립적이어야 한다.
대상 변수들이 이 가정을 만족하지 않는다면 상관계수를 구해도 의미가 없다.
가정 1. 선형성(Linearity)
선형성은 독립변수(X)와 종속변수(Y) 사이에는 선형 관계가 성립하는 것이다. 주로 시각화를 통해 확인할 수 있다.
다음 그림에서 두 변수 사이의 상관관계가 선형적인가? 오른쪽과 같은 데이터는 매우 강한 비선형적 상관관계가 있지만, 단순선형 회귀모델로 분석하면 0에 가까운 상관계수가 나온다.
이런 경우, 미리 산점도 등을 살펴본 뒤에 상관계수를 파악해 보면 좀 더 정확하게 분석할 수 있다.
✅ 선형관계를 만족하지 않는 경우, 해당 변수를 제거하거나, 로그 변환, 제곱근 변환등으로 비선형성을 완화하는 방법이 있다.
가정 2. 등분산성(Homoscedasticity)
모든 입력범수의 범위에 대해 잔차(오차)의 분산이 동일해야 한다는 가정이다.
잔차
잔차(residual)는 실제 관측값과 모델이 예측한 값 간의 차이를 의미한다.
예를 들어, 키와 몸무게 간의 관계를 예측하는 회귀 모델에서 키가 170cm인 개인의 실제 몸무게가 70kg인데, 모델이 68kg을 예측하였다면, 잔차는 2kg이 된다.
잔차는 정규성을 가져야 하는데 평균이 0인 정규분포를 구성해야 한다는 의미다.
잔차 확인 방법
잔차를 확인하는 대표 확인 방법으로는 Q-Q(Quantile-Quantile) plot이 있다. 잔차를 오름차순으로 나열했을 때의 분위수와 이론적인 잔차의 분위수 값을 비교해서 정규성을 확인하는 방법이다.
✅ 만약 정규성이 크게 떨어진다고 하면, 데이터에 로그나 루트를 취하는 방법을 사용하거나, 더 많은 데이터를 수집해 중심극한정리에 가까워지도록 기대할 수 있다.
분산
분산(variance)은 잔차들이 얼마나 퍼져 있는지를 나타내는 값이다. 잔차들이 모두 비슷한 값을 가진다면 분산이 작고, 잔차들이 서로 크게 차이 난다면 분산이 커진다.
등분산성은 모든 데이터 범위에서 잔차의 분산이 일정하다는 것을 의미한다. 예를 들어, 특정 독립 변수(예: 키)의 값이 크거나 작아지더라도 잔차의 분산이 비슷해야 한다는 것이다.
예를 들어, 키가 작은 사람들(150cm, 160cm)과 키가 큰 사람들(180cm, 190cm)의 잔차 분산이 크게 차이 난다면, 이는 등분산성이 깨진 상태이다. 이런 경우, 모델이 키가 큰 사람들의 몸무게를 정확하게 예측하지 못할 가능성이 높아진다.
요약하면, 등분산성은 모델이 전체 데이터에 걸쳐 일관된 성능을 발휘하도록 보장하는 중요한 가정이다. 이 가정이 충족되지 않으면, 모델의 예측력이 특정 구간에서 저하될 위험이 있다.
반의어: 이분산성(Heteroscedasticity)
가정 3. 정규분포성
각 변수는 모두 정규분포를 따라야 한다. 일반적으로 분석 전에 표준화(Standardization) 방식의 전처리를 진행해 준다.
가정 4. 독립성
각 샘플들은 모두 독립적으로 추출되었어야 한다. 즉, 독립변수들(X) 간 상관관계(Correlation)가 존재하지 않아야 한다.
다중공선성은 회귀 모형에 사용된 일부 독립변수가 다른 독립변수와 상관성이 높아, 모델 결과에 부정적 영향을 미치는 현상을 말하는데 이는 독립성 가정이 위배되는 상황으로, 제거가 필요한 상황이다.
만약 독립성 가정이 위배된다면? 독립변수들의 상관관계의 영향으로 회귀 모형의 예측 결과가 부정확해질 수 있다.
예를 들어, y = b_1*x_1 + b_2*x_2
라는 식이 있다고 가정해 보자.
여기서 y는 아파트 가격을, x_1은 아파트 크기(㎡), x_2는 아파트 크기(평수)를 나타낸다고 하자. x_1과 x_2는 사실상 같은 정보를 다르게 표현한 변수들이다. x_2가 1만큼 증가하면, x_1도 자연스럽게 같은 비율로 증가할 것이다.
그런데 이 상황에서 x_1이 1만큼 증가했을 때의 y값의 변화를 따진다면, x_1의 영향력을 과대평가하거나, x_2의 영향력을 무시하게 되어 예측 결과가 부정확해질 수 있다. 이처럼 두 변수 간에 강한 상관관계가 존재하면, 이를 다중공선성 문제라고 한다.
다중공선성 확인
다중공선성을 확인하는 방법에는 VIF(Variance Inflation Factor, 분산팽창계수)가 있다.
✅ 보통 VIF가 10이 넘으면 다중공선성에 문제가 있다고 여겨지는데 해결 방법으로는 다중공선성이 높은 변수 조합 중 하나의 변수를 제거하는 방향으로 진행한다.
R-square (결정계수)
회귀 모형 내에서 독립변수들(X)이 설명할 수 있는 종속변수(Y)의 변동성을 의미한다.
0 ≤ R-square ≤ 1 범위를 가지는데,
- R-square = 0 : X와 Y는 어떤 선형관계도 존재하지 않음
- R-square = 1 : X와 Y는 회귀모형으로 설명될 수 있는 완벽한 선형관계를 가짐
💡 이렇게 가정을 맞춰주는것도 중요한데 이상치를 잘 처리해주는것도 중요하다.
회귀분석의 결과는 이상치의 유무에 민감한 경향이 있기 때문에 적절한 이상치를 제거해줄 필요가 있다. 이때 IQR을 이용한 방법도 많이 사용된다. IQR에 대한 자세한 설명은 다음 링크에 잘 정리되어있다!
사분위 범위 및 Boxplot으로 데이터 분포 분석 (2)
상관행렬(Correlation Matrix)
입력 피쳐에 포함된 모든 변수 쌍의 조합에 대한 상관계수를 행렬의 형태로 나타낸 것으로, 계산 결과는 대칭행렬로 나오지만, 일반적으로 의미가 없는 중복값과 대각선 원소를 제거한 후, 다음과 같은 하삼각행렬의 형태로 시각화한다.
- 데이터 탐색 시, 변수 간의 상호 연관성을 파악하는데 유용하다.
상관계수 행렬의 시각화
공선성(Collinearity)과 다중공선성(Multicollinearity)
상관행렬을 시각화했을 때 아래와 같이 몇몇 변수들 간의 상관계수가 1.0이나 -1.0으로 나타나는 경우가 있는데, 이런 경우 두 변수 사이에 공선성이 있다고 표현한다.
- 한 변수가 서로 다른 단위로 표기되어 데이터셋 내에 중복으로 포함되는 경우
비슷하게 다중공선성은 한 변수가 여러 변수들의 선형결합으로 나타나는 경우를 의미한다.
- 다른 여러 변수들의 평균값이 별도 변수로 데이터셋에 포함되어 있는 경우
이러한 경우 공선성, 또는 다중공선성이 나타나지 않을 때까지 변수를 제거하는 방식의 전처리를 진행한다.
상관분석과 선형회귀의 관계
상관계수는 직선의 기울기가 아니다
상관계수는 상관관계의 강도를 나타낸 것이므로, 회귀 직선의 기울기가 변해도, 그 부호가 바뀌지 않는 한 값이 변하지 않는다.
반면 회귀분석의 결과로 나오는 회귀계수(결정계수)는, 직선의 기울기 값 그 자체를 의미하므로 데이터의 기울기가 변하면 따라서 변화한다.
참고로, 분석에 사용하는 변수들이 모두 평균 0, 표준편차 1인 표준정규분포를 따르는 경우에는, 상관계수와 회귀계수의 값이 일치하게 된다.
모델 평가와 결과 해석
모델 결과 해석
회귀 계수에 대한 표준편차, 신뢰구간, p-value 등으로 회귀 모형 해석 가능하다.
선형 회귀 실전 사례
최신 LLM 데이터의 평가 모델로 활용된 적이 있다.
데이터의 평가 지표를 Variable로 두고 Quality를 예측하는 모델을 학습해서 새로운 데이터가 들어왔을 때 Quality를 예측하는 방법으로 사용되었다.
👉 각 데이터 평가 지표가 얼마나 유의미하고 중요한지도 확인 가능 (선형 회귀를 동일한 방법으로도 활용 가능)
아래 평가 지표에서 Coef 값과 p_value값을 통해서 어떤 평가지표는 유의미하고, 어떤 평가지표는 유의미하지 않은지, 그리고 유의미한 평가지표는 Coef값이 얼마여서 어느 정도의 영향력을 끼치고 있는지에 대한 부분을 선형회귀를 통해서 잘 해석한 사례도 있었다.
'ML' 카테고리의 다른 글
데이터 저장소 Data Source, Data Lake, Data Warehouse, Data Mart 기본 개념 (0) | 2024.10.24 |
---|---|
p-value, R²(결정 계수), β(베타 계수) 해석 (3) | 2024.09.25 |
선형회귀분석과 머신러닝의 차이 (0) | 2024.09.20 |
머신러닝 프로세스에서 변수 선택 방법 실전 사례 - Correlation 기반, Feature Importance 기반, Permutation Importance, Target permutation, Adversarial Validation (1) | 2024.09.03 |
머신러닝 프로세스에서 변수 선택 방법 - Filter methods, Wrapper methods, Embedded methods (0) | 2024.09.03 |