Estándares científicos para errores numéricos.


40

En mi campo de investigación, la especificación de los errores experimentales es comúnmente aceptada y las publicaciones que no los proporcionan son muy criticadas. Al mismo tiempo, a menudo encuentro que los resultados de los cálculos numéricos se proporcionan sin tener en cuenta los errores numéricos, a pesar de que (o tal vez porque) métodos numéricos cuestionables a menudo funcionan. Me refiero a los errores que resultan de la discretización y la precisión finita de los cálculos numéricos, etc. Claro, estas estimaciones de errores no siempre son fáciles de obtener, como en el caso de las ecuaciones hidrodinámicas, pero a menudo parece ser el resultado de la pereza mientras creo que la especificación de las estimaciones numéricas de error debe ser estándar tanto como lo son para los resultados experimentales. De ahí mi pregunta:

Respuestas:


26

Su pregunta es acerca de la verificación del modelo. Puede encontrar numerosos recursos sobre métodos y estándares buscando Verificación y Validación ( Roache 1997 , 2002 , 2004 , Oberkampf & Trucano 2002 , Salari & Knupp 2000 , Babuska & Oden 2004 ), así como el tema más amplio de Cuantificación incertidumbre . En lugar de dar más detalles sobre los métodos, me gustaría destacar una comunidad que tomó una posición firme sobre el tema.

En 1986, Roache, Ghia y White establecieron la Declaración de política editorial del Journal of Fluids Engineering sobre el control de la precisión numérica que se abre con

Existe un problema profesional en la comunidad de dinámica de fluidos computacional y también en el área más amplia de la física computacional. A saber, existe la necesidad de estándares más altos en el control de la precisión numérica.

[...] El problema ciertamente no es exclusivo del JFE y se enfocó aún más en la Conferencia AFOSRHTTM-Stanford de 1980-81 sobre flujos turbulentos complejos. Era una conclusión del Comité de Evaluación de esa conferencia que, en la mayoría de las presentaciones a esa conferencia, era imposible evaluar y comparar la precisión de los diferentes modelos de turbulencia, ya que no se podían distinguir los errores de modelado físico de los errores numéricos relacionados con el algoritmo y cuadrícula. Este es especialmente el caso de los métodos precisos de primer orden y los métodos híbridos.

Concluyen con pautas muy directas:

El Journal of Fluids Engineering no aceptará para su publicación ningún documento que informe la solución numérica de un problema de ingeniería de fluidos que no aborda la tarea de la prueba sistemática de errores de truncamiento y la estimación de precisión.

[...] debemos dejar en claro que un solo cálculo en una cuadrícula fija no será aceptable , ya que es imposible inferir una estimación de precisión a partir de dicho cálculo. Además, los editores no considerarán un acuerdo razonable con los datos experimentales como prueba suficiente de precisión, especialmente si se trata de parámetros ajustables, como en el modelado de turbulencias.

La versión actual contiene un conjunto completo de criterios y representa un estándar que, en mi opinión, otros campos deberían aspirar a igualar. Es vergonzoso que incluso hoy, la conciencia sobre la importancia de la verificación del modelo esté ausente en tantos campos.


1
El punto final sobre los parámetros ajustables me recuerda una cita de John von Neumann, "Con cuatro parámetros puedo colocar un elefante, y con cinco puedo hacer que mueva su trompa".
Jed Brown

Esto solo aborda el efecto del error de discretización, no el de los errores de redondeo, que se ignoran casi universalmente en las simulaciones de fluidos, ya que generalmente contribuyen menos al error total. Pero en aplicaciones que no involucran ecuaciones diferenciales o integrales, no hay error de discretización. En estos problemas, los errores de redondeo y los errores de truncamiento de iteración son la fuente dominante de errores.
Arnold Neumaier

¿Crees que una estimación a posteriori rigurosa podría reemplazar el requisito de independencia de la red? Como se dijo, es un poco vago, ¿cuánto refina la cuadrícula para garantizar la independencia? Un buen estimador a posteriori, por otro lado, no debe dejar lugar a la ambigüedad.
Reid.Atcheson

2
@ Reid.Atcheson "Oye, te escuché que te gustan las estimaciones de error, así que te conseguí una estimación de error para tu estimación de error para que puedas estimar el error en tu ...", pero desafortunadamente, las estimaciones prácticas de error no suelen ser rigurosas los peores límites del caso. Los límites disponibles son con frecuencia pesimistas y se basan en suposiciones que no son ciertas para la mayoría de los problemas de ingeniería. Incluso con el estimador de error supremo, debe verificar que se implementó correctamente. Por supuesto, use un estimador de errores si tiene uno, pero el estimador de errores no es una verificación independiente.
Jed Brown el

19

No existen tales estándares, ya que las estimaciones de errores confiables a menudo cuestan mucho más que los cálculos aproximados.

Básicamente hay cuatro tipos de estimaciones de error:

(i) Análisis teóricos que prueban que un método numérico es numéricamente estable. Esto realmente no da una barra de error ya que el análisis solo garantiza que el error cometido no es peor que un error cuantificado en los argumentos de entrada. Es suficiente para la mayoría de los cálculos científicos, ya que las entradas también son aproximadas, por lo que el error cometido con un método numéricamente estable no es peor que haber usado una entrada ligeramente diferente (pero desconocida). La mayoría de los métodos numéricos de gran prestigio van acompañados de un análisis numérico estable, aunque casi no se encuentra ninguna implementación que informe, a pedido, el llamado error hacia atrás resultante.

(ii) Estimaciones de error asintótico. Estos suponen que los productos de todos los errores (errores de entrada, errores de redondeo o errores de discretización son las fuentes más comunes) pueden ser descuidados (cuestionables si las funciones son muy no lineales), y utilizan análisis de sensibilidad para propagar errores de entrada. Junto con un análisis de estabilidad numérico, esto también puede capturar el efecto de los errores de redondeo o errores de discretización. Las barras de error resultantes son tan realistas como la validez de los supuestos en los que se basan. Usando herramientas de diferenciación automática, el costo de la estimación del error es típicamente un factor de 1 o 2 además del costo de la aproximación. Por lo tanto, este tipo de estimación de error es bastante frecuente en la práctica.

[Editar] Por ejemplo, el teorema de Oettli-Prager proporciona estimaciones de error hacia atrás fácilmente computables para la solución de sistemas lineales. El análisis de sensibilidad indica que estos errores deben multiplicarse por la norma de la matriz inversa, que puede estimarse utilizando el estimador de Hager (integrado en los estimadores de números de condición modernos).

(iii) Análisis de error estocástico: (CESTAC, http://www.sciencedirect.com/science/article/pii/0378475488900705) Esto se realiza sobrecargando todas las operaciones con una variante estocástica correspondiente que evalúa tres conjuntos de argumentos y luego agrega un error de redondeo aleatorio artificial. Los tres resultados finales se utilizan para calcular una media y una desviación estándar de la raíz cuadrada de (suma de cuadrados de desviaciones de la media dividida por 2 = 3-1). Esto proporciona una estimación de precisión bastante útil de la parte del error de redondeo. Sin embargo, esto no tiene en cuenta el error de discretización, que suele ser el error dominante en los cálculos de ODE y PDE. El costo depende del lenguaje de programación debido a la sobrecarga en la ejecución de operaciones sobrecargadas. Suponiendo (que casi nunca es el caso) la sobrecarga no conlleva penalización de tiempo, el costo por resultado más la estimación de error es un factor de 3 en comparación con el cálculo de la aproximación solamente.

(iv) Análisis de intervalo: esto proporciona límites rigurosos para todas las fuentes de error si se realiza correctamente, pero excepto en casos simples requiere mucha experiencia (o software que lo incorpore) para hacerlo de una manera que los límites no sobreestimen severamente los errores verdaderos . Está disponible un buen software de intervalo, entre otros, para álgebra lineal (por ejemplo, IntLab http://www.ti3.tu-harburg.de/rump/intlab/ ; cuesta un factor de aproximadamente 6 si la dimensión es grande) y la optimización global (por ejemplo , COCONUT http://www.mat.univie.ac.at/~coconut/coconut-environment/; puede ser mucho más costoso o incluso más económico que la optimización global aproximada, dependiendo de las características del problema). Pero muchas otras clases de problemas fáciles de tratar con precisión aproximadamente (por ejemplo, encerrar las trayectorias de los grandes planetas del sistema solar durante 10 años) están completamente fuera del alcance de la generación actual de métodos de intervalos.


Gracias. Me gustaría ver (ii) en el trabajo. ¿Puede dar un ejemplo en el que los autores combinen análisis de sensibilidad y análisis de estabilidad numérica para determinar estimaciones de error global
highsciguy

@highsciguy: vea mi edición de (ii)
Arnold Neumaier el

Gracias. Matriz jacobiana inversa?
highsciguy

@highsciguy: no entiendo tu última pregunta. El ejemplo fue resolver un sistema lineal de ecuaciones, no figuras jacobianas.
Arnold Neumaier

1
Pasé por alto lineal. Entonces está claro. ¿Hay intentos de generalizar el teorema de Oettli-Prager a sistemas no lineales?
highsciguy

13

Más o menos. Hay límites de error teóricos que han sido derivados por analistas numéricos que generalmente se sobreestiman, y pueden no ser tan útiles en la práctica, porque pueden involucrar información que es difícil de obtener para problemas en la práctica. Un buen ejemplo serían los límites de los errores numéricos en la solución de ecuaciones ordinarias, que puede encontrar en los libros de Hairer y Wanner. El libro de Nick Higham, Precisión y estabilidad de los algoritmos numéricos (puede que esté un poco fuera de lugar sobre el título) también proporciona algunos límites de error en operaciones numéricas comunes y algoritmos de álgebra lineal. La literatura de análisis numérico está plagada de tales límites.

Los métodos de análisis de intervalos también se han utilizado para calcular los límites de error; Estos métodos son rigurosos y tienden a proporcionar límites de error más fuertes que los límites de error teóricos, pero estos métodos aún pueden sobrestimar el error en un cálculo numérico. Estos métodos se han explotado mejor (que yo sepa) en la optimización global, pero también se están utilizando en la cuantificación de la incertidumbre. Arnold Neumaier ha escrito al menos un libro sobre métodos de análisis de intervalos, y está mejor calificado para comentar este tema en detalle. Además de los posibles problemas de sobreestimación, los métodos de análisis de intervalos requieren una infraestructura computacional adicional que requiere una actualización de los paquetes de simulación numérica grandes existentes (como PETSc, Trilinos, CLAWPACK / PyClaw, etc. ) para incluir intervalos aritméticos y diferenciación automática (para métodos basados ​​en Taylor). Por lo que he visto, no hay muchos paquetes de diferenciación automática y aritmética de intervalos con licencia permisible, aunque hay algunos. Incluso entonces, a veces, estas bibliotecas tienen una funcionalidad limitada; ha sido difícil encontrar una biblioteca aritmética de intervalo con licencia permisiva (LGPL o BSD) con funcionalidad similar a BLAS.

Las estimaciones de error a posteriori se pueden obtener más fácilmente, pero no son rigurosas. Estoy más familiarizado con estas estimaciones del trabajo en ecuaciones diferenciales ordinarias, pero también existen para muchos métodos utilizados para calcular soluciones a ecuaciones diferenciales parciales.

En términos más generales, los métodos de cuantificación de la incertidumbre, como el uso de expansiones de caos polinomiales, los métodos de Monte Carlo u otros métodos de muestreo pueden usarse para cuantificar la incertidumbre en los cálculos debido a variaciones en los parámetros de entrada. Estos métodos deberían poder proporcionar algún tipo de "barra de error" heurística debido a variaciones en los parámetros, pero no darán límites rigurosos.

Creo que tiene toda la razón cuando se trata de la especificación de errores numéricos: la ciencia computacional debería ser tan rigurosa al presentar sus resultados como las ciencias físicas basadas en experimentos. Se está realizando una gran cantidad de trabajo en esta área (bajo los términos generales "cuantificación de incertidumbre" y "análisis numérico"), y espero que se incluyan barras de error al analizar la mayoría de los resultados computacionales en algún momento en el futuro .


¿Tiene una buena referencia de un artículo general sobre estas expansiones de caos polinomiales? He visto aparecer el término regularmente y me gustaría aprender un poco más sobre ellos. Gracias.
GertVdE

2
Dongbin Xiu generalmente escribe documentos accesibles sobre expansiones de caos polinomiales. Aquí está uno de los documentos generales más generales que ha escrito: dam.brown.edu/scicomp/media/report_files/BrownSC-2003-07.pdf
Geoff Oxberry

7

Además de las otras respuestas, hay algunos puntos adicionales a considerar.

  1. Los errores de discretización numérica, o al menos el orden de los esquemas, se pueden determinar analíticamente. La discusión de estos errores puede omitirse de los documentos si utilizan un esquema comúnmente conocido.
  2. Estudios de refinamiento de cuadrícula donde el mismo problema, generalmente algo simple, se ejecuta en cuadrículas progresivamente más finas. Estos se comparan con una solución exacta, o la solución en una cuadrícula ridículamente fina, para encontrar la norma L, típicamente L2. La pendiente de esta estimación de error da el orden de precisión.
  3. En los problemas en los que hay diferentes esquemas numéricos disponibles pero no el refinamiento de la cuadrícula o las soluciones exactas, otro método llamado Extrapolación de Richardson dará límites a los términos de error. Puede encontrar una buena revisión que describe estos métodos en este documento
  4. Por último, cada revista establece sus propios estándares de aceptación. Algunos son estrictos, otros no. Por ejemplo, la AIAA establece sus estándares aquí . Otras revistas tienen información similar para los autores.

Solo quiero comentar sobre el punto 2. Siento que al resolver numéricamente un problema del mundo real, es mucho más probable ver la norma que compara la diferencia entre dos refinamientos sucesivos, en lugar de "una cuadrícula ridículamente fina". Si puedes resolver la grilla muy fina, ¿por qué te molestas con las gruesas?
Godric Seer

Los estudios de refinamiento de la cuadrícula no son prácticos en problemas reales típicamente. Ahí es donde entra el punto 3, es mucho más fácil determinar los límites de error cambiando el orden del esquema que refinando progresivamente la cuadrícula. Por ejemplo, validamos nuestros códigos usando un vórtice invisible que todavía no es lineal, pero podemos ejecutar soluciones "exactas" muy finas para verificar la precisión. Pero en una cámara de combustión de remolino completo, prácticamente no podemos hacer eso, así que usamos diferentes esquemas.
tpg2114

También tenga en cuenta que refinar la cuadrícula y verificar la diferencia en la respuesta muestra la independencia de la cuadrícula, que es algo diferente a verificar los límites de error. El refinamiento de la cuadrícula todavía es necesario incluso en casos prácticos, aunque el refinamiento de la cuadrícula para algo como Large Eddy Simulations abre una lata de gusanos completamente diferente.
tpg2114

Gracias, había relacionado incorrectamente la independencia de la cuadrícula con los límites de error. Supongo que siempre supuse que la independencia de la red implicaba cierto nivel cualitativo de garantía en caso de error de discretización.
Godric Seer

3
La independencia de la cuadrícula implica que una cuadrícula más fina no mejorará la respuesta, pero no le dice qué tan precisa es su respuesta o qué tan rápido refinar la cuadrícula mejoró la precisión.
tpg2114
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.