곡선 맞춤

[섬네일|upright=1.5|가변 감쇠 인자 α를 사용하는 반복 프로세스([가우스-뉴턴 알고리즘)를 통해 비대칭 피크 모델로 노이즈가 있는 곡선을 맞추는 모습]]
**곡선 맞춤**()은 제약 조건이 있을 수 있는 상황에서 일련의 데이터 포인트에 가장 잘 맞는 곡선 또는 수학적 함수를 구성하는 과정이다. 곡선 맞춤은 데이터에 대한 정확한 일치가 필요한 보간법이나, 데이터에 근사적으로 맞는 "매끄러운" 함수를 구성하는 평활화를 포함할 수 있다. 관련 주제로는 회귀 분석이 있는데, 이는 무작위 오차가 포함된 관측 데이터에 맞춰진 곡선에 어느 정도의 불확실성이 존재하는지와 같은 통계적 추론 문제에 더 초점을 맞춘다. 맞춰진 곡선은 데이터 시각화를 돕거나, 데이터가 없는 부분의 함수 값을 추론하고, 둘 이상의 변수 간의 관계를 요약하는 데 사용될 수 있다. 보외법은 관측된 데이터의 범위를 벗어나 맞춰진 곡선을 사용하는 것을 의미하며, 이는 관측된 데이터를 반영하는 만큼이나 곡선을 구성하는 데 사용된 방법을 반영할 수 있기 때문에 어느 정도의 불확실성이 따른다.

데이터의 선형 대수적 분석에서 "맞춤"은 대개 곡선으로부터 포인트의 수직(y축) 변위를 최소화하는 곡선을 찾는 것을 의미한다(예: 정규방정식). 그러나 그래픽 및 이미지 응용 분야에서 기하학적 맞춤은 최상의 시각적 맞춤을 제공하는 것을 목표로 한다. 이는 대개 곡선까지의 직교 거리를 최소화하거나(예: 총최소제곱법), 포인트와 곡선 사이의 두 축 변위를 모두 포함하는 방식을 의미한다. 기하학적 맞춤은 대개 비선형 또는 반복적인 계산이 필요하기 때문에 널리 쓰이지는 않지만, 더 미학적이고 기하학적으로 정확한 결과를 얻을 수 있다는 장점이 있다.

## 데이터 포인트에 대한 함수의 대수적 맞춤
가장 일반적으로는  형태의 함수를 맞춘다.

### 데이터 포인트에 대한 직선 및 다항식 함수의 맞춤

alt=Polynomial curves fitting a sine function|섬네일|upright=1.3|사인 함수로 생성된 포인트들에 다항식 곡선을 맞춘 모습. 검은색 점선은 "실제" 데이터이며, 빨간색 선은 <span style="color:red">1차 다항식</span>, 초록색 선은 <span style="color:green">2차 다항식</span>, 주황색 선은 <span style="color:orange">3차 다항식</span>, 파란색 선은 <span style="color:blue">4차 다항식</span>이다.
1차 다항식 방정식

:y = ax + b\;

은 기울기가 a인 직선이다. 직선은 임의의 두 점을 연결하므로, 1차 다항식 방정식은 x 좌표가 서로 다른 임의의 두 점을 정확하게 통과한다.

방정식의 차수를 2차 다항식으로 높이면 다음과 같다.

:y = ax^2 + bx + c\;.

이것은 세 개의 점에 단순한 곡선을 정확하게 맞춘다.

방정식의 차수를 3차 다항식으로 높이면 다음과 같다.

:y = ax^3 + bx^2 + cx + d\;.

이것은 네 개의 점에 정확하게 맞는다.

더 일반적인 서술은 네 개의 **제약 조건**에 정확하게 맞는다는 것이다. 각 제약 조건은 점, 각, 또는 곡률(접촉원 반지름의 역수)이 될 수 있다. 각도와 곡률 제약 조건은 곡선의 끝부분에 추가되는 경우가 많으며, 이러한 경우를 **단점 조건**(end conditions)이라고 한다. 단일 스플라인 곡선 내에 포함된 다항식 곡선들 사이의 매끄러운 전환을 보장하기 위해 동일한 단점 조건이 자주 사용된다. "곡률 변화율"과 같은 더 높은 차수의 제약 조건도 추가할 수 있다. 예를 들어, 이는 고속도로 클로버형 교차로 설계에서 자동차에 가해지는 힘의 변화율(가가속도 참조)을 이해하고 그에 따라 적절한 속도 제한을 설정하는 데 유용할 수 있다.

1차 다항식 방정식은 하나의 점과 하나의 각도에 정확히 맞을 수도 있으며, 3차 다항식 방정식은 두 개의 점, 하나의 각도 제약 조건, 하나의 곡률 제약 조건에 정확히 맞을 수도 있다. 이러한 방식과 더 높은 차수의 다항식 방정식에 대해 다른 많은 제약 조건의 조합이 가능하다.

만약 n&nbsp;+&nbsp;1개 이상의 제약 조건이 있다면(n은 다항식의 차수), 다항식 곡선은 여전히 해당 제약 조건들을 통과하도록 만들 수 있다. 모든 제약 조건에 대한 정확한 일치가 보장되지는 않지만(예를 들어, 세 개의 공선점에 1차 다항식이 정확히 맞는 경우처럼 일어날 수도 있다), 일반적으로 각 근사치를 평가하기 위한 방법이 필요하다. 최소제곱법은 편차를 비교하는 한 가지 방법이다.

다항식 방정식의 차수를 높여서 정확한 일치를 얻을 수 있음에도 불구하고 근사적인 맞춤을 사용하는 데에는 여러 이유가 있다.

* 정확한 일치가 존재하더라도 이를 쉽게 찾아낼 수 있다는 보장은 없다. 사용된 알고리즘에 따라 정확한 맞춤을 계산할 수 없는 발산 사례가 발생하거나, 해를 찾는 데 컴퓨터 시간이 너무 많이 걸릴 수 있다. 이러한 상황에서는 근사 해가 필요할 수 있다.
* 표본에서 의심스러운 데이터 포인트를 정확히 맞추기 위해 곡선을 왜곡하기보다, 이를 평균화하여 제거하는 효과가 바람직할 수 있다.
* 룽게 현상: 고차 다항식은 심하게 진동할 수 있다. 곡선이 두 점 A와 B를 통과한다면, 곡선이 A와 B의 중간점 근처도 통과할 것으로 기대된다. 고차 다항식 곡선에서는 이런 일이 일어나지 않을 수 있으며, 심지어 양수 또는 음수의 크기가 매우 큰 값을 가질 수도 있다. 저차 다항식을 사용하면 곡선이 중간점 근처로 떨어질 가능성이 더 높다(1차 다항식의 경우 중간점을 정확히 통과하는 것이 보장된다).
* 저차 다항식은 매끄러운 경향이 있고 고차 다항식 곡선은 "울퉁불퉁"한 경향이 있다. 이를 더 정확하게 정의하자면, 다항식 곡선에서 가능한 변곡점의 최대 개수는 n-2이다(n은 다항식 방정식의 차수). 변곡점은 곡선의 반지름이 양수에서 음수로 바뀌는 위치이다. 즉, "물이 고이는" 형태에서 "물이 흘러내리는" 형태로 전환되는 지점이라고도 할 수 있다. 고차 다항식이 울퉁불퉁해지는 것은 "가능성"일 뿐이며 매끄러울 수도 있지만, 저차 다항식 곡선과 달리 이를 보장할 수 없다. 15차 다항식은 최대 13개의 변곡점을 가질 수 있지만, 11개나 9개, 또는 1까지의 홀수 개수를 가질 수도 있다. (짝수 차수 다항식은 n&nbsp;-&nbsp;2에서 0까지의 짝수 개의 변곡점을 가질 수 있다.)

정확한 맞춤에 필요한 것보다 다항식 곡선의 차수가 높은 것은 앞서 언급한 고차 다항식의 모든 이유로 인해 바람직하지 않을 뿐만 아니라, 해가 무수히 많은 경우로 이어진다. 예를 들어, 일반적인 두 개 대신 단 하나의 점으로 제약된 1차 다항식(직선)은 무수히 많은 해를 제공한다. 이는 하나의 해를 어떻게 비교하고 선택할 것인가 하는 문제를 야기하며, 이는 소프트웨어와 인간 모두에게 문제가 될 수 있다. 이 때문에 일반적으로 모든 제약 조건에 정확히 일치하는 가장 낮은 차수를 선택하는 것이 좋으며, 근사적인 맞춤이 허용된다면 그보다 더 낮은 차수를 선택할 수도 있다.

섬네일|upright=1.25|밀 수확량과 토양 염도 간의 관계

### 데이터 포인트에 대한 다른 함수의 맞춤
특정 경우에는 삼각 함수(사인 및 코사인 등)와 같은 다른 유형의 곡선도 사용될 수 있다.

분광학에서는 데이터를 가우시안, 로렌츠, 포이트 및 관련 함수로 맞출 수 있다.

생물학, 생태학, 인구학, 역학 및 기타 많은 분야에서 인구 증가, 전염병의 확산 등은 로직스틱 함수를 사용하여 맞출 수 있다.

농업에서는 작물 수확량과 성장 인자 사이의 관계를 설명하기 위해 역 로지스틱 시그모이드 함수(S-곡선)가 사용된다. 파란색 그림은 농지에서 측정된 데이터의 시그모이드 회귀로 만들어졌다. 초기에는, 즉 토양 염도가 낮을 때는 토양 염도가 증가함에 따라 작물 수확량이 천천히 감소하다가 그 이후에는 감소가 더 빠르게 진행됨을 알 수 있다.

## 데이터 포인트에 대한 평면 곡선의 기하학적 맞춤
y=f(x) 형태의 함수를 상정할 수 없는 경우에도 평면 곡선을 맞추려고 시도할 수 있다.

특정 경우에는 원뿔 곡선(원형, 타원형, 포물선형, 쌍곡선형 호)이나 삼각 함수(사인 및 코사인 등)와 같은 다른 유형의 곡선도 사용될 수 있다. 예를 들어, 중력의 영향을 받는 물체의 궤적은 공기 저항을 무시할 때 포물선 경로를 따른다. 따라서 궤적 데이터 포인트를 포물선 곡선에 맞추는 것은 타당하다. 조석은 정현파 패턴을 따르므로, 달과 태양의 효과를 모두 고려한다면 조석 데이터 포인트는 사인파 또는 주기가 다른 두 사인파의 합에 맞춰져야 한다.

매개변수 곡선의 경우, 데이터 포인트의 순서를 정할 수 있다고 가정할 때 각 좌표를 곡선의 길이에 대한 별도의 함수로 맞추는 것이 효과적이며, 이때 현의 길이가 사용될 수 있다.

### 기하학적 맞춤에 의한 원의 맞춤
섬네일|중심 (1 ; 1), 반지름 4인 원호를 묘사하는 포인트들에 대한 Coope 방식의 원 맞춤
섬네일|타원 맞춤의 다양한 모델들
섬네일|대수적 거리를 최소화하는 타원 맞춤(Fitzgibbon 방식)

쿠프(Coope)는 2D 데이터 포인트 세트에 원을 시각적으로 가장 잘 맞추는 문제에 접근한다. 이 방법은 일반적으로 비선형인 문제를 반복적인 수치 기법을 사용하지 않고도 풀 수 있는 선형 문제로 우아하게 변환하며, 따라서 이전 기술들보다 훨씬 빠르다.

### 산술적 맞춤에 의한 타원의 맞춤
타원을 포함한 원뿔 곡선의 방정식은 경계 위의 데카르트 좌표 를 가진 점들에 대해 다음과 같은 형태를 갖는다.
:
Ax^2+Bxy+Cy^2+Dx+Ey+F=0

흩어져 있는 포인트 데이터 세트 와 고정된 타원에 대해 이 방정식의 우변은 더 이상 0이 아니다. 포인트들을 타원에 맞추는 한 가지 방법은 잔차 우변의 (제곱의) 합이 최소화되도록 부터 까지 6개의 매개변수를 찾는 것이다. 이는 기본적으로 의 혼합 거듭제곱 합을 포함하는 연관된  행렬의 고유벡터를 찾음으로써 해결되는 선형 최소제곱 맞춤 문제로 이어진다.

### 기하학적 맞춤에 의한 타원의 맞춤
위의 기술은 비선형 단계를 추가함으로써 일반적인 타원으로 확장되었으며, 그 결과 빠르면서도 임의의 방향과 변위를 가진 시각적으로 만족스러운 타원을 찾는 방법이 탄생했다. 기하학적 맞춤은 데이터 포인트에서 타원 경계까지의 직교 거리 제곱의 합을 최소화한다. 이러한 직교 거리를 근사화하는 유사한 방법은 샘슨(Sampson) 메트릭을 기반으로 한다.

## 곡면 맞춤

이 논의는 2D 곡선의 관점에서 이루어졌지만, 이러한 논리의 많은 부분은 3D 곡면으로도 확장된다. 3D 곡면의 각 패치(patch)는 일반적으로 **u** 및 **v**라고 불리는 두 개의 매개변수 방향의 곡선망에 의해 정의된다. 곡면은 각 방향으로 하나 이상의 곡면 패치로 구성될 수 있다.

## 소프트웨어
R과 같은 많은 통계 패키지와 그누플롯, GNU 사이언티픽 라이브러리, Igor Pro, MLAB, 메이플, 매트랩, TK Solver 6.0, 싸이랩, 마르티마티카, GNU 옥타브 및 SciPy와 같은 수치 소프트웨어에는 다양한 시나리오에서 곡선 맞춤을 수행하기 위한 명령이 포함되어 있다. 곡선 맞춤을 위해 특별히 작성된 프로그램도 있으며, 이들은 통계 및 수치 분석 프로그램 목록뿐만 아니라 회귀 및 곡선 적합 소프트웨어에서 찾을 수 있다.

## 같이 보기

* 검량선
* 곡선 맞춤 압축
* 이산화
* 추정 이론
* 함수 근사
* 유전 프로그래밍
* 적합도
* 최소제곱 조정
* 레벤버그-마쿼트 알고리즘
* 직선 맞춤
* 선형 보간법
* 선형 추세 추정
* 수학적 모델
* 다중 표현식 프로그래밍
* 다중 곡선 프레임워크 및 부트스트랩 (금융)
* 비선형 회귀
* 과적합
* 평면 곡선
* 확률 분포 맞춤
* 점진적 반복 근사법
* 정현파 모델
* 평활화
* 스플라인 곡선 (보간, 평활화)
* 시계열
* 총최소제곱법

## 각주

## 더 읽어보기

* N. Chernov (2010), Circular and linear regression: Fitting circles and lines by least squares, Chapman & Hall/CRC, Monographs on Statistics and Applied Probability, Volume 117 (256 pp.). http://people.cas.uab.edu/~mosya/cl/