혼돈 수치 모델의 회귀 테스트


10

실제 물리적 시스템을 나타내는 수치 모델이 있고 혼돈을 나타내는 수치 모델 (예 : 유체 역학 모델, 기후 모델)이 모델이 제대로 수행되고 있음을 어떻게 알 수 있습니까? 초기 조건의 작은 변화만으로도 개별 시뮬레이션의 출력이 크게 변하기 때문에 두 세트의 모델 출력을 직접 비교할 수 없습니다. 관측치의 초기 조건을 충분히 자세하게 알 수 없기 때문에 모형 출력을 관측치와 직접 비교할 수 없으며 수치 근사로 인해 시스템을 통해 전파되는 사소한 차이가 발생할 수 있습니다.

이 질문은 부분적으로 과학 코드 단위 테스트에 관한 David Ketcheson의 질문에서 영감을 얻었습니다 . 특히 이러한 모델의 회귀 테스트를 구현하는 방법에 관심이 있습니다. 작은 초기 조건 변경으로 주요 출력 변경이 발생할 수있는 경우 (여전히 현실에 대한 적절한 표현 일 수 있음) 매개 변수 수정 또는 새로운 수치 루틴 구현으로 인한 변경과 이러한 변경을 어떻게 분리 할 수 ​​있습니까?

답변:


7

이러한 경우에 비교할 수있는 모든 것은 평균, 더 높은 모멘트, 경계를 가로 지르는 열 유속 및 기타 적 분량과 같은 솔루션 통계입니다. 예를 들어 Navier-Stokes 방정식의 난류 모델에 대해 논의하는 많은 논문 중 하나를 살펴보십시오. . 모두 흐름의 적 분량이며 다른 시뮬레이션 및 / 또는 실험에서 계산 된 동일한 적 분량과 비교됩니다.


좋은 예시 논문을 알고 있습니까? 당신의 대답에 좋은 추가가 될 것입니다.
naught101

내 머리 꼭대기가 아닌 나는 난기류 모델링 사람이 아닙니다. 그러나 Tom Hughes의 최신 논문으로 시작하여 거기서 작업합니다.
Wolfgang Bangerth

동적 시스템의 체계를 결정하기 위해 요약 통계를 사용하는 좋은 예라고 생각합니다. "시끄러운 비선형 생태 학적 동적 시스템에 대한 통계적 추론"
Jugurtha

4

코드가 근본적인 문제의 혼란이 아닌 영역, 특히 제조 된 솔루션의 방법을 사용할 수있는 혼란이 아닌 영역에서 실행될 수 있다면, 그렇지 않은 경우에도 이러한 영역에서 실행되는 회귀 테스트를 작성해야합니다. . 이러한 테스트가 실패하면 최신 코드 변경에 문제가 있음을 즉시 알 수 있습니다. 그런 다음보다 물리적으로 관련된 문제로 넘어갈 수 있습니다.


나는 전체 기후 모델이 그렇게 실행될 수 있다고 생각하지 않지만 아마도 주요 구성 요소가 될 수 있다고 생각합니다. 수퍼 유닛 테스트와 같은 것. 좋은 생각.
naught101

2
그러나 그게 요점입니다. 회귀 테스트는 코드 범위가 양호해야하며 (gcov 등은 친구입니다) 빠르게 실행해야합니다. 일일 회귀 테스트로 전체 기후 모델을 실행하는 경우 많은 시간을 낭비하고있는 것 같습니다.
Bill Barth

필자는 처음에 테스트를 실행 한 다음 Wolfgang의 답변에 언급 된대로 많은 메트릭을 저장한다고 생각합니다. 그런 다음 변경 한 후 테스트를 다시 실행하고 마지막에 저장 한 것과 동일한 메트릭을 비교하십시오. 모델 (또는 모델 수퍼 구성 요소)을 개선 한 경우 이론적으로는 메트릭이 모두 향상되거나 적어도 크게 악화되지 않아야합니다 (이전에 또는 과도하게 적합하지 않은 경우를 제외하고는 주관적으로 결정할 수 있음) . 이런 의미에서 테스트는 훨씬 더 질적이지만, 여전히 유용 할 수 있습니다.
naught101

이 답변 에서 논의했듯이 , 나는 가정합니다.
naught101

2

먼저, 당신이 당신의 질문에 몇 가지 다른 것들을 만질 때, 마지막 문장에 초점을 맞출 것이지만, 그것이 당신이 요구하는 것을 적절하게 포착한다고 생각합니다. 수치 루틴을 변경하는 경우 이전 루틴에서 새 루틴을 검증 할 때까지 초기 조건 또는 시스템 매개 변수를 변경해서는 안됩니다. 가장 약한 수준에서 나는 이것이 일시적인 행동이 혼란 속에서 서로 다른 경우에도 솔루션에 대한 시간 평균 값을 비교하고 일치하는 것으로 간주합니다. 가장 강력한 레벨에서는 두 루틴이 완전한 일시적 동작을 재현 할 것으로 예상합니다. 이 중 어느 것이 원하는지, 어떤 것이 허용 가능한지는 당신이 묻는 질문과 솔루션에서 도출 한 결론에 달려 있습니다.

모델이 "필요한대로 수행되는지"여부를 판단하는 한, 완전히 다른 질문입니다. 이것은 선택한 수치 루틴과 관련이 없습니다. 단순화 가정에서 매개 변수의 측정 / 계산에 이르기까지 모델을 구축하는 방법은 문제의 물리학 및 유사한 사례에 대해 수행 한 이전 작업을 바탕으로 모든 결정을 내려야합니다. 랩 설정에서 재현 된 간단한 사례로 모델의 유효성을 검사 할 수 있지만 그다지 중요하지 않은 경우가 있습니다. 중요한 시스템 매개 변수를 어느 정도까지 결정할 수 없다면 일시적인 로컬 동작에서 계산하는 작은 세부 정보를 신뢰할 수있는 사람은 아무도 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.