Standardy naukowe dla błędów numerycznych


40

W mojej dziedzinie badań specyfikacja błędów eksperymentalnych jest powszechnie akceptowana, a publikacje, które ich nie dostarczają, są bardzo krytykowane. Jednocześnie często stwierdzam, że wyniki obliczeń numerycznych są podawane bez uwzględnienia błędów numerycznych, mimo że (a może dlatego, że) często działają wątpliwe metody numeryczne. Mówię o błędach wynikających z dyskretyzacji i skończonej precyzji obliczeń numerycznych itp. Jasne, te oszacowania błędów nie zawsze są łatwe do uzyskania, na przykład w przypadku równań hydro-dynamicznych, ale często wydaje się, że wynikają z lenistwa, podczas gdy ja wierzę że specyfikacja liczbowych szacunków błędów powinna być standardowa tak samo, jak w przypadku wyników eksperymentalnych. Stąd moje pytanie:

Odpowiedzi:


26

Twoje pytanie dotyczy weryfikacji modelu. Możesz znaleźć wiele zasobów na temat metod i standardów, wyszukując Weryfikację i Walidację ( Roache 1997 , 2002 , 2004 , Oberkampf i Trucano 2002 , Salari i Knupp 2000 , Babuska i Oden 2004 ), a także szerszy temat Kwantyfikacji niepewności . Zamiast opracowywać metody, chciałbym zwrócić uwagę na społeczność, która zajęła zdecydowane stanowisko w tej sprawie.

W 1986 r. Roache, Ghia i White założyli Oświadczenie o polityce redakcyjnej Journal of Fluids Engineering dotyczące kontroli dokładności numerycznej, które rozpoczyna się od

Problem zawodowy istnieje w środowisku obliczeniowej dynamiki płynów, a także w szerszym obszarze fizyki obliczeniowej. Mianowicie istnieje potrzeba wyższych standardów kontroli dokładności liczbowej.

[...] Problem z pewnością nie jest unikalny dla JFE i stał się jeszcze ostrzejszy podczas konferencji AFOSRHTTM-Stanford w 1980 r. W sprawie złożonych turbulentnych przepływów. Był to wniosek komitetu oceniającego tej konferencji, że w większości zgłoszeń do tej konferencji nie można było ocenić i porównać dokładności różnych modeli turbulencji, ponieważ nie można było odróżnić błędów modelowania fizycznego od błędów numerycznych związanych z algorytmem i krata. Dotyczy to szczególnie dokładnych metod pierwszego rzędu i metod hybrydowych.

Wnioski kończą się bardzo bezpośrednimi wytycznymi:

Journal of Fluids Engineering nie przyjmie do publikacji żadnego artykułu opisującego numeryczne rozwiązanie problemu inżynierii płynów, który nie spełnia zadania systematycznego testowania błędów skracania i szacowania dokładności.

[...] musimy wyjaśnić, że pojedyncze obliczenie w ustalonej siatce nie będzie możliwe do zaakceptowania , ponieważ nie można wnioskować o oszacowaniu dokładności na podstawie takiego obliczenia. Ponadto redaktorzy nie uznają rozsądnej zgodności z danymi eksperymentalnymi za wystarczający dowód dokładności, zwłaszcza jeśli w grę wchodzą jakiekolwiek regulowane parametry, jak w przypadku modelowania turbulencji.

Aktualna wersja zawiera obszerny zbiór kryteriów i stanowi standard, który, moim zdaniem, inne pola powinny dążyć do meczu. Szkoda, że ​​nawet dziś świadomość tak dużej wagi weryfikacji modelu nie występuje w tak wielu dziedzinach.


1
Ostatni punkt na temat parametrów dostrajających przypomina mi cytat Johna von Neumanna: „Za pomocą czterech parametrów mogę zmieścić słonia, a za pomocą pięciu mogę zmusić go do poruszania bagażnikiem”.
Jed Brown,

Dotyczy to tylko efektu błędu dyskretyzacji, a nie błędów zaokrąglania, które są prawie powszechnie ignorowane w płynnych symulacjach, ponieważ zazwyczaj przyczyniają się one mniej do całkowitego błędu. Jednak w aplikacjach nieobsługujących równań różniczkowych lub całek nie występuje błąd dyskretyzacji. W tych problemach błędy zaokrąglania i błędy skracania iteracji są dominującym źródłem błędów.
Arnold Neumaier,

Czy uważasz, że rygorystyczne oszacowanie a posteriori może zastąpić wymóg niezależności sieci? Jak powiedziano, jest to trochę niejasne, ile udoskonalasz siatki, aby zapewnić niezależność? Z drugiej strony dobry estymator a posteriori nie powinien pozostawiać miejsca na dwuznaczności.
Reid.Atcheson

2
@ Reid.Atcheson „Witaj, słyszałem, że lubisz oszacowania błędów, więc dostałem oszacowanie błędu dla oszacowania błędu, abyś mógł oszacować błąd w swoim ...”, ale niestety praktyczne oszacowania błędów zwykle nie są rygorystyczne najgorsze granice. Dostępne ograniczenia są często pesymistyczne i opierają się na założeniach, które nie są prawdziwe w przypadku większości problemów inżynierskich. Nawet z najwyższym estymatorem błędów musisz zweryfikować, czy został poprawnie zaimplementowany. Oczywiście należy użyć narzędzia do szacowania błędów, jeśli go masz, ale narzędzie to nie jest samodzielną weryfikacją.
Jed Brown,

19

Nie istnieją takie standardy, ponieważ wiarygodne szacunki błędów często kosztują znacznie więcej niż przybliżone obliczenia.

Zasadniczo istnieją cztery rodzaje szacunków błędów:

(i) Analizy teoretyczne potwierdzające, że metoda numeryczna jest stabilna numerycznie. To tak naprawdę nie daje paska błędów, ponieważ analiza gwarantuje tylko, że popełniony błąd nie jest gorszy niż błąd ilościowy w argumentach wejściowych. Wystarczy dla większości obliczeń naukowych, ponieważ dane wejściowe są również przybliżone, więc błąd popełniony metodą numerycznie stabilną nie jest gorszy niż użycie nieco innych (ale nieznanych) danych wejściowych. Najbardziej cenionym metodom numerycznym towarzyszy numeryczna analiza statyczna, chociaż prawie nie ma implementacji, która na żądanie zgłasza wynikowy tak zwany błąd wstecz.

(ii) Szacunkowe błędy asymptotyczne. Zakładają one, że produkty wszystkich błędów (błędy wprowadzania, błędy zaokrąglania lub błędy dyskretyzacji są najczęstszymi źródłami) mogą być pomijane (wątpliwe, jeśli funkcje są bardzo nieliniowe) i wykorzystują analizę wrażliwości do propagowania błędów wprowadzania. Wraz z numeryczną analizą stabilności może to również uchwycić efekt błędów zaokrąglania lub błędów dyskretyzacji. Wynikowe słupki błędów są tak samo wiarygodne, jak ważność założeń, na których są oparte. Przy użyciu narzędzi do automatycznego różnicowania koszt oszacowania błędu jest zwykle współczynnikiem 1 lub 2 oprócz kosztu przybliżenia. Dlatego tego rodzaju oszacowanie błędu jest dość częste w praktyce.

[Edytuj] Na przykład, twierdzenie Oettli-Pragera daje łatwe do obliczenia oszacowanie błędu wstecznego dla rozwiązania układów liniowych. Analiza wrażliwości mówi, że błędy te należy pomnożyć przez normę macierzy odwrotnej, którą można oszacować za pomocą estymatora Hagera (wbudowanego w nowoczesne estymatory liczb stanu).

(iii) Analiza błędów stochastycznych: (CESTAC, http://www.sciencedirect.com/science/article/pii/0378475488900705) Dokonuje się tego poprzez przeciążenie wszystkich operacji odpowiednim wariantem stochastycznym, który ocenia trzy zestawy argumentów, a następnie dodaje sztuczny losowy błąd zaokrąglania. ostatnie trzy wyniki służą do obliczenia średniej i odchylenia standardowego pierwiastka kwadratowego (suma kwadratów odchyleń od średniej podzielona przez 2 = 3-1). Daje to dość przydatne oszacowanie dokładności części błędu zaokrąglania. Nie uwzględnia to jednak błędu dyskretyzacji, który zwykle jest dominującym błędem w obliczeniach ODE i PDE. Koszt zależy od języka programowania ze względu na narzut związany z wykonywaniem przeciążonych operacji. Zakładając (co prawie nigdy się nie zdarza) przeciążenie nie pociąga za sobą kary czasowej, koszt wyniku plus oszacowanie błędu jest współczynnikiem 3 w porównaniu do obliczenia jedynie przybliżenia.

(iv) Analiza interwałów: daje to rygorystyczne granice dla wszystkich źródeł błędów, jeśli jest wykonane prawidłowo, ale z wyjątkiem prostych przypadków wymaga dużo doświadczenia (lub oprogramowania wcielającego to), aby zrobić to w taki sposób, że granice nie przeceniają poważnie prawdziwych błędów . Oprogramowanie dobrego interwału jest dostępne między innymi dla algebry liniowej (np. IntLab http://www.ti3.tu-harburg.de/rump/intlab/ ; koszt około 6, jeśli wymiar jest duży) i globalnej optymalizacji (np. , COCONUT http://www.mat.univie.ac.at/~coconut/coconut-environment/; mogą być znacznie droższe lub nawet tańsze niż przybliżona optymalizacja globalna, w zależności od cech problemu). Jednak wiele innych klas problemów łatwych do dokładnego rozwiązania w przybliżeniu (np. Obejmujących trajektorie dużych planet Układu Słonecznego w ciągu 10 lat) jest całkowicie poza zasięgiem obecnej generacji metod interwałowych.


Dzięki. Chciałbym zobaczyć (ii) w pracy. Czy możesz podać przykład, w którym autorzy łączą analizę wrażliwości i analizę stabilności numerycznej w celu ustalenia globalnych oszacowań błędów.
highsciguy,

@highsciguy: patrz moja edycja do (ii)
Arnold Neumaier

Dzięki. Odwrotna matryca jakobowska?
highsciguy

@highsciguy: nie rozumiem swojego ostatniego pytania. Przykładem było rozwiązanie liniowego układu równań, bez postaci jakobianów.
Arnold Neumaier

1
Przeoczyłem liniowy. To jasne. Czy istnieją próby uogólnienia twierdzenia Oettli-Pragera na układy nieliniowe?
highsciguy

13

Raczej. Istnieją teoretyczne granice błędów, które zostały wyprowadzone przez analityków numerycznych, które są zwykle zawyżone i mogą nie być tak przydatne w praktyce, ponieważ mogą obejmować informacje trudne do uzyskania w przypadku problemów w praktyce. Dobrym przykładem mogą być granice błędów numerycznych w rozwiązywaniu równań zwykłych, które można znaleźć w książkach Hairera i Wannera. Książka Nicka Highama pt. „ Dokładność i stabilność algorytmów numerycznych” (mogę się nieco nie zgadzać co do tytułu) również zawiera pewne granice błędów dotyczące typowych operacji numerycznych i algorytmów algebry liniowej. Literatura z zakresu analizy numerycznej jest pełna takich ograniczeń.

Do obliczenia granic błędów zastosowano również metody analizy interwałowej; metody te są rygorystyczne i mają tendencję do zapewniania silniejszych granic błędów niż teoretyczne granice błędów, ale metody te mogą nadal rażąco przeceniać błąd w obliczeniach numerycznych. Metody te najlepiej wykorzystać (o ile wiem) w optymalizacji globalnej, ale znajdują one również zastosowanie w kwantyfikacji niepewności. Arnold Neumaier napisał przynajmniej jedną książkę na temat metod analizy interwałów i jest lepiej wykwalifikowany do szczegółowego komentowania tego tematu. Oprócz potencjalnych problemów z przeszacowaniem, metody analizy interwałów wymagają dodatkowej infrastruktury obliczeniowej, która wymaga modernizacji istniejących dużych pakietów symulacji numerycznych (takich jak PETSc, Trilinos, CLAWPACK / PyClaw itp. ) w celu uwzględnienia arytmetyki przedziałowej i automatycznego różnicowania (dla metod opartych na Taylorze). Z tego, co widziałem, nie ma wielu dozwolonych licencjonowanych pakietów arytmetyki przedziałów i automatycznego różnicowania, chociaż istnieją pewne. Nawet wtedy czasami biblioteki te mają ograniczoną funkcjonalność; trudno było znaleźć bibliotekę arytmetyczną z przedziałami licencyjnymi (LGPL lub BSD) z funkcjami podobnymi do BLAS.

Oszacowania błędu a posteriori można uzyskać łatwiej, ale nie są one rygorystyczne. Najbardziej znam te szacunki z pracy nad zwykłymi równaniami różniczkowymi, ale istnieją one również dla wielu metod stosowanych do obliczania rozwiązań równań różniczkowych cząstkowych.

Mówiąc szerzej, metody kwantyfikacji niepewności, takie jak użycie ekspansji wielomianowego chaosu, metody Monte Carlo lub inne metody próbkowania, mogą być użyte do kwantyfikacji niepewności w obliczeniach z powodu zmian parametrów wejściowych. Metody te powinny być w stanie zapewnić pewnego rodzaju heurystyczny „pasek błędów” ze względu na zmiany parametrów, ale nie dają ścisłych ograniczeń.

Uważam, że masz całkowitą rację, jeśli chodzi o specyfikację błędów numerycznych: nauki obliczeniowe powinny być tak samo rygorystyczne w prezentowaniu swoich wyników, jak nauki fizyczne oparte na eksperymentach. W tej dziedzinie wykonano wiele pracy (pod parasolem „kwantyfikacja niepewności” i „analiza numeryczna”) i mam nadzieję, że paski omyłek zostaną uwzględnione przy omawianiu większości wyników obliczeń w pewnym momencie w przyszłości .


masz dobre odniesienie do artykułu przeglądowego na temat tych wielomianowych rozszerzeń chaosu? Termin ten pojawia się regularnie i chciałbym dowiedzieć się o nich nieco więcej. Dzięki.
GertVdE

2
Dongbin Xiu ogólnie pisze dostępne dokumenty na temat wielomianowych rozszerzeń chaosu. Oto jeden z bardziej ogólnych artykułów przeglądowych, które napisał: dam.brown.edu/scicomp/media/report_files/BrownSC-2003-07.pdf
Geoff Oxberry

7

Oprócz innych odpowiedzi należy wziąć pod uwagę kilka dodatkowych kwestii.

  1. Liczbowe błędy dyskretyzacji lub przynajmniej kolejność schematów można określić analitycznie. Dyskusje na temat tych błędów można pominąć w dokumentach, jeśli wykorzystują one powszechnie znany schemat.
  2. Badania udoskonalania sieci, w których ten sam problem, zwykle coś prostego, jest uruchamiany na coraz lepszych siatkach. Są one porównywane z dokładnym rozwiązaniem lub rozwiązaniem na absurdalnie drobnej siatce, aby znaleźć normę L, zwykle L2. Nachylenie tego oszacowania błędu daje porządek dokładności.
  3. W przypadku problemów, w których dostępne są różne schematy numeryczne, ale udoskonalenie siatki lub dokładne rozwiązania nie są, inna metoda o nazwie Ekstrapolacja Richardsona da granice terminów błędów. Dobry przegląd opisujący te metody można znaleźć w tym artykule
  4. Wreszcie, każde czasopismo ustanawia własne standardy akceptacji. Niektóre są surowe, inne nie. Na przykład AIAA określiła tutaj swoje standardy . Inne czasopisma zawierają podobne informacje dla autorów.

Chciałbym tylko skomentować punkt 2. Wydaje mi się, że przy liczbowym rozwiązywaniu problemu ze świata rzeczywistego bardziej prawdopodobne jest, że zobaczy normę porównującą różnicę między dwoma kolejnymi udoskonaleniami, a nie „absurdalnie drobną siatką”. Jeśli potrafisz rozwiązać bardzo drobną siatkę, dlaczego martwisz się znacznie grubszymi?
Godric Seer,

Badania udoskonalenia sieci są zazwyczaj niepraktyczne w przypadku rzeczywistych problemów. W tym momencie pojawia się punkt 3, znacznie łatwiej jest ustalić granice błędów poprzez zmianę kolejności schematów niż stopniowe ulepszanie siatki. Na przykład weryfikujemy nasze kody za pomocą niewidzialnego wiru, który jest nadal nieliniowy, ale możemy uruchomić bardzo dokładne „dokładne” rozwiązania w celu zweryfikowania dokładności. Ale w przypadku pełnej komory wirowej nie możemy tego praktycznie zrobić, dlatego używamy różnych schematów.
tpg2114

Zauważ też, że udoskonalenie siatki i sprawdzenie różnicy w odpowiedzi pokazuje niezależność siatki, co jest czymś innym niż sprawdzenie granic błędów. Udoskonalanie siatki jest nadal wymagane, nawet w praktycznych przypadkach, chociaż udoskonalanie siatki dla czegoś takiego jak duże symulacje wirowe otwiera zupełnie inną puszkę robaków.
tpg2114

Dziękuję, niepoprawnie powiązałem niezależność sieci z granicami błędów. Wydaje mi się, że zawsze zakładałem, że niezależność sieci sugeruje pewien jakościowy poziom gwarancji na błąd dyskretyzacji.
Godric Seer,

3
Niezależność siatki oznacza, że ​​dokładniejsza siatka nie poprawi odpowiedzi, ale nie powie ci, jak dokładna jest twoja odpowiedź ani jak szybko udoskonalenie siatki poprawiło dokładność.
tpg2114
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.