예제: 최소자승 스플라인
Spline2, Binterp 및 DWS
Binterp에서 최소자승 스플라인 보간을 계산하는 데 필요한 노트의 최적 집합을 구하기 위해
Spline2 함수를 사용합니다.
1. 데이터 집합을 정의합니다.
w는 y의 무작위 오차에 대한 예상 표준 편차를 제공하는 가중치로 이루어진 벡터입니다.
2. 원하는 스플라인 다항식의 차수를 정의합니다.
3. Spline2 함수를 호출합니다.
벡터 b의 첫째 요소는 B-스플라인 차수입니다. 둘째 요소는 구간 (knots - 1)의 수를 나타냅니다. 그 다음 요소는 노트 값이고, 나머지 요소에는 B-스플라인 기준 함수의 계수가 포함됩니다.
노트를 자동으로 생성하는 경우 첫째 노트와 마지막 노트는 원래 x 데이터의 끝점에 일치합니다.
4. x의 범위에 일치하는 값의 범위에 대해 Binterp 함수를 호출합니다.
spline1의 행 i에는 보간된 값과 함께 범위 i에 정의된 점에서의 1차, 2차 및 3차 도함수가 포함됩니다.
5. 원래 데이터와 보간된 스플라인을 도표화합니다.
최적의 노트 수와 그 간격을 결정하는 데는 더빈-왓슨(Durbin-Watson) 통계값이 사용됩니다. 적합식이 유효하기 위해서는 이 통계값이 2에 가까워야 하며, 이 통계값은
DWS 함수를 사용하거나 행렬
b에서 관련 요소를 추출하여 구할 수 있습니다.
6. Spline2의 선택적 마지막 인수인 0에서 1 사이의 백분율을 사용하여 더빈-왓슨 검사에 필요한 유의 수준, 즉 기각 수준을 지정합니다.
언제나 그런 것은 아니지만 일반적으로 기각 수준이 높을수록 더 많은 노트가 생성되고 계산이 시간이 더 오래 걸립니다.
7. Spline2에 사용되는 노트 수를 계산합니다.
8. DWS 함수를 호출하여 더빈-왓슨 통계값을 구합니다.
9. 두 개의 보간된 스플라인을 도표화합니다.
가중치를 주지 않고 보간할 수 있습니다.
가중치를 주지 않는 대신 기각 수준을 사용하여 보간할 수 있습니다.
스플라인 도함수
보간 스플라인의 처음 도함수 세 개를 도표화합니다.
고유한 노트 지정
B-스플라인 보간에 사용할 고유한 노트를 지정할 수 있습니다.
1. 노트 문자열을 정의합니다.
2. 보간된 스플라인을 도표화합니다.
가중치 벡터 없이 노트를 지정할 수 있습니다.
이상치
스플라인 보간에서 이상치를 제거했을 때 어떤 결과가 나타나는지 확인할 수 있습니다.
둘째 데이터 피크의 맨 위쪽에 있는 점이 이상치일 가능성이 있습니다.
2. 데이터 집합과 가중치 함수에서 이 점을 제거합니다.
3. 새 데이터 집합에 대해 Spline2 함수를 호출합니다.
더빈-왓슨 통계값에 따라 더 나은 적합 결과를 얻을 수 있습니다.
4. 데이터 값이 의심스러운 지점에서 보간 결과를 비교합니다.
이상치를 제거했을 때 스플라인이 약간 아래로 내려갑니다.