수치 오류에 대한 과학적 표준


40

내 연구 분야에서 실험 오류의 사양은 일반적으로 받아 들여지며이를 제공하지 못한 출판물은 크게 비판을받습니다. 동시에 나는 종종 의심스러운 수치 방법이 작동하더라도 수치 계산 결과가 수치 오류를 고려하지 않고 제공되는 것을 종종 발견합니다. 나는 불연속 화 및 수치 계산의 유한 정밀도 등으로 인한 오차에 대해 이야기하고 있습니다. 물론, 이러한 오차 추정은 유체 역학 방정식의 경우와 같이 항상 쉽게 구할 수는 없지만 종종 내가 믿는 동안 게으름으로 인한 것으로 보입니다. 수치 오류 추정치의 사양은 실험 결과와 마찬가지로 표준이어야합니다. 따라서 내 질문 :

답변:


26

귀하의 질문은 모델 검증에 관한 것입니다. 검증 및 검증 ( Roache 1997 , 2002 , 2004 , Oberkampf & Trucano 2002 , Salari & Knupp 2000 , Babuska & Oden 2004 ) 광범위한 불확실성 정량화 주제를 검색하여 방법 및 표준에 대한 다양한 리소스를 찾을 수 있습니다 . 방법을 정교하게 다루기보다는 문제에 대해 확고한 입장을 취한 커뮤니티를 강조하고 싶습니다.

1986 년 Roache, Ghia, 화이트는 기존의 컨트롤 수치의 정확도에 유체 공학 편집 정책 서의 저널 열립니다

전산 유체 역학 커뮤니티와 더 넓은 범위의 전산 물리학에 전문적인 문제가 있습니다. 즉, 수치 정확도 제어에 대한 더 높은 표준이 필요하다.

[...]이 문제는 분명히 JFE에만 국한된 것이 아니며 복잡한 난류 흐름에 관한 1980-81 AFOSRHTTM-Stanford Conference에서 더욱 중점을 두었습니다. 그 회의의 평가위원회의 결론은, 그 회의에 제출 된 대부분의 경우, 난류 모델의 정확성을 평가하고 비교하는 것이 불가능하다는 것이 었습니다. 그리드. 이것은 특히 1 차 정확한 방법과 하이브리드 방법의 경우입니다.

그들은 매우 직접적인 지침으로 결론을 내립니다.

유체 공학 저널은 체계적인 절단 오류 테스트 및 정확도 추정의 과제를 해결하지 못하는 유체 공학 문제의 수치 솔루션을보고하는 논문을 발표하지 않습니다.

[...] 고정 그리드에서의 단일 계산은 허용되지 않을 것임을 분명히해야합니다 . 왜냐하면 그러한 계산에서 정확도 추정을 추론 할 수 없기 때문입니다. 또한 편집자는 특히 난류 모델링에서와 같이 조정 가능한 매개 변수가 포함 된 경우 실험 데이터와의 합리적인 합의가 충분한 정확성을 증명하는 것으로 간주하지 않습니다.

현재 버전은 기준의 포괄적 인 세트를 포함하고, 내 의견으로는, 다른 분야가 일치하는 바램이해야 표준을 나타냅니다. 오늘날에도 많은 분야에서 모델 검증의 중요성에 대한 인식이 결여되어 있다는 것은 부끄러운 일입니다.


1
조정 가능한 매개 변수에 대한 마지막 요점은 John von Neumann의 말입니다. "네 가지 매개 변수를 사용하면 코끼리를 맞출 수 있고 다섯 가지를 사용하면 트렁크를 흔들게 할 수 있습니다."
Jed Brown

이것은 반올림 오차가 아닌 이산화 오차의 영향만을 다루며, 이는 유체 시뮬레이션에서 일반적으로 총 오차에 덜 기여하므로 거의 보편적으로 무시됩니다. 그러나 미분 방정식이나 적분을 포함하지 않는 응용 분야에서는 이산화 오류가 없습니다. 이러한 문제에서 반올림 오류 및 반복 잘림 오류가 주요 오류 원인입니다.
Arnold Neumaier

엄격한 사후 계산이 그리드 독립 요구 사항을 대체 할 수 있다고 생각하십니까? 언급 된 바와 같이 약간 모호하지만 독립성을 보장하기 위해 그리드를 얼마나 세분화합니까? 반면에 좋은 후세 추정기는 모호성을위한 여지를 남겨 두지 않아야한다.
Reid. Atcheson

2
@ Reid.Atcheson "Yo dawg, 나는 당신이 오류 추정치를 좋아한다고 들었습니다. 그래서 당신은 당신의 오류 추정치에 대한 오류 추정치를 얻었으므로 당신의 오류를 추정 할 수 있습니다 ..." 최악의 경우. 가능한 범위는 비관적이며 대부분의 엔지니어링 문제에 맞지 않는 가정에 의존합니다. 최고 오차 추정기를 사용해도 올바르게 구현되었는지 확인해야합니다. 반드시 오류 추정기가있는 경우이를 사용하십시오. 그러나 오류 추정기는 독립형 검증이 아닙니다.
제드 브라운

19

신뢰할 수있는 오차 추정치가 종종 대략적인 계산보다 훨씬 비싸기 때문에 그러한 표준은 존재하지 않습니다 .

기본적으로 네 가지 종류의 오류 추정이 있습니다.

(i) 수치 적 방법이 수치 적으로 안정하다는 것을 증명하는 이론적 분석. 분석이 오류가 입력 인수에서 정량화 된 오류보다 나쁘지 않다는 것을 보장하기 때문에 이것은 실제로 오류 막대를 제공하지 않습니다. 입력도 근사치이므로 대부분의 과학 계산에 충분하므로 수치 적으로 안정적인 방법으로 만든 오류는 약간 다르지만 알려지지 않은 입력을 사용하는 것보다 나쁘지 않습니다. 가장 소중하게 여겨지는 수치 적 방법에는 수치 적으로 정 성적으로 분석이 수반되지만, 요청에 따라 소위 후진 오류라는 결과를보고하는 구현은 거의 없습니다.

(ii) 점근 적 오류 추정. 이들은 모든 오류 (입력 오류, 반올림 오류 또는 이산 오류가 가장 일반적인 원인 임)를 무시할 수 있다고 가정하고 (함수가 매우 비선형 인 경우 질문 가능) 민감도 분석을 사용하여 입력 오류를 전파합니다. 수치 안정성 분석과 함께 반올림 오차 또는 이산화 오차의 영향을 포착 할 수도 있습니다. 결과 오차 막대는이를 기반으로 한 가정의 유효성만큼 실현 가능합니다. 자동 미분 도구를 사용하면 오차 추정 비용은 일반적으로 근사 비용 외에 1 또는 2의 요소입니다. 따라서 이러한 종류의 오류 추정은 실제로는 매우 빈번합니다.

예를 들어, Oettli-Prager 정리는 선형 시스템의 솔루션에 대해 쉽게 계산 가능한 역 오차 추정치를 제공합니다. 민감도 분석에 따르면 이러한 오차는 행렬 역의 표준을 곱해야하며, Hager 추정량 (현대 조건 수 추정량에 내장)을 사용하여 추정 할 수 있습니다.

(iii) 확률 론적 오류 분석 : (CESTAC, http://www.sciencedirect.com/science/article/pii/0378475488900705) 이것은 3 개의 인수 집합을 평가 한 후 인공적인 임의의 반올림 오류를 추가하는 해당 확률 변형을 사용하여 모든 연산에 과부하를 가하여 수행됩니다. 마지막 3 개의 결과는 제곱근의 평균과 표준 편차를 계산하는 데 사용됩니다 (평균의 편차 제곱을 2 = 3-1로 나눈 값). 이것은 반올림 오차 부분의 상당히 유용한 정확도 추정치를 제공합니다. 그러나 이산화 오차는 설명하지 않지만, 일반적으로 ODE 및 PDE 계산에서 지배적 인 오차입니다. 오버로드 된 작업 실행의 오버 헤드 때문에 비용은 프로그래밍 언어에 따라 다릅니다. (대부분의 경우는 아님) 오버로딩에 시간 페널티가 없다고 가정하면 결과 비용과 오류 추정 비용은 근사값 만 계산하는 것과 비교하여 3 배입니다.

(iv) 간격 분석 : 이것은 모든 오류 소스에 대해 올바르게 수행 될 경우 엄격한 한계를 제공하지만 간단한 경우를 제외하고는 한계가 실제 오류를 심각하게 과대 평가하지 않는 방식으로이를 수행하려면 많은 경험 (또는이를 구현하는 소프트웨어)이 필요합니다. . 선형 대수 (예 : IntLab http://www.ti3.tu-harburg.de/rump/intlab/ ; 치수가 큰 경우 약 6 배의 비용) 및 전체 최적화 (예 : , 코코넛 http://www.mat.univie.ac.at/~coconut/coconut-environment/; 문제의 특성에 따라 대략적인 전체 최적화보다 훨씬 비싸거나 더 저렴할 수 있습니다. 그러나 대략 정확하게 처리하기 쉬운 많은 다른 종류의 문제들 (예를 들어, 10 년 동안 태양계의 큰 행성들의 궤도를 둘러싸고 있음)은 현재 세대의 간격 법에 완전히 도달하지 못한다.


감사. (ii) 직장에서보고 싶습니다. 저자가 민감도 분석과 수치 안정성 분석을 결합하여 전체 오차 추정치를 결정하는 예를들 수 있습니다.
highsciguy

@highsciguy : 내 편집 내용보기 (ii)
Arnold Neumaier

감사. 자 코비안 행렬의 역수?
highsciguy

@ highsciguy : 마지막 질문을 이해하지 마십시오. 예는 Jacobian 수치가 아닌 선형 방정식 시스템을 푸는 것이 었습니다.
아놀드 노이 마이어

1
나는 선형으로 간과했다. 그럼 분명해 Oettli-Prager 정리를 비선형 시스템으로 일반화하려는 시도가 있습니까?
highsciguy

13

일종의. 수치 분석가들에 의해 도출 된 이론적 오차 한계가 있으며, 이는 일반적으로 과대 평가되고 실제로 문제가되기 어려운 정보를 포함 할 수 있기 때문에 실제로 유용하지 않을 수 있습니다. 좋은 예는 Hairer and Wanner의 저서에서 찾을 수있는 일반 방정식의 해에서 수치 오류에 대한 경계입니다. Nick Higham의 저서 인 Numerical Algorithms의 정확성 및 안정성 (제목에 대해 약간 벗어난 경우도 있음)은 일반적인 수치 연산 및 선형 대수 알고리즘에 대한 오류 범위를 제공합니다. 수치 분석 문헌은 그러한 한계가있다.

간격 분석 방법도 오차 한계를 계산하는 데 사용되었습니다. 이러한 방법은 엄격하며 이론적 오차 범위보다 더 강한 오차 범위를 제공하는 경향이 있지만 수치 계산에서 오차를 크게 과대 평가할 수 있습니다. 이 방법은 전역 최적화에서 (내 지식으로는) 가장 잘 활용되었지만 불확실성 정량화에서도 사용됩니다. Arnold Neumaier는 구간 분석 방법에 대해 최소한 한 권의 책을 저술했으며이 주제에 대해 자세히 설명 할 수있는 자격이 더 있습니다. 잠재적 인 과대 평가 문제 외에도 구간 분석 방법에는 기존의 대규모 수치 시뮬레이션 패키지 (예 : PETSc, Trilinos, CLAWPACK / PyClaw 등)의 개조가 필요한 추가 계산 인프라가 필요합니다. )를 사용하여 간격 산술 및 자동 미분 (테일러 기반 방법의 경우)을 포함합니다. 내가 본 것에서, 몇 가지가 있지만 허용되는 간격 산술 및 자동 차별화 패키지는 많지 않습니다. 그럼에도 불구하고 때때로 이러한 라이브러리는 기능이 제한적입니다. BLAS와 같은 기능을 가진 허용 적으로 라이센스가 부여 된 (LGPL 또는 BSD와 같은) 간격 산술 라이브러리를 찾기가 어렵습니다.

사후 오류 추정치는 더 쉽게 얻을 수 있지만 엄격하지는 않습니다. 나는 일반 미분 방정식에 대한 연구에서 얻은 이러한 추정에 가장 익숙하지만 부분 미분 방정식에 대한 솔루션을 계산하는 데 사용되는 많은 방법에 대해서도 존재합니다.

보다 광범위하게, 다항식 혼돈 확장, 몬테 카를로 (Monte Carlo) 방법 또는 다른 샘플링 방법의 사용과 같은 불확실성 정량화 방법은 입력 매개 변수의 변동으로 인한 계산의 불확실성을 정량화하는 데 사용될 수 있습니다. 이러한 방법은 매개 변수의 변화로 인해 일종의 휴리스틱 "오류 막대"를 제공 할 수 있어야하지만 엄격한 범위는 제공하지 않습니다.

나는 수치 오류의 사양에 관해서는 당신이 옳다고 생각합니다. 계산 과학은 결과를 실험 기반 물리 과학으로 제시하는 것에 대해 엄격해야합니다. 이 영역에서 많은 작업이 진행되고 있으며 (“불확실성 정량화”및“수치 적 분석”이라는 용어로) 미래의 어느 시점에서 대부분의 계산 결과를 논의 할 때 오차 막대가 포함되기를 희망합니다 .


이 다항식 혼돈 확장에 대한 개요 기사를 잘 참조하고 있습니까? 용어가 정기적으로 나타나는 것을 보았으며 이에 대해 조금 더 배우고 싶습니다. 감사.
GertVdE

2
Dongbin Xiu는 일반적으로 다항식 혼돈 확장에 관한 접근 가능한 논문을 작성합니다. 다음은 그가 작성한 일반적인 개요 논문 중 하나입니다. dam.brown.edu/scicomp/media/report_files/BrownSC-2003-07.pdf
Geoff Oxberry

7

다른 답변 외에도 고려해야 할 몇 가지 추가 사항이 있습니다.

  1. 수치 적 이산화 오류, 또는 적어도 계획의 순서는 분석적으로 결정될 수있다. 이러한 오류에 대한 논의는 일반적으로 알려진 체계를 사용하는 경우 논문에서 생략 될 수 있습니다.
  2. 동일한 문제, 일반적으로 단순한 문제가 점진적으로 미세한 그리드에서 실행되는 그리드 개선 연구. 이들은 L- 노름 (일반적으로 L2)을 찾기 위해 정확한 솔루션 또는 엄청나게 미세한 그리드의 솔루션과 비교됩니다. 이 오차 추정치의 기울기는 정확도 순서를 제공합니다.
  3. 다른 수치 체계를 사용할 수 있지만 그리드 세분화 또는 정확한 솔루션을 사용할 수없는 문제의 경우 Richardson Extrapolation이라는 또 다른 방법으로 오류 항에 한계가 있습니다. 이 방법을 설명하는 좋은 리뷰 는이 백서에서 찾을 수 있습니다
  4. 마지막으로, 각 저널은 자체 승인 기준을 설정합니다. 일부는 엄격하고 다른 일부는 엄격하지 않습니다. 예를 들어 AIAA는 여기에 표준을 설정합니다 . 다른 저널에는 저자에 대한 비슷한 정보가 있습니다.

난 그냥 포인트 2에 대해 언급하고 싶습니다. 나는 실제 문제를 수치 적으로 해결함에있어서, "엄청나게 훌륭한 그리드"보다는 두 개의 연속적인 개선 간의 차이를 비교하는 것이 훨씬 더 가능성이 있다고 생각합니다. 아주 미세한 격자를 풀 수 있다면 왜 더 거친 격자로 귀찮게합니까?
Godric Seer

그리드 개선 연구는 일반적으로 실제 문제에 비실용적입니다. 이것이 포인트 3이 들어오는 곳입니다. 그리드를 점진적으로 수정하는 것보다 체계 순서를 변경하여 오류 범위를 결정하는 것이 훨씬 쉽습니다. 예를 들어, 우리는 여전히 비선형 인 보이지 않는 소용돌이를 사용하여 코드의 유효성을 검사하지만 정확성을 확인하기 위해 매우 정확한 "정확한"솔루션을 실행할 수 있습니다. 그러나 완전한 소용돌이 연소기에서는 실제로 그렇게 할 수 없으므로 다른 계획을 사용합니다.
tpg2114

또한 그리드를 세분화하고 답의 차이를 확인하면 그리드 독립성을 나타내며, 이는 오류 범위를 확인하는 것과 다릅니다. Large Eddy Simulations과 같은 것에 대한 그리드 리파이닝은 다른 모든 웜 캔을 열지 만 그리드 리파이닝은 실제의 경우에도 여전히 필요합니다.
tpg2114

감사합니다. 오류 범위와 그리드 독립성이 잘못 관련되어 있습니다. 필자는 그리드 독립성이 이산화 오류에 대한 질적 수준의 보증을 의미한다고 항상 생각한 것 같습니다.
Godric Seer

3
그리드 독립성은 그리드가 미세할수록 응답이 향상되지는 않지만 응답이 얼마나 정확한지 또는 그리드를 얼마나 빨리 정련하여 정확도가 향상되었는지는 알려주지 않습니다.
tpg2114
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.