데이터 분석을 할 때, 우리는 두 가지 종류의 데이터가 어떤 관계를 가지는지, 어떤 트렌드를 따라가는지를 알고 싶은 경우가 많습니다. 예를 들어,
- 초등학생의 키와 몸무게 간의 관계
- 몸무게와 100m 달리기 실력의 관계
- 집에서 음식점까지의 거리와 배달에 걸리는 시간과의 관계
- KOSPI의 수익률과 우리나라 대표주자 삼성전자 수익률간의 관계
- KOSPI의 수익률과 KOSPI인버스 ETF 수익률간와 관계
등, 직관적으로 봤을 때 같은 경향성을 가진 예제도 있고(1,3,4번) 반대의 경향성을 가진 예제(2,5번)도 있습니다. 두 데이터 사이의 어떤 관계가 있는지 간단하게 체크할 수 있는 수학적 방법이 있습니다. 바로 트렌드 직선을 이용한 방법인데요, 다른 용어로는 선형회귀법이라고도 합니다.
요즘 배달 문화가 핫하니, 배달에 관련된 예제 하나를 준비했습니다.
위의 표는 어는 한 배달업체가 자체적으로 모은 배달거리와 배달시간 데이터입니다. 이를 도식화하여 $x$축에 배달 거리, $y$축에 배달시간을 분산차트로 그려보면 아래와 같습니다.
배달 거리가 멀수록 배달 시간이 오래 걸리는 모양을 볼 수 있습니다. 정확하게는 과연 어떤 경향성이 있을까요? 엑셀에서 제공해 주는 추세선을 추가해 보도록 하겠습니다.
엑셀에서 제공하는 추세선을 그려보니 위와 같았습니다. 데이터들을 정확하게 지나가는 선은 아니지만, 얼추 그 경향성을 보여주고 있는 것 같지요. 왼쪽 상단에는 이 직선의 식과 $R^2$라는 값도 제공해 줍니다.
이 직선은 어떻게 구할까요? 위의 예제는 데이터가 다소 많으니 가상의 데이터 셋을 준비하여 설명하겠습니다.
위 그림처럼 $x=x_1, x_2, \cdots, x_5$, $ y=y_1,y_2,\cdots, y_5$ 데이터가 있다고 합시다. $x$는 배달거리, $y$는 배달시간이고 5개의 샘플이 있다고 생각하면 쉽습니다. 여기에 선을 하나 그려볼텐데요.
위의 직선은 점 $(x_i,y_i)$들의 위치를 최대한 잘 설명해야 합니다. 아무렇게나 그리면 안되게죠. 따라서 생각해 낸 것이
- 점들과 이 직선의 거리함수를 정의하고
- 이 거리함수가 최소가 되도록 직선을 찾는 것입니다.
우선 직선과 각 점들의 $y$축 방향으로의 거리는 다음의 빨간 화살표들의 길이들입니다.
각각의 길이들을 수학적으로 살펴볼까요? 파란 점선의 식을
$$y=ax+b$$
라 합시다. 여기서 $a$는 기울기(slope), $b$는 $y$절편(y-intercept) 입니다.
이 때, $x_i$에서 이 점선위 의 $y$값은
$$ ax_i + b$$
가 됩니다. 그런데 원래 관찰된 데이터는 $y_i$ 입니다. 따라서 빨간 화살표들의 길이는
$$|y_i-(ax_i+b)|$$
가 됩니다.
따라서 이 길이의 합은
$$\sum_{i=1}^{5} |y_i - (ax_i+b)| $$
입니다.
$a,b$를 잘 찾아 위 값을 최소로 만들고 싶은 것이 우리의 목적입니다. 그런데 우리가 알고 있는 최대/최소 찾는 가장 powerful한 방법은 바로 미분하여 0이 되는 점, 즉, 극점을 찾는 것인데, 절대값이 포함된 함수는 미분이 원활하지 않다는 큰 단점이 있습니다. 따라서 우리는 새로운 길이함수를 정의합니다. 다음과 같이 말이죠.
$$\sqrt{\sum_{i=1}^5 (y_i-(ax_i + b))^2}$$
이를 수학적으로는 $L^2$ 거리 함수라 부릅니다. 이제, 위 식 자체는 미분이 가능해졌습니다. 그런데 루트 떄문에 미분이 성가시죠? 게다가 우리는 어차피 최솟값만 구하면 되기 때문에 루트를 생략하여 거리를 정의해도 됩니다. 결과적으로
$$f(a,b)=\sum_{i=1}^5(y-(ax_i+b))^2$$
라 정의하고 이 함수는 점들(데이터)과 선 사이의 거리를 의미하는 함수가 됩니다.
지금까지는 데이터가 5개인 경우였습니다. 이제 이를 $n$개의 데이터로 확장을 하여보면 거리함수는
$$ f(a,b) = \sum_{i=1}^n (y-(ax_i+b))^2 $$
라 할 수 있습니다.
이 식을 최소로 만드는 $a$와 $b$를 찾는 문제는 다음 글에서 알아보도록 하겠습니다.
'수학의 재미' 카테고리의 다른 글
선형회귀의 트렌드 직선과 PCA의 주성분은 서로 같을까? (1) | 2024.04.09 |
---|---|
트렌드 직선의 비밀(선형회귀) #3 (0) | 2022.05.12 |
트렌드 직선의 비밀(선형회귀) #2 (0) | 2022.05.11 |
댓글