Main Content

최소제곱 피팅 소개

회귀 모델은 하나 이상의 계수로 응답 변수 데이터를 예측 변수 데이터에 연관시킵니다. 피팅 방법은 주어진 입력 데이터 세트로 모델 계수를 계산하는 알고리즘입니다. Curve Fitting Toolbox™는 최소제곱 피팅 방법을 사용하여 회귀 모델의 계수를 추정합니다.

Curve Fitting Toolbox는 다음의 최소제곱 피팅 방법을 지원합니다.

  • 선형 최소제곱

  • 가중 최소제곱

  • 로버스트 최소제곱

  • 비선형 최소제곱

회귀 모델의 유형과 입력 데이터의 속성은 모델 계수 추정에 가장 적합한 최소제곱 방법을 결정합니다.

잔차 계산하기

데이터 점에 대한 잔차는 관측된 응답 변수의 값과 피팅된 모델에서 반환된 응답 변수 추정값 간의 차이입니다. 추정된 응답 변수로 구성된 벡터를 계산하는 공식은 다음과 같습니다.

y^=f(X,b)

여기서

  • y^는 응답 변수 추정값으로 구성된 n×1 벡터입니다.

  • f는 회귀 모델의 일반 형식입니다.

  • X는 n×m 설계 행렬입니다.

  • b는 피팅된 모델 계수로 구성된 m×1 벡터입니다.

최소제곱 피팅 방법은 잔차 제곱합이라고도 하는 오차제곱합(SSE)을 최소화하는 모델 계수를 계산합니다. 일련의 n개 데이터 점이 주어진 경우, i번째 데이터 점 ri에 대한 잔차는 다음 공식으로 계산됩니다.

ri=yiy^i

여기서 yi는 i번째로 관측된 응답 변수 값이고 ŷi는 i번째로 피팅된 응답 변수 값입니다. SSE는 다음과 같이 지정됩니다.

SSE=i=1nri2=i=1n(yiy^i)2

오차 가정

데이터 점에 대한 관측값과 실제 값 간의 차이를 오차라고 합니다. 직접 관측할 수 없기 때문에 데이터 점에 대한 오차는 데이터 점의 잔차를 통해 근사됩니다.

최소제곱 피팅 방법은 극값을 갖는 다량의 랜덤 오차를 포함하지 않는 데이터 세트에서 가장 정확합니다. 신뢰한계 및 예측한계와 같은 통계적 결과는 오차가 정규분포를 따른다고 가정합니다. 데이터 피팅 기법은 일반적으로 불규칙 변동을 포함하는 데이터의 오차에 대해 다음 두 가지 중요한 가정을 합니다.

  • 오차는 응답 변수 데이터에만 존재하고 예측 변수 데이터에는 존재하지 않는다.

  • 오차는 무작위적이며 평균이 0이고 상수 분산을 가지는 정규분포를 따릅니다.

데이터 피팅 기법은 오차가 정규분포를 따른다고 가정합니다. 왜냐하면 정규분포가 많은 측정량의 분포에 대한 적절한 근사를 제공하는 경우가 많기 때문입니다. 최소제곱 피팅 방법은 파라미터 추정값을 계산할 때 정규분포된 오차를 가정하지는 않지만, 그래도 이 방법은 극값을 갖는 다량의 랜덤 오차를 포함하지 않는 데이터에서 가장 좋은 결과를 나타냅니다. 정규분포는 극단적인 랜덤 오차가 흔치 않은 확률 분포 중 하나입니다. 그러나 신뢰한계 및 예측한계와 같은 통계적 결과가 유효성을 가지려면 오차가 정규분포를 이루어야 합니다.

잔차의 평균이 0이 아닌 경우, 잔차가 모델 선택이나 예측 변수 선택의 영향을 받는지 확인합니다. 가중 최소제곱 이외의 피팅 방법의 경우, Curve Fitting Toolbox는 추가적으로 오차가 예측 변수의 값에 걸쳐 상수 분산을 가지고 있다고 가정합니다. 상수 분산을 가지고 있지 않은 잔차는 피팅이 질이 낮은 데이터의 영향을 받을 수도 있음을 시사합니다.

선형 최소제곱

Curve Fitting Toolbox는 선형 최소제곱 방법을 사용하여 선형 모델을 데이터에 피팅합니다. 선형 모델은 계수가 선형인 방정식으로 정의됩니다. 데이터에 극값이 거의 없고 오차의 분산이 예측 변수에 걸쳐 일정한 경우 선형 최소제곱 피팅 방법을 사용합니다.

차수가 m – 1인 선형 모델은 다음 행렬 형식을 갖습니다.

y=Xβ+ε

여기서

  • y는 응답 변수 데이터로 구성된 n×1 벡터입니다.

  • β는 알 수 없는 계수로 구성된 m×1 벡터입니다.

  • X는 m – 1개 예측 변수 열을 포함하고 있는 n×m 설계 행렬입니다. 각 예측 변수는 X의 열에 대응됩니다. X의 마지막 열은 모델의 상수항을 나타내는 1로 구성된 열입니다.

  • ε은 알려지지 않은 오차로 구성된 n×1 벡터입니다.

예를 들어 다음 형식의 1차 다항식의 경우

y=p1x+p2

다음과 같이 지정됩니다.

[y1y2y3...yn]=[x11x21x31...xn1]×[p1p2]

ε을 알 수 없기 때문에 β를 직접 계산할 수 없습니다. 선형 최소제곱 피팅 방법은 SSE를 최소화하는 계수 b로 구성된 벡터를 계산하여 β를 근사합니다. Curve Fitting Toolbox는 정규방정식이라 불리는 연립방정식을 풀어서 b를 계산합니다. 정규방정식은 다음 공식으로 지정됩니다.

(XTX)b=XTy

여기서 XT는 행렬 X의 전치입니다. 그러면 b에 대한 공식은 다음과 같습니다.

b=(XTX)1XTy

알려지지 않은 계수에 대해 동시 선형 연립방정식을 풀려면 MATLAB® 백슬래시 연산자(mldivide)를 사용합니다. XTX의 역행렬을 구하면 허용되지 않는 반올림 오차가 발생할 수 있기 때문에 백슬래시 연산자는 피벗 연산을 통한 QR 분해를 사용합니다. 이는 수치적으로 안정적인 알고리즘입니다. 백슬래시 연산자와 QR 분해에 대한 자세한 내용은 산술 연산 항목을 참조하십시오. 피팅된 응답 변수 값 ŷ로 구성된 벡터를 계산하려면 b를 다음 모델식에 대입합니다.

y^=Xb

선형 최소제곱 피팅 방법을 사용하는 다항식 모델 피팅에 대한 예제는 Fit Polynomial Model to Data 항목을 참조하십시오.

가중 최소제곱

응답 변수 데이터 오차가 예측 변수 데이터의 값에 걸쳐 상수 분산을 가지고 있지 않은 경우, 피팅이 질 낮은 데이터의 영향을 받을 수 있습니다. 가중 최소제곱 피팅 방법은 가중치라는 스케일링 인자를 사용하여 모델 계수 계산에서 응답 변수 값의 결과에 영향을 미칩니다. 가중치가 알려져 있거나 가중치가 특정한 형태를 따르는 경우 가중 최소제곱 피팅 방법을 사용합니다.

가중 최소제곱 피팅 방법은 SSE에 대한 공식에 가중치를 도입하여 다음과 같이 됩니다.

SSE=i=1nwi(yiy^i)2

여기서 wi는 가중치입니다. 사용자가 제공하는 가중치는 응답 변수 분산을 상수 값으로 변환해야 합니다. 데이터의 측정 오차의 분산 σi2을 알고 있다면 가중치는 wi=1σi2로 지정됩니다. 또는 잔차를 사용하여 σi2 계산의 오차를 추정할 수 있습니다.

SSE에 대한 가중치 공식은 다음과 같이 b에 대한 공식을 생성합니다.

b=(XTWX)1XTWy

여기서 W는Wii=wi를 충족하는 대각 행렬입니다.

가중 최소제곱 피팅 방법을 사용하는 다항식 모델 피팅에 대한 예제는 Improve Model Fit with Weights 항목을 참조하십시오.

로버스트 최소제곱

응답 변수 데이터의 극값을 이상값이라고 합니다. 잔차를 제곱하면 SSE 계산에서 이러한 데이터 점의 영향이 확대되기 때문에 선형 최소제곱 피팅은 이상값에 민감합니다. 데이터가 이상값을 포함하고 있는 경우 로버스트 최소제곱 피팅 방법을 사용합니다.

Curve Fitting Toolbox는 다음과 같은 로버스트 최소제곱 피팅 방법을 제공합니다.

  • 최소 절대 잔차(LAR) — 이 방법은 제곱 차이가 아니라 절대 잔차를 최소화하는 곡선을 찾습니다. 따라서 극값이 피팅에 미치는 영향이 적습니다.

  • 겹제곱(bisquare) 가중치 — 이 방법은 가중 제곱합을 최소화합니다. 여기서 각 데이터 점에 주어지는 가중치는 해당 점이 피팅된 곡선에서 얼마나 떨어져 있는지에 따라 달라집니다. 피팅된 곡선 가까이 있는 점에는 완전한 가중치가 부여됩니다. 곡선에서 더 멀리 있는 점에는 감소된 가중치가 부여됩니다. 무작위성을 통해 예상하는 것보다 더 곡선에서 멀리 있는 점에는 가중치 0이 부여됩니다.

    겹제곱 가중치 방법은 이상값의 영향을 최소화하면서 최소제곱 접근 방식을 사용하여 데이터의 대부분을 피팅하는 곡선을 동시에 찾으려고 시도하기 때문에 대체로 LAR보다 선호됩니다.

로버스트 겹제곱 가중치 피팅은 반복 재가중 최소제곱 알고리즘을 사용하며, 다음 단계를 따릅니다.

  1. 가중 최소제곱으로 모델을 피팅합니다. 첫 번째 반복의경우, 가중치를 지정하지 않으면 알고리즘은 1을 가중치로 사용합니다.

  2. 조정된 잔차를 계산하고 표준화합니다. 조정된 잔차는 다음과 같이 지정됩니다.

    radj=ri1hi

    여기서 hi는 피팅된 곡선에서 멀리 떨어져 있는 데이터 점의 가중치를 줄이는 파라미터입니다. 표준화된 조정된 잔차는 다음과 같이 지정됩니다.

    u=radjKs

    여기서 K=4.685는 조율 상수이고 s는 잔차의 중앙값 절대 편차(MAD)를 0.6745로 나누어서 얻을 수 있는 로버스트 표준편차입니다.

    로버스트 가중치를 u의 함수로 계산합니다. 겹제곱 가중치는 다음과 같이 지정됩니다.

    wi={(1(ui)2)2|ui|<10|ui|1

  3. 피팅이 수렴하면 반복 프로세스를 종료합니다. 그렇지 않으면, 1단계로 돌아가서 겹제곱 가중치 피팅 방법의 다음 반복을 수행합니다.

로버스트 최소제곱 피팅을 사용하여 이상값의 영향을 최소화하는 대신, 피팅에서 제외할 데이터 점을 표시할 수 있습니다. 자세한 내용은 이상값 제거하기 항목을 참조하십시오.

로버스트 최소제곱 피팅 방법을 사용하는 다항식 모델 피팅에 대한 예제는 Compare Robust Fitting Methods 항목을 참조하십시오.

비선형 최소제곱

Curve Fitting Toolbox는 비선형 최소제곱 방법을 사용하여 비선형 모델을 데이터에 피팅합니다. 비선형 모델은 계수가 비선형이거나 선형 계수와 비선형 계수가 혼합된 방정식으로 정의됩니다. 예를 들어 지수 모델, 푸리에 모델, 가우스 모델이 비선형입니다.

비선형 모델은 다음 행렬 형식을 갖습니다.

y=f(X,β)+ε

여기서

  • y는 응답 변수 데이터로 구성된 n×1 벡터입니다.

  • β는 계수로 구성된 m×1 벡터입니다.

  • X는 n×m 설계 행렬입니다.

  • f는 β와 X의 비선형 함수입니다.

  • ε은 알려지지 않은 오차로 구성된 n×1 벡터입니다.

선형 모델과는 달리 비선형 모델에서는 행렬 기법을 사용하여 근사 계수 b를 계산할 수 없습니다. Curve Fitting Toolbox는 다음과 같은 반복 접근 방식을 사용하여 그러한 계수를 계산합니다.

  1. 계수 값을 초기화합니다. 일부 비선형 모델에서 이 툴박스는 초기값 계산을 위해 발견법적 접근 방식을 제공합니다. 그 외 모델에서는 계수가 구간 [0,1] 내에 있는 임의 값으로 초기화됩니다.

  2. 현재 계수 집합에 대해 피팅된 곡선을 계산합니다. 피팅된 응답 변수 값 ŷ는 y^=f(X,b)로 지정되며 f(X,β)의 야코비 행렬을 사용하여 계산됩니다. f(X,β)의 야코비 행렬은 β의 계수에 대한 편도함수로 구성된 행렬로 정의됩니다.

  3. 다음과 같은 비선형 최소제곱 알고리즘 중 하나를 사용하여 계수를 조정합니다.

    • Trust-region — 이 알고리즘이 디폴트 값입니다. 계수 제약 조건을 지정하는 경우 Trust-region 알고리즘을 사용해야 합니다. Trust-region 알고리즘은 널리 사용되는 Levenberg-Marquardt 알고리즘을 개선한 것으로, 까다로운 비선형 문제를 여타 알고리즘보다 효율적으로 해결할 수 있습니다.

    • Levenberg-Marquardt — Trust-region 알고리즘이 적절한 피팅을 생성하지 못하고 계수 제약 조건이 없는 경우 Levenberg-Marquardt 알고리즘을 사용합니다.

  4. 피팅이 지정된 수렴 조건을 충족하면 반복을 종료합니다. 그렇지 않으면, 2단계로 돌아갑니다.

Curve Fitting Toolbox는 비선형 모델에 대한 SSE를 계산하기 위해 가중치 피팅 및 로버스트 피팅의 사용을 지원합니다.

비선형 모델의 예측 정확도는 모델 유형, 수렴 조건, 데이터 세트, 계수에 할당된 초기값에 따라 달라집니다. 디폴트 옵션이 적절한 피팅을 생성하지 못하는 경우 모델 계수, 비선형 최소제곱 알고리즘, 수렴 조건에 다양한 시작 값을 사용하여 시험해 보십시오. 일반적으로, 계수 시작 값을 수정하는 것으로 시작합니다. 비선형 모델 피팅은 모델 계수에 대한 시작 값에 특히 민감하기 때문입니다. 디폴트 옵션 수정에 대한 자세한 내용은 피팅 옵션 및 최적화된 시작점 지정하기 항목을 참조하십시오.

비선형 최소제곱 피팅 방법을 사용하는 지수 모델 피팅에 대한 예제는 Fit Exponential Model to Data 항목을 참조하십시오.

참고 문헌

[1] DuMouchel, W. H., and F. L. O'Brien. “Integrating a Robust Option into a Multiple Regression Computing Environment.” Computer Science and Statistics: Proceedings of the 21st Symposium on the Interface. Alexandria, VA: American Statistical Association, 1989.

[2] Holland, P. W., and R. E. Welsch. “Robust Regression Using Iteratively Reweighted Least-Squares.” Communications in Statistics: Theory and Methods, A6, 1977, pp. 813–827.

참고 항목

함수

관련 항목