<Perpendicular Offset을 이용한 선형회귀 / Linear fitting>
선형 회귀를 위한 다른 방법 중 하나는 perpendicular offset을 최소화하는 것입니다.
이 방법을 사용하기 위해서는 X와 Y값이 모두 동일한 단위를 가져야한다는 제약이 있습니다.
Vertical offset에서와 달리, perpendicular offset은 아래 그림과 같이 어떤 한 직선을 그렸을 때 해당 직선과 각 데이터 좌표간 수직 거리를 의미합니다. 이때, X와 Y축의 단위 길이를 동일하게 나타내어야 '수직'을 정의할 수 있는데, 만약 두 변수의 단위가 달라지면 단위길이를 정의할 수 없게 되기 때문입니다.
Perpendicular offset을 이용한 근사식 계산은 vertical offset을 사용하는 경우보다 약간 복잡합니다. 아래에 계산 과정을 나타내었으니 참고하시면 되겠습니다. Vertical offset과 마찬가지로, 우선 오차 제곱합을 정의하고, a와 b로 각각 편미분하여 0이 되도록 계산하면 되는데, a를 구하기 위해서 2차 방정식을 풀어야 하고, 2개선이 결정됩니다.
이렇게 2개의 선이 나오는 이유는 다음과 같습니다. 아래 그림과 같이 분포된 데이터가 있다고 하면, perpendicular offset의 제곱합(Err)은 파란선일 때 최소값을 가지고, 빨간선일 때 최대값을 가지게 되는데, 단순히 편미분 식이 0이 되는 조건으로만 풀다보니 최소와 최대가 구분되지 않아서 발생하는 것입니다.
따라서, 아래와 같이 X, Y가 양의 상관 관계(공분산<0)를 가지는 경우, 기울기 a를 양수로, 음의 상관 관계(공분산<0)를 가지는 경우에는 기울기를 음수로 설정해주면 됩니다.
동일한 방법으로 절편이 0이 되는 1차식 y=ax로 linear fitting하는 경우를 계산할 수 있으며, 이 때에는 x, y 곱의 평균값으로 기울기를 결정하시면 됩니다.
Offset을 달리 했기 때문에 결정계수(R-Sq)값은 vertical offset과 동일한 방법으로 계산할 수 없습니다. 또한, perpendicular offset을 이용하는 경우가 드물다보니 결정계수에 대한 표준화된 정의도 없습니다. 다만, R-Sq의 정의와 유사하게, X, Y값이 완전한 직선 관계일 때 1이 되고, 전혀 상관성이 없을 때 0이 되도록하는 값을 정의해줄 수 있습니다.
대표적인 값이 상관계수가 있습니다. 즉, V(x,y)^2/V(x)V(y)는 X, Y를 수직좌표에 표시했을 때 완전한 직선이면 1이 되고, 완전한 구형의 분포를 가질 때 0이 됩니다. 그러나, 이는 데이터 분포 상태를 의미하는 통계치이며, fitting 결과에 대한 정보는 전혀 포함되지 않습니다. 또한, 절편 b가 0이 되도록 하는 fitting했을 때, fitting 결과를 얼마나 신회할 수 있는지 지표로 활용할 수 없습니다
위에서 각 점과 직선 간 거리의 제곱합에 2를 곱한 이유는 d는 갯수는 n개이지만, x와 y 갯수는 2n개이기 때문입니다.
아래의 링크를 참고하시면, perpendicular offset을 이용하여 그래픽적으로 구하는 방법에 대한 비교와 설명이 있으니 참고하시면 좋을 것 같습니다.
https://mathworld.wolfram.com/LeastSquaresFittingPerpendicularOffsets.html
http://claus-jo.dk/LeastSquaresFittingPerpendicularOffsets.html
다음에는 이러한 정의를 이용하여, 실제 fitting이 가능한 매크로를 작성하도록 하겠습니다.
댓글 없음:
댓글 쓰기
의견이나 질문이 있으신 분은 언제든지 댓글을 달아주세요~