2021. 2. 2. 22:32ㆍ데이터 분석/통계분석
이번 글은 회귀분석에 관한 내용입니다.
순서
1. 선형함수와 선형회귀분석
2. 단순선형회귀분석과 다중선형회귀분석
1. 선형함수와 회귀분석
아래 그림과 같이 독립변수와 종속변수 간 관계를 파란 하나의 직선으로 나타낼 수 있습니다. 이 선은 데이터를 가장 잘 설명할 수 있는 선으로 함수로 표현하면 $Y = aX+b+오차항$ 입니다. 이처럼 데이터 집합 X에 대해 가장 잘 설명할 수 있는 선형 함수를 구할 수 있습니다. 이 함수는 독립변수 X가 한 단위 증가할 때 Y값은 변동량을 뜻합니다. Y, X가 주어져있을 때 a, b, 오차항을 추정하는 것입니다. a는 x가 1단위 변할 때 y가 얼만큼 변하는가를 나타내는 기울기, b는 y절편을 뜻합니다. 오차항의 오차는 모집단에서 얻은 회귀실을 통한 예측값과 실제값의 차이, 잔차는 표본 집단에서 얻은 회귀식을 통한 예측값과 실제값의 차이입니다. 가장 합리적인 회귀선은 어떤 회귀선일까요? 이 잔차를 최소화하는 회귀선이고 회귀분석의 목표는 이 잔차를 최소화하는 회귀선을 추정하여 a, b를 찾습니다. 이 방법을 최소제곱법(least square method)이라고 합니다.
회귀분석은 가정 사항이 있습니다.
-
선형성
-
종속변수와 독립변수는 선형 관계를 이루고 있다.
-
선형성을 만족하지 않는다면,
-
새로운 변수를 추가하거나 선형성을 만족하지 않는 변수 제거, 로그, 지수, 루트 등의 변수 변환
-
변수 변환은 변환된 변수의 의미를 해석하는 것이 어려움.
-
-
-
독립성
-
독립변수 간 상관관계가 없이 독립이다.
-
서로 상관성이 존재한다면 다중공선성 의심.
-
-
등분산성
-
잔차가 특정한 패턴 없이 고르게 분포해있다.
-
-
정규성
-
잔차가 정규성을 만족한다.
-
회귀 분석 모형의 설명력은 모형이 데이터들을 어마나 잘 설명하는 가를 나타내는 것으로 결정계수로 확인할 수 있습니다. 결정계수($R^2)는 전체 제곱합 중에서 회귀 제곱합이 설명하는 비중으로 모형의 설명력을 나타내는 지표입니다. 결정계수는 0~1까지 값으로 높은 값을 가질수록 설명력이 높다는 것입니다. 결정계수도 결정계수와 수정된 결정계수 두가지가 있습니다. 결정계수는 모형에 유의하지 않은 독립 변수의 수가 증가하면 결정계수도 증가합니다. 수정된 결정계수는 독립변수 개수에 대해 조정한 결정계수값으로 쓸모없는 변수들이 있으면 값이 줄어듭니다. 때문에 독립변수들의 수가 다른 여러 모형을 비교할 때는 수정된 결정계수를 이용하여 확인하는 것이 바람직합니다.
$$결정계수 R^2 = {SSR \over{SST}}$$
SSE(Error Sum of Squares): 관측값과 예측값 차이의 제곱합
SSR(Regression Sum of Squares): 예측값과 관측값들의 평균 차이의 제곱 합
SST(Total Sum of Squares): 총 변동(SSE+SSR)
2. 단순선형회귀분석과 다중선형회귀분석
즉, 선형회귀분석은 독립변수와 종속변수 간 선형적 관련성이 있다는 전제 하에 변수들 간 관계를 선형 함수 식으로 모형화하며 통계적으로 분석하는 것을 말합니다. 주어진 데이터를 바탕으로 새로운 데이터를 예측하거나 주어진 여러 데이터들 중 어떠한 조합이 서로 관계가 있는지 확인할 때 사용할 수 있습니다. 하나의 종속변수와 하나의 독립변수에 대한 분석을 단순선형회귀분석, 하나의 종속변수와 2개 이상의 독립변수가 있을 때 다중선형회귀분석이라고 합니다.
단순선형회귀분석: $y = a_x+b$
다중선형회귀분석: $y = ax+a_1x_1+a_2x_2+...+a_ix_i+b$
다중선형회귀분석을 사용할 때 주의할 점은 독립 변수가 여러 개이기 때문에 변수들 간의 상관관계가 높은지 확인하고 분산팽창요인을 이용하여 다중공선성을 확인해야 합니다. 다중공선성으로 인해 좋지 못한 결과가 나올 수도 있습니다.
다중선형회귀분석은 추정 계수를 어떻게 구할까요? 행렬의 연산을 이용하여 계수를 구합니다. 다중선형회귀분석의 연산은 독립변수들에 대한 행렬 A와 추정 계수 벡터 $x$를 곱한 결과인 b가 예측값입니다. $Ax = b$ 식 떠오르나요?! 추정 계수 x 벡터는 의사역행렬을 이용하여 계산합니다. 먼저 의사역행렬을 구하기 위해 역행렬이 존재하는지 확인을 해야 합니다. 역행렬이 존재하려면 A가 정방행렬이어야하고 정방행렬이 아니라면 양변에 A의 전치행렬을 곱한 후 정방행렬의 행렬식을 통해 역행렬이 존재하는지 확인합니다.
$A^TA=A^Tb$ (행렬의 연산 법칙에 따라 양변에 동일한 위치에 곱함.)
전치행렬을 곱하여 정방행렬이 되었습니다. 역행렬이 존재하는지 확인하기 위해 정방행렬의 행렬식 값이 0이 아닌지 확인합니다.
$$(A^TA)^-1(A^TA)x = (A^TA)^-1A^Tb$$
$$x = (A^TA)^-1A^Tb$$
$(A^TA)^-1A^T$: 의사역행렬(정방행렬과 A 전치행렬의 곱)
추정 계수 벡터를 독립변수와 종속변수를 이용하여 구하는 방법을 알아보았습니다. 어떻게 계수를 구하는 건지 이해되셨나요? 그럼 이렇게 추정된 계수로 만들어진 모형이 적합한지 어떻게 판단할까요?
회귀분석은 모형의 유의성, 회귀계수의 유의성, 모형의 설명력, 잔차 검정을 통해 모형의 적합성을 판단합니다. 회귀분석의 모형은 F분포를 바탕으로, 회귀계수는 계수의 유의성은 t-분포를 바탕으로 계산된 값입니다. 가설검정 때와 동일하게 p-value값을 기준으로 비교합니다.
다음 글에서 모형을 생성하고 적합성을 판단하는 실습을 해보겠습니다.
'데이터 분석 > 통계분석' 카테고리의 다른 글
[통계분석] 05. 범주형 변수, 어떤 검정을 할 수 있을까? (0) | 2021.02.02 |
---|---|
[통계분석] 04. 연속형 변수, 어떻게 가설 검정을 할까? (0) | 2021.01.29 |
[통계분석] 03. 가설 검정의 기초를 이해하자. (0) | 2021.01.29 |
[통계분석] 02.모수를 왜 추정하고, 어떻게 추정하는거지? (0) | 2021.01.29 |
[통계분석] 01. 확률분포는 머신러닝에서 어떻게 사용될까? (1) | 2021.01.29 |