Least square data fitting
수치해석 : Kendall Atkinson 저, 김선영 옮김, 희중당, 1994 (원서 : Elementary Numerical Analysis : John Wiley & Sons, 1993), page 275~284
선형 최소자승 근사법 (The Linear Least Square Approximation)
다항식 최소자승 근사법 (Polynomial Least Square Approximation)
과학적, 공학적 실험에서 물리량의 측정은 일반적으로 다소 부정확하다. 이것은 인간의 오차 때문일 것이다. 그러나 측정을 하는 도구 그 자체의 한계 때문인 경우가 더 많다. 이 절에서 이러한 값들에 나타나는 측정오차의 효과를 최소화하면서 경험에 근거를 두고 얻어진 값들 사이의 관계를 구하기 위한 방법을 배운다.
관계
(1)
를 구하기 위해, 2 개의 관련된 값
와
의 측정이 포함되는 실험을 살펴보자. 실험에서
의 다양한 값을 선택하여
이라 놓고 이에 대응되는
값을 측정한다. 실제측정값을
이라 놓고
(2)
으로 측정오차를 나타내기로 하자. 실험자는 가능한한
정확히 해석적 관계 (1) 을 결정하기 위해 점
을 사용하기를 원한다.
식 (1) 은 항상 다항식, spline 함수 또는 보간함수의
기타 다른 형태의 보간법을 사용함으로써 얻을 수 있다. 그러나 이것은 오차
가 존재한다는 것을 무시하며, 종종 함수
에 대한 잘못된 근사값을 제공하기도 한다. 실험자들은 함수
가 어떤 알려져 있는 함수군 - 예를들면 다항식 같은 것 - 안에 포함되어져 있을
수 있다는 것을 알거나 혹은 추측할 수 있다. 그러면 그들은
를 가장 잘 추정할 함수군 중 한 함수를 선택하려 할 것이다. 실험적 오차
을 염두에 두고, 그러한 상황의 예로서 그림 1 과 표 1 의 데이터를 고려해 보자.
이런
가 선형다항식
(3)
표 1 실험결과
|
|
|
|
|
|
1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 |
-1.945 -1.253 -1.140 -1.087 -0.760 -0.682 -0.424 -0.012 -0.190 0.452 0.337 |
3.2 3.4 3.6 3.8 4.0 4.2 4.4 4.6 4.8 5.0
|
0.764 0.532 1.073 1.286 1.502 1.582 1.993 2.473 2.503 2.322
|

그림 1 표 1 의 실험결과에 대한 프로그램
가 될 것을 알 수 있다. 이것이 타당하다고 가정하면
를 결정하는 문제는 상수
과
를 결정하는 것으로 좁혀질 수 있다.
의 근사값을 결정하기 위해 오차
에 대한 가정이 필요하다. 한 가정은 이러한 오차가 정상확률분포 (normal probability
distribution) 에서 선택한 무작위변수 (random variable) 이라고 가정하는 것이다.
이것은 확률과 통계과정에서 다루는 개념이다. 이 부분은 너무 복잡한 것이어서 여기에서
다루지는 못한다. 그러나 이 가정을 만족하는 오차는 다음의 성질을 갖고 있다. (1)
만약
에 대한 실험을 많이 반복한다면 실험값
에서 관련된 미지의 오차
의 평균은 0 이다. (2) (1) 의
에 대한 실험의 경우
가 커지면 똑같은
가 발생할 가능성은 줄어든다. 오차
에 대한 이런 가정이 성립하는데는 충분한 이유가 있다. 이를 정상오차에 대한
가정 (normal error assumption) 이라고 한다. 설명을 간단히 하기 위해
에서
는 같은 정상확률분포함수에서의 무작위변수라고 가정한다. 이때
의 크기와는 무관하다. 함수
가 알려져 있는 함수군 C 에 있다고 가정하자. 예제는
가 표 1 에 있는 데이터처럼 선형함수라고 가정한다. 그러면 C 에 있는 모든
함수
중에서
와 거의 같은 함수
은 다음의 식으로 최소화될 것이다.
(4)
이것을
에 대한 데이터
의 근사값에서의 평균제곱근 (root-mean square) 오차라고 부른다. C 에 있는
함수
에 관련된 E 를 최소화하는 함수
는 데이터
에 대한 최소자승근사값이라고 한다.
E 에서
라고 생각해보자. 이러한 함수
에 관하여 (4) 를 최소화하는 시도를 하기 전에, E 를 최소화하는 것은 비록
최소값이 다를지라도 (4) 에 있는 합을 최소화하는 것과 동치이라는 것에 유의하라.
와
이 임의로 변화한다면
(5)
을 최소화하는
와
을 구한다.
다변수 함수에서
을 최소화하는
의 값은
(6)
를 만족할 것이다. 식 (5) 로부터


가 된다. 이것을 (6) 과 결합하면 다음과 같은 크기가 2 인 선형계를 얻는다.

(7)
행렬식이 0 이 아니면, 이것은 유일한 해
을 구할 수 있다.
(8)
이 조건은

인 경우를 제외한 모든 경우에 만족될 것이다.
그러나
의 수가 모두 다르다고 가정했기 때문에 모두 같을 수 없다.
예제 표 1 의 데이터에 적합한 최소자승함수를 결정해보자. 그러면
이다. 식 (7) 에 이것을 사용하고
을 구한다. 표 1 의 데이터에 적합한 선형최소자승함수는 그림 2 (9) 의 선형최소자승근사
가 된다. 이것은 선형함수 E = 0.171 이다. 이는 식 (9) 의 최소자승으로 표 1 의 데이터에 대한 근사값을 구할 때의 평균오차로서 생각할 수 있다. 그림 2 는 표 1 의 데이터를 점으로 표시한 (9) 의 그래프이다. |
대부분의 선형함수와 대응되지는 않는다. 더 복잡한
함수에 대응된다.
은 임의의 수이고
은 주어진 함수일 때
(10)
가 데이터
를 나타낸다고 하자.
예를 들어 만약
가 2 차다항식이라면
(11)
라고 나타낼 수 있다. 여기에서

이 된다.
정사오차에 대한 가정 하에서 함수
를 (4) 의 평균제곱근오차를 최소화하도록 선택한다.
인 특별한 경우를 생각해보자.
(12)
이고 상수
은
(13)
을 최소화하는 것으로 선택한다.
을 최소화하는 점
은

을 만족할 것이다.
에 대하여 3 개의 방정식이 유도되는데

간단히 하면

(14)
을 얻는다. 이것들은 3 개의 미지수
에 대한 3 개의 선형방정식이다.
예제 식 (11) 에 있는
이것은 |
가 (10) 에서 주어진 일반형을 취할 때 (4) 의 평균제곱근오차 E 를 최소화하기
위해서는 다음의 선형계가
(16)
는 계수
을 결정한다. 이 식을 유도하는 과정은 문제 5 에서 다룬다.
가 차수
의 다항식인 특별한 경우는 매우 중요한 경우이다. 그것을 좀더 자세히 관찰해보고자
한다.
를 차수
다항식의 기본형으로 써보자.
(17)
그러면 이 식은
(18)
일 때 (10) 의 형과 대응되고
를 결정하는 계 (16) 는
(19)
가 된다.
일 때 이것은 계 (15) 가 된다.
계 (19) 는
일 때 비특이계이다. 그러나 불행히도 그것은
의 차수가 증가할수록 급격히 불안정한 계가 된다. 게다가 계수행렬의 조건수의
크기가 2 보다 작거나 같은 경우를 제외하고 최소자승다항식으로 근사하기 위해 (18)
을 이용하는 것은 권장할 만한 것이 못된다.
높은 차수를 가진 다항식
로 데이터
에 대한 최소자승을 구하기 위해 다음의 형태로
를 표현할 필요가 있다.
(20)
여기서
는 (16) 에 있는 계수행렬이 불안정하지 않도록 잘 선택되어져야 한다.
의 차수는
이고 (16) 의 계수행렬이 대각행렬로 되는 함수
를 최적으로 선택할 수 있다. 최적의 선택은 아니더라도 일반적으로 만족스러운
선택은 6 장의 Chebyshev 다항식
에 근거한 것이다 (조금 더 나은 선택은 Legendre 다항식이다. Atkinson 1989,
P210 을 보아라).
결절점
을 구간
에서 선택하였다면 다음과 같이 변형된 Chebyshev 다항식을 생각할 수 있다.
(21)
의 차수는
이고 차수
인 다항식
은
의 결합으로 나타낼 수 있다.
예제 표 2 에 있는 데이터와 그림 3 에 있는 그림을
고찰해 보자. 우선 다음을 이용하여 최소자승 3 차 다항식
를 갖고
가 된다.
으로 계산될 수 있다. 이것은 매우 큰 수이다.
또, 표 2 3 차 최소자승법을 위한 데이터
그림 3 표 2 의 데이터 그래프
데이터에서의 오차로 인해 소수점이하 2 째자리에서
이것은 전에 구했던 표 2 의 데이터에 대해 더 나은 선형계를 가진 3 차 최소자승 근사값을 구하기 위해 구간 [0, 1]에서 (21) 의 함수를 사용한다. 그리고
을 쓴다. (24) 에서
그림 4 표 2 에 대한 3 차최소자승근사
가 된다. 선형계는 (22) 를 사용하여 3 차최소승법을
이용할 때
이 됨을 볼 수 있다. |