일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 파이썬
- const
- 포인터
- Object Oriented Programming
- raw data
- array
- C++
- 배열
- 문자열
- programming
- 알고리즘
- 오블완
- assignment operator
- Pre-processing
- 반복문
- vscode
- OOP
- Data Science
- pointer
- 백준
- baekjoon
- Python
- Deep Learning
- pass by reference
- string
- 함수
- predictive analysis
- 티스토리챌린지
- Class
- function
- Today
- Total
Channi Studies
Linear Regression (선형 회귀) - 8 | Assumptions (선형 회귀 가정) 본문
Linear Regression (선형 회귀) - 8 | Assumptions (선형 회귀 가정)
Chan Lee 2024. 6. 12. 07:52이번 포스트에서는 선형 회귀 모델을 적용하기 위한 몇가지의 핵심 가정들을 알아보겠습니다.
이 가정들이 사실이 아니라면, 최소제곱법을 적용하여 모델을 디자인 했을 때 무의미하고 부정확한 결과값이 도출될 것이므로 이 점들을 유의하는게 좋겠습니다.
1. Linearity (선형성)
이름부터가 선형 회귀잖아요?
각 독립 변수는 고유한 계수가 곱해지고, 이를 다 합해서 종속변수를 도출합니다.
선형성을 판단하는 쉬운 방법은 무엇일까요?
독립 변수 중 하나(x1)를 뽑아서 종속 변수(y)에 대해서 scatter plot을 그려보세요.
그럼 얼추 방향성이 보일텐데, 이게 일차함수면 선형성이 있는 것이고,
곡선이 보이면 선형성이 부족한 데이터겠죠?
그리고 그런 경우에는 선형 회귀가 아닌 다른 방법을 통해서 예측 모델을 디자인 해야 합니다.
혹은, 지수연산이나 로그연산을 통해서 데이터를 조정하여 선형 회귀 모델을 적용할 수 있게끔 할 수도 있습니다.
2. No Endogeneity of Regressors (내인성의 부재)
Endogeneity(내인성)은 독립 변수(x*)가 에러에 포함되어 있을 때 발생합니다.
내인성의 부재란, 회귀 모델의 오차항
(Ɛ)과 독립 변수(X)의 상관관계가 존재하지 않는 상황을 의미합니다.
예를 들어 보겠습니다.
우리가 휴양지의 부동산 가격을 조사하기 위해서 하와이의 부동산 가격을 조사했습니다.
종속 변수는 당연히 부동산 가격이고, 독립 변수로는 주택의 크기와 위치를 고려했습니다.
그리고 분석 결과, 주택 가격은 주택이 해변으로부터 멀어질 수록 비싸졌습니다.
하지만, 인간은 주로 해변의 집을 내륙의 집보다 선호하지 않던가요? 결과가 직관적이지 않습니다.
심지어는 높은 에러를 보여줬습니다.
왜 그럴까요?
더 분석해본 결과, 원인은 우리가 주택의 연식을 고려하지 않아서였습니다.
대부분의 하와이 주택은 해변일 수록 오래된 주택이였고, 내륙으로 갈 수록 신축 주택이였습니다.
우리는 초기 독립 변수에 '연식'을 포함하지 않았고, 이는 직관적이지 않은 결과와 높은 에러를 보여줬습니다.
독립 변수에 포함되지 못한 데이터는 모두 에러로 갑니다.
중요한 독립 변수를 놓쳤다면? 당연히 에러는 더 높아지겠죠?
'내인성의 부재'란 이 맥락에서 이해할 수 있겠습니다.
'데이터를 설명하고 예측하는데에 매우 중요한 변수들을 놓치지 않는다' 는 것 입니다.
당연히 인간은 모든 데이터에서 필요한 것들을 완벽하게 골라내어 독립 변수로 활용할 수 없고, 이를 기대하지도 않습니다.
하지만 해당 분야에 대한 인사이트가 깊을 수록, 더욱 핵심적이지만 은밀하게 숨어있는 중요한 변수들을 짚어낼 수 있습니다.
그리고 이는 바로 에러의 감소, 모델 성능의 향상을 의미하겠죠?
3. Normality and Homoscedasticity (정규성과 등분산성)
Normality, 정규성은 매우 쉽습니다.
Error term이 정규 분포를 따른다는 뜻 입니다. => Ɛ ~ N(0, σ²)
Homoscdasticity, 등분산성은 데이터의 Error Term, 입실론의 분산이 동일하다는 가정입니다.

오차의 분산이 동일하지 않을 때,
우리는 이련 경우에 흔히 로그 연산이나 제곱근 등 여러 방법을 통해서 데이터를 조정합니다.
4. No Autocorrelation (자기상관성의 부재)
Autocorrelation, 자기상관이란, 시계열 데이터(Time-Series Data)에서 특정 시점의 오차가 이전 시점의 오차에 상관관계를 가질 때.
공간적 데이터에서 특정 위치의 오차가 인접 위치의 오차와 상관관계를 가질 때 를 지칭합니다.
우리는 선형회귀 모델을 적용하기 위해, 이 자기상관성이 없기를 가정합니다.
자기 상관성을 측정하기 위한 대표적인 방법으로 Durbin-Watson Test가 있습니다.
Durbin-Watson Test의 결과가 2 일때, 자기상관성은 존재하지 않습니다.
0보다 크고 2보다 작으면 Positive correlation이 존재합니다.
2보다 크고 4보다 작으면 Negative correlation이 존재합니다.
5. No Multicollinearity (다중공선성)
선형 회귀 모델에서 두개의 독립 변수 사이에 강한 상관관계가 나타날 때, 우리는 Multicollinearity, 다중공선성이 높다고 말합니다.
두개의 독립 변수 a, b에 대해서 만약 a = 3*b + 10으로 표현된다고 생각 해 봅시다.
그렇다면, b = (a - 10)/3으로도 표현이 되겠네요.
이럴 때, 우리는 a 와 b의 multicollinearity가 1, 완벽한 다중공선성을 가진다고 표현합니다.
만약 그렇다면, b가 a로 완벽하게 표현이되고, a가 b로 완벽하게 표현이 되는 강한 상관관계가 있다면,
두개를 다 쓰는 의미가 없지 않나요?
좀 더 실용적인 예시를 들어보겠습니다.
영국 시골 마을에 2개의 술집이 있고, 마을 사람들이 맥주를 마실때는 꼭 두개의 집 중에서 하나를 간다고 해볼게요.
A 술집과 B 술집의 시장 점유율을 분석하려고 합니다.
이 때, A 술집에서 500cc 맥주에 추가로 1000cc 맥주를 판매하는 반면, B 술집은 500cc 맥주만 판매합니다.
데이터 분석가는 3개의 독립 변수로 (A술집의 500cc 판매이익, 1000cc 판매이익, B 술집의 500cc 판매이익)을 분석했습니다.
그리고 결과를 확인하니 예상하지 못한 이상한 결과가 나왔습니다.
이유는 당연합니다.
한 술집에서 1000cc의 가격은 500cc의 가격과 매우 강하게 상관관계가 있을겁니다.
두개의 변수가 강한 상관관계를 가지는 상황, mutlicollinearity가 있다고 말할 수 있겠죠?
이런 식으로 강한 상관관계가 존재할 수 있는 변수들에 대해서는 검증을 거치고 회귀 모델의 변수로 활용하는게 중요하다고 할 수 있겠습니다.
'Data Science > 개념과 용어' 카테고리의 다른 글
The Bootstrap Technique | 부트스트랩 (2) | 2024.10.23 |
---|---|
What is Data Science? (1) | 2024.09.09 |
Linear Regression (선형 회귀) - 7 | Adjusted R-Squared (수정된 결정 계수) (0) | 2024.06.12 |
Linear Regression (선형 회귀) - 6 | R-Squared (결정 계수) (1) | 2024.06.03 |
Linear Regression (선형 회귀) - 5 | Ordinary Least Squares (최소제곱법) (1) | 2024.06.03 |