이것은 조각별 연속 함수를 데이터 세트에 맞추는 방법에 대한 일련의 게시물 중 네 번째입니다. 나는 시리즈의 다른 모든 이전 게시물에 대한 링크로 각 게시물을 시작하고 싶습니다.
4부에 이어...
소개
이 시리즈의 이전 게시물에서 우리는 다음 그래프에 표시된 데이터 세트에 대해 작업했습니다.
Figure 1: Sample Data Set.그림 1: 샘플 데이터 세트.
지금까지 다음을 포함하여 데이터 영역을 분할하고 각 영역과 관련된 곡선을 정의하는 방법에 대해 논의했습니다.
- 끝점의 연속성을 통해 분할 방정식의 일부 계수를 제거합니다.
- 사용 JMP 미지의 문제 해결을 준비하기 위해 알 수 없는 매개변수와 여러 방정식이 모두 하나의 공식에 포함된 의 공식 편집기입니다.
이제 JMP의 비선형 플랫폼을 사용하여 알려지지 않은 매개변수를 찾아 최적의 모델을 제공할 준비가 되었습니다. 이제 우리는 다음을 논의합니다:
- JMP의 비선형 플랫폼을 사용하여 조각별 방정식을 푸는 방법
- 다음을 통해 모델이 수렴되도록 합니다.
- 선택적 수렴 알고리즘
- 매개변수 제한 설정
- 융합목표
좀 더 자세히 살펴보겠습니다.
JMP의 비선형 플랫폼
비선형 플랫폼은 사용자가 선택할 수 있는 여러 반복 추정 프로세스 중 하나를 사용하여 수식 편집기에 설명된 알 수 없는 매개변수를 해결합니다. 이전 블로그 게시물에서 설명한 대로 조각별 방정식을 풀기 위해 먼저 분석-->특수 모델링-->비선형으로 이동합니다. 다음 사용자 인터페이스가 열립니다.
Figure 2: The Nonlinear Input Interface그림 2: 비선형 입력 인터페이스
그림 2에서는 이미 입력 사항을 입력했습니다.
- "Y, Response"는 원본(측정된) 데이터입니다.
- "X, Predictor Formula"는 이전 블로그 게시물에서 정의한 수식 열입니다.
- y 값이 측정된 x 값은 GUI에 직접 입력되지 않고 수식 열의 참조를 통해 포함됩니다.
- 수식 열의 매개변수는 시작 값과 함께 옵션/예측 변수 섹션에 표시됩니다. JMP는 이 정보를 자동으로 채웁니다.
확인을 클릭하면 다음 창이 나타납니다.
Figure 3: Nonlinear platform, ready to fit그림 3: 바로 장착 가능한 비선형 플랫폼
여기에서는 알 수 없는 각 매개변수에 대한 시작 값이 표시된 지금까지의 모델 요약을 볼 수 있습니다. 우리는 또한 수렴 기준(나중에 논의됨)을 봅니다. 원래 데이터(검은색 점)와 현재 피팅(매개변수 시작 값을 사용하여 생성된 얇은 검은색 선)이 표시됩니다.
또한 4개의 버튼이 있습니다:
- Go: 반복적인 솔버 프로세스를 시작합니다.
- 중지: 프로세스를 중지합니다(솔버가 수렴하지 않는 경우).
- 단계: 한 번에 하나의 반복 단계를 수동으로 수행하여 수렴 기준과 적합도가 어떻게 변경되는지 확인합니다.
- 재설정: 매개변수를 시작 값으로 재설정합니다.
"Step" 버튼을 몇 번 클릭하면 수렴 알고리즘이 작동하는 것을 볼 수 있습니다.
Figure 4: Convergence In Action그림 4: 융합의 실제 사례
그림 4의 서브플롯에서 단계가 증가함에 따라 얇은 검은색 선이 측정된 데이터 쪽으로 확실히 수렴된다는 점에 유의하세요. 또한 매개변수가 변경되고 수렴 기준도 축소되고 있습니다.
Go 버튼을 클릭하면 아래와 같이 자동으로 최종 수렴된 값이 표시됩니다.
Figure 5: Final Converged Model그림 5: 최종 수렴 모델
그림 5의 출력 상단에는 "실패: 최대 반복 횟수 초과"라는 경고 메시지가 있습니다. 이에 대해서는 이 게시물의 뒷부분에서 이야기하겠습니다. 그러나 플롯을 보면 관찰된 데이터와 모델의 좋은 수렴을 이미 달성했음이 분명합니다.
매개변수에 대한 몇 가지 관찰 사항은 다음과 같습니다.
- 그림 1에서 X1, X2, X3, X4가 조각별 함수의 컷포인트였다는 점을 상기해 보세요. 이는 각 조각별 함수에 대한 좋은 끝점을 제공하기 위해 예상된 시작 값에서 적절하게 이동되었습니다.
- 나머지 매개변수는 모두 개별 곡선 부분에 중요합니다. 예를 들어, a0은 X1=24.8에서 테스트 데이터가 누적되기 전의 평균 Y 수준을 나타냅니다.
수렴이 없으면 어떻게 되나요?
솔루션이 수렴하지 않는 경우에 대한 옵션
위에서 언급했듯이 이 특정 솔루션은 (기술적으로) 수렴되지 않았습니다. 이는 기본 수렴 알고리즘이 비선형 맞춤 제어판에 정의된 수렴 기준을 충족하지 않음을 의미합니다. 실제로 수렴이 없으면 JMP에서는 결과에 대해 많은 작업을 수행할 수 없습니다(예: 새 매개변수 저장).
그래서 우리가 뭘 할 수 있지?몇 가지 옵션이 있습니다:
수렴 기준 변경
그림 5의 기준 섹션에서는 현재 수렴 기준이 무엇인지, 그리고 이를 충족하는 데 얼마나 근접했는지 확인할 수 있습니다. 예를 들어 JMP는 이전 예에서 60번의 반복 단계를 거쳤지만 수렴을 달성하지 못했습니다. 따라서 더 많은 단계를 시도하기 위해 "중지 제한"을 늘릴 수 있습니다(수렴하는 데 시간이 더 오래 걸립니다).
또는 Obj Change, Relative Gradient 또는 Gradient를 변경할 수도 있습니다. 세 가지 기준 중 하나라도 "중지 제한" 아래로 떨어지면 수렴이 달성됩니다.
반복 추정 알고리즘 변경
"비선형 피팅"(그림 3 참조) 옆의 빨간색 삼각형은 "반복 옵션"을 포함한 여러 옵션을 제공합니다. 여기에서는 선택할 수 있는 세 가지 다른 반복 알고리즘이 있습니다.
이러한 옵션 중 일부는 "숫자 미분만" 계산도 허용합니다. JMP 도움말 기준 , 특정 데이터와 적합한 방정식에 따라 달라지므로 이러한 알고리즘 중 어떤 알고리즘을 사용하는 것이 가장 좋은지에 대한 합의가 없습니다.
알고리즘을 결합할 수 있습니다. 예를 들어, 테스트 사례에서 Newton 방법은 수렴되지 않았습니다. 하지만 Newton 방법으로 도달한 값은 유지하고, 단순히 반복 알고리즘만 변경한 후 Go 버튼을 클릭하면 Newton 알고리즘이 도달한 끝점에서 수렴을 진행할 수 있습니다. 이것이 작동하는 이유는 무엇입니까? 매개변수에 대한 더 나은 추정부터 시작하기 때문입니다.
수렴을 개선하기 위한 다음 옵션으로 이동합니다.
매개변수 제한 설정
때때로 반복 알고리즘이 매개변수를 조정할 때 잘못된 방향으로 "이륙"하거나 로컬 최소값에 갇힐 수 있습니다. 이런 일이 발생하면 매개변수가 사용할 수 있는 범위를 제한하는 것이 도움이 될 수 있습니다.
예제 문제에서는 X1 컷오프 지점이 약 20의 값을 가져야 한다는 것을 알고 있을 것입니다. X1이 15-25 범위를 벗어나서는 안 된다고 JMP에 지시할 수 있습니다. 이렇게 하면 반복 알고리즘이 작업을 수행하면서 "잃어버리는" 것을 방지하는 데 도움이 됩니다.
매개변수 경계는 동일한 비선형 피팅 빨간색 삼각형 아래에서 찾을 수 있습니다. 활성화되면 보고서 하단에 각 변수에 대한 추정치와 범위를 입력할 수 있는 표가 나타납니다. 또한 이 표의 슬라이더를 일종의 프로파일러로 사용하여 플롯에 표시된 전체 적합성에 대한 각 매개변수 변경의 효과를 검사할 수 있다는 점도 참고하세요.
그림 6은 매개변수 경계 테이블의 예를 보여줍니다.
Figure 6: Parameter Bounds Table그림 6: 매개변수 범위 테이블
일단 융합을 이루었다면
공식 편집기에서 적절한 방정식을 구성하고 위에 설명된 옵션을 통해 수렴을 달성했다면 JMP의 비선형 플랫폼은 알려지지 않은 모든 매개변수에 대한 최상의 추정치를 제공했을 것입니다. 보고서 상단에 "그라디언트에 수렴" 효과에 대한 메모가 표시되고, 보고서 하단에는 알 수 없는 모든 매개변수의 최종 추정치를 표시하는 "솔루션" 섹션이 표시됩니다.
Figure 7: Converged Parameter Estimates그림 7: 수렴된 매개변수 추정
또한 측정된 데이터 및 최적 맞춤 함수의 플롯 바로 위에 이제 "추정치 저장" 버튼이 있어야 합니다. 이 버튼을 클릭하면 공식의 현재 매개변수 값이 새로운 최적 값으로 대체됩니다.
다음 블로그 게시물(시리즈의 마지막)
이 게시물은 비선형 플랫폼을 사용하여 임의 함수(특히 조각별 함수)를 해결하는 방법을 마무리합니다. 그러나 비선형 플랫폼에는 자체 블로그 게시물에 걸맞은 특별한 "모델 라이브러리"도 있습니다.
따라서 Piecewise 시리즈의 마지막 블로그 게시물에서는 비선형 플랫폼에 내장된 다른 "기본" 모델을 어떻게 피팅할 수 있는지에 대해 설명합니다. 꼭 확인해보시길 바랍니다!
5번째 글 링크는 어디에도 없네요.
혹시 5번째 게시물이 올라왔는지 아시는 분 계신가요?
귀하의 과제에 대해 언제 조각별 비선형 솔루션이 필요할 수 있습니까?@제리피쉬 몇 가지 예를 나와 공유했습니다.
- 아마도 출력 증가율이 갑자기 변하는 프로세스를 모니터링하고 있을 것입니다.변경이 발생한 시기와 변경 지점 전후의 경사가 얼마나 변경되었는지 알고 싶습니다.
- 아마도 당신은 회사 재무를 모니터링하고 있을 것입니다.그 동안 저성장세를 이어오던 회사가 신제품 출시로 성장률이 급격하게 변했다.
- 코로나19 감염률을 보면 봉우리와 계곡이 많다.아마도 이러한 시간 기반 곡선의 다양한 부분에 함수를 맞추고 싶을 수도 있습니다.곡선을 분리하는 대신 곡선의 모든 부분을 한 번에 조각별로 맞추는 것이 좋습니다.