Tiêu chuẩn khoa học cho các lỗi số


40

Trong lĩnh vực nghiên cứu của tôi, đặc điểm kỹ thuật của các lỗi thử nghiệm thường được chấp nhận và các ấn phẩm không cung cấp chúng bị chỉ trích cao. Đồng thời tôi thường thấy rằng các kết quả tính toán số được cung cấp mà không có bất kỳ tài khoản nào về các lỗi số, mặc dù (hoặc có thể vì) thường có các phương pháp số nghi vấn đang hoạt động. Tôi đang nói về các lỗi xuất phát từ sự rời rạc và độ chính xác hữu hạn của các phép tính số, v.v ... Chắc chắn, các ước tính lỗi này không phải lúc nào cũng dễ dàng có được, chẳng hạn như trong trường hợp phương trình thủy động lực học nhưng dường như nó xuất phát từ sự lười biếng trong khi tôi tin rằng đặc điểm kỹ thuật của các ước tính lỗi số phải là tiêu chuẩn giống như các kết quả thử nghiệm. Do đó câu hỏi của tôi:

Câu trả lời:


26

Câu hỏi của bạn là hỏi về Xác minh mô hình. Bạn có thể tìm thấy nhiều tài nguyên về các phương pháp và tiêu chuẩn bằng cách tìm kiếm Xác minh và Xác thực ( Roache 1997 , 2002 , 2004 , Oberkampf & Trucano 2002 , Salari & Knupp 2000 , Babuska & Oden 2004 ), cũng như chủ đề rộng hơn về Định lượng không chắc chắn . Thay vì xây dựng các phương pháp, tôi muốn làm nổi bật một cộng đồng có quan điểm vững chắc về vấn đề này.

Năm 1986, Roache, Ghia và White đã thành lập Tạp chí Chính sách Biên tập Kỹ thuật Chất lỏng về Kiểm soát Độ chính xác Số mở ra với

Một vấn đề chuyên nghiệp tồn tại trong cộng đồng động lực học chất lỏng tính toán và cả trong lĩnh vực vật lý tính toán rộng lớn hơn. Cụ thể, cần có các tiêu chuẩn cao hơn về kiểm soát độ chính xác số.

[...] Vấn đề chắc chắn không phải là duy nhất đối với JFE và đã tập trung mạnh hơn nữa tại Hội nghị AFOSRHTTM-Stanford 1980-81 về Dòng chảy rối phức tạp. Đó là kết luận của Ủy ban Đánh giá của hội nghị rằng, trong hầu hết các đệ trình của hội nghị đó, không thể đánh giá và so sánh độ chính xác của các mô hình nhiễu loạn khác nhau, vì người ta không thể phân biệt các lỗi mô hình vật lý với các lỗi số liên quan đến thuật toán và lưới điện. Điều này đặc biệt là trường hợp cho các phương pháp chính xác bậc nhất và phương pháp lai.

Họ kết luận với những hướng dẫn rất trực tiếp:

Tạp chí Kỹ thuật Chất lỏng sẽ không chấp nhận xuất bản bất kỳ bài báo cáo giải pháp số nào về vấn đề kỹ thuật chất lỏng không giải quyết được nhiệm vụ kiểm tra lỗi cắt ngắn có hệ thống và ước tính độ chính xác.

[...] Chúng ta phải làm rõ rằng một phép tính đơn lẻ trong một lưới cố định sẽ không được chấp nhận , vì không thể suy ra ước tính chính xác từ phép tính như vậy. Ngoài ra, các biên tập viên sẽ không coi một thỏa thuận hợp lý với dữ liệu thử nghiệm là đủ bằng chứng về độ chính xác, đặc biệt nếu có bất kỳ thông số điều chỉnh nào có liên quan, như trong mô hình nhiễu loạn.

Các phiên bản hiện tại có chứa một bộ đầy đủ các tiêu chí và đại diện cho một tiêu chuẩn mà, theo ý kiến của tôi, các lĩnh vực khác nên mong muốn phù hợp. Thật đáng xấu hổ khi ngay cả ngày nay, nhận thức về tầm quan trọng của xác minh mô hình là không có trong nhiều lĩnh vực.


1
Điểm cuối cùng về các thông số có thể điều chỉnh làm tôi nhớ đến một câu trích dẫn của John von Neumann, "Với bốn thông số tôi có thể phù hợp với một con voi, và với năm tôi có thể khiến nó ngọ nguậy thân cây của mình."
Jed Brown

Điều này chỉ giải quyết ảnh hưởng của lỗi phân tách, không phải là lỗi làm tròn, hầu như bị bỏ qua phổ biến trong các mô phỏng chất lỏng vì chúng thường đóng góp ít hơn vào tổng lỗi. Nhưng trong các ứng dụng không liên quan đến phương trình vi phân hoặc tích phân, không có lỗi rời rạc. Trong các vấn đề này, lỗi làm tròn và lỗi cắt lặp là nguồn gốc của lỗi.
Arnold Neumaier

Bạn có nghĩ rằng một ước tính khắt khe có thể thay thế yêu cầu độc lập lưới không? Như đã nói nó hơi mơ hồ, bạn tinh chỉnh lưới bao nhiêu để đảm bảo sự độc lập? Mặt khác, một người ước tính tốt hơn nên không có chỗ cho sự mơ hồ.
Reid.Atcheson

2
@ Reid.Atcheson "Yo dawg, tôi nghe nói bạn thích ước tính lỗi nên tôi đã ước tính lỗi cho ước tính lỗi của bạn để bạn có thể ước tính lỗi trong ...", nhưng thật không may, ước tính lỗi thực tế có xu hướng không nghiêm ngặt trường hợp xấu nhất. Những gì giới hạn có sẵn thường là bi quan và dựa trên các giả định không đúng với hầu hết các vấn đề kỹ thuật. Ngay cả với công cụ ước tính lỗi tối cao, bạn cần xác minh rằng nó đã được thực hiện chính xác. Bằng mọi cách, hãy sử dụng công cụ ước tính lỗi nếu bạn có, nhưng công cụ ước tính lỗi không phải là xác minh độc lập.
Jed Brown

19

Không có tiêu chuẩn như vậy tồn tại, vì ước tính lỗi đáng tin cậy thường có giá cao hơn nhiều so với các tính toán gần đúng.

Về cơ bản có bốn loại ước tính lỗi:

(i) Các phân tích lý thuyết chứng minh rằng một phương pháp số là ổn định về số. Điều này không thực sự đưa ra một thanh lỗi vì phân tích chỉ đảm bảo rằng lỗi được thực hiện không tệ hơn lỗi được định lượng trong các đối số đầu vào. Nó đủ cho hầu hết các tính toán khoa học vì các đầu vào cũng chỉ gần đúng, do đó, lỗi xảy ra với phương pháp ổn định số không tệ hơn việc sử dụng đầu vào hơi khác (nhưng không xác định). Hầu hết các phương pháp số được đánh giá cao đều đi kèm với phân tích theo thói quen số, mặc dù người ta hầu như không tìm thấy bất kỳ triển khai nào báo cáo theo yêu cầu dẫn đến cái gọi là lỗi lạc hậu.

(ii) Ước tính lỗi tiệm cận. Các giả định này cho rằng các sản phẩm của tất cả các lỗi (lỗi đầu vào, lỗi làm tròn hoặc lỗi rời rạc là nguồn phổ biến nhất) có thể bị bỏ qua (nghi vấn nếu các hàm rất phi tuyến) và sử dụng phân tích độ nhạy để truyền lỗi. Cùng với phân tích ổn định bằng số, điều này cũng có thể nắm bắt được ảnh hưởng của các lỗi làm tròn hoặc lỗi phân tách. Các thanh lỗi kết quả là có thể xác thực như tính hợp lệ của các giả định mà chúng dựa trên. Sử dụng các công cụ phân biệt tự động, chi phí ước tính lỗi thường là hệ số 1 hoặc 2 ngoài chi phí cho phép tính gần đúng. Do đó, loại ước tính lỗi này là khá thường xuyên trong thực tế.

[Chỉnh sửa] Ví dụ, định lý Oettli-Prager đưa ra các ước tính lỗi lạc hậu dễ ​​dàng tính toán cho giải pháp của các hệ thống tuyến tính. Phân tích độ nhạy cho biết rằng các lỗi này phải được nhân với định mức của nghịch đảo ma trận, có thể ước tính bằng cách sử dụng công cụ ước tính của Hager (được xây dựng trong các công cụ ước tính số điều kiện hiện đại).

(iii) Phân tích lỗi ngẫu nhiên: (CESTAC, http://www.scTHERirect.com/science/article/pii/0378475488900705) Điều này được thực hiện bằng cách nạp chồng tất cả các hoạt động với một biến thể ngẫu nhiên tương ứng để đánh giá ba bộ đối số và sau đó thêm một lỗi làm tròn ngẫu nhiên nhân tạo. ba kết quả cuối cùng được sử dụng để tính giá trị trung bình và độ lệch chuẩn căn bậc hai của (tổng bình phương độ lệch so với giá trị trung bình chia cho 2 = 3-1). Điều này đưa ra ước tính chính xác khá hữu ích của phần lỗi làm tròn. Tuy nhiên, đây không phải là lỗi của sự rời rạc, mà thường là lỗi thống trị trong các tính toán của ODE và PDE. Chi phí phụ thuộc vào ngôn ngữ lập trình vì chi phí hoạt động quá tải. Giả sử (gần như không bao giờ xảy ra) quá tải không bị phạt thời gian, chi phí cho kết quả cộng với ước tính lỗi là 3 nhân tố so với chỉ tính toán xấp xỉ.

(iv) Phân tích khoảng thời gian: Điều này mang lại giới hạn nghiêm ngặt cho tất cả các nguồn lỗi nếu được thực hiện đúng, nhưng ngoại trừ trong các trường hợp đơn giản, nó đòi hỏi nhiều kinh nghiệm (hoặc phần mềm thể hiện nó) để làm điều đó theo cách mà các giới hạn không đánh giá quá cao các lỗi thực sự . Phần mềm khoảng thời gian tốt có sẵn trong số các phần mềm khác cho đại số tuyến tính (ví dụ: IntLab http://www.ti3.tu-harburg.de/rump/intlab/ ; chi phí cho hệ số khoảng 6 nếu kích thước lớn) và tối ưu hóa toàn cầu (ví dụ: , COCONUT http://www.mat.univie.ac.at/~cocovy/cocovy-en môi /; có thể đắt hơn nhiều hoặc thậm chí rẻ hơn so với tối ưu hóa toàn cầu gần đúng, tùy thuộc vào các tính năng vấn đề). Nhưng nhiều loại vấn đề khác dễ dàng xử lý một cách ngẫu nhiên (ví dụ, kèm theo quỹ đạo của các hành tinh lớn của hệ mặt trời trong hơn 10 năm) hoàn toàn nằm ngoài tầm với của các phương pháp khoảng thời gian hiện tại.


Cảm ơn. Tôi muốn xem (ii) tại nơi làm việc. Bạn có thể đưa ra một ví dụ trong đó các tác giả kết hợp phân tích độ nhạy và phân tích ổn định số để xác định ước tính lỗi toàn cầu.
highsciguy

@highsciguy: xem bản chỉnh sửa của tôi thành (ii)
Arnold Neumaier

Cảm ơn. Ma trận Jacobian nghịch đảo?
highsciguy

@highsciguy: không hiểu câu hỏi cuối cùng của bạn. Ví dụ đã giải một hệ phương trình tuyến tính, không có số liệu Jacobian.
Arnold Neumaier

1
Tôi bỏ qua tuyến tính. Vậy thì rõ rồi. Có những nỗ lực để khái quát hóa định lý Oettli-Prager cho các hệ thống phi tuyến tính?
highsciguy

13

Sắp xếp Có những giới hạn lỗi về mặt lý thuyết đã được các nhà phân tích số thường đưa ra đánh giá quá cao và có thể không hữu ích trong thực tế, bởi vì chúng có thể liên quan đến thông tin khó thu được cho các vấn đề trong thực tế. Một ví dụ điển hình là các giới hạn về lỗi số trong giải pháp của các phương trình thông thường, mà bạn có thể tìm thấy trong sách của Hairer và Wanner. Cuốn sách của Nick Higham, Độ chính xác và Tính ổn định của Thuật toán số (tôi có thể hơi lạc quan về tiêu đề) cũng cung cấp một số giới hạn lỗi về các phép toán số phổ biến và thuật toán đại số tuyến tính. Các tài liệu phân tích số đầy rẫy với giới hạn như vậy.

Phương pháp phân tích khoảng cũng đã được sử dụng để tính toán giới hạn lỗi; các phương pháp này rất nghiêm ngặt và có xu hướng cung cấp các giới hạn lỗi mạnh hơn các giới hạn lỗi lý thuyết, nhưng các phương pháp này vẫn có thể đánh giá quá cao sai số trong phép tính số. Những phương pháp này đã được khai thác tốt nhất (theo hiểu biết của tôi) trong tối ưu hóa toàn cầu, nhưng cũng đang tìm cách sử dụng trong định lượng không chắc chắn. Arnold Neumaier đã viết ít nhất một cuốn sách về các phương pháp phân tích khoảng thời gian, và có trình độ tốt hơn để bình luận về chủ đề này một cách chi tiết. Ngoài các vấn đề đánh giá quá cao tiềm năng, các phương pháp phân tích khoảng phải chịu yêu cầu cơ sở hạ tầng tính toán bổ sung yêu cầu trang bị thêm các gói mô phỏng số lớn hiện có (như PETSc, Trilinos, CLAWPACK / PyClaw, v.v. ) để bao gồm số học khoảng và phân biệt tự động (đối với các phương pháp dựa trên Taylor). Từ những gì tôi đã thấy, không có nhiều gói số học và phân biệt tự động được cấp phép cho phép ngoài kia, mặc dù có một số. Thậm chí sau đó, đôi khi, các thư viện này có chức năng hạn chế; thật khó để tìm thấy một thư viện số học khoảng thời gian được cấp phép (LGPL hoặc BSD) được cấp phép với chức năng giống như BLAS.

Một ước tính lỗi posteriori có thể được lấy dễ dàng hơn, nhưng không nghiêm ngặt. Tôi quen thuộc nhất với các ước tính này khi làm việc trên các phương trình vi phân thông thường, nhưng chúng cũng tồn tại cho nhiều phương pháp được sử dụng để tính toán các phương trình cho phương trình vi phân từng phần.

Nhìn rộng hơn, các phương pháp từ định lượng độ không đảm bảo, chẳng hạn như sử dụng mở rộng hỗn loạn đa thức, phương pháp Monte Carlo hoặc các phương pháp lấy mẫu khác có thể được sử dụng để định lượng độ không đảm bảo trong tính toán do sự thay đổi của các tham số đầu vào. Các phương thức này sẽ có thể cung cấp một số "thanh lỗi" heuristic do các biến thể của các tham số, nhưng sẽ không đưa ra các giới hạn nghiêm ngặt.

Tôi tin rằng bạn hoàn toàn đúng khi nói về đặc điểm của các lỗi số: khoa học tính toán nên nghiêm ngặt về việc trình bày kết quả của nó như khoa học vật lý dựa trên thí nghiệm. Có rất nhiều công việc đang được thực hiện trong lĩnh vực này (theo thuật ngữ "định lượng không chắc chắn" và "phân tích số"), và tôi hy vọng rằng các thanh lỗi sẽ được đưa vào khi thảo luận về hầu hết các kết quả tính toán tại một thời điểm nào đó trong tương lai .


Bạn có một tài liệu tham khảo tốt về một bài viết tổng quan về các mở rộng hỗn loạn đa thức này? Tôi đã thấy thuật ngữ bật lên thường xuyên và muốn tìm hiểu thêm một chút về chúng. Cảm ơn.
GertVdE

2
Dongbin Xiu thường viết các bài báo có thể truy cập về sự mở rộng hỗn loạn đa thức. Đây là một trong những bài viết tổng quan tổng quát hơn mà anh ấy đã viết: dam.brown.edu/scicomp/media/report_files/BrownSC-2003-07.pdf
Geoff Oxberry

7

Ngoài các câu trả lời khác, có một vài điểm bổ sung để xem xét.

  1. Lỗi phân biệt số, hoặc ít nhất là thứ tự của các sơ đồ, có thể được xác định bằng phương pháp phân tích. Việc thảo luận về các lỗi này có thể được bỏ qua từ các bài báo nếu chúng sử dụng một sơ đồ thường được biết đến.
  2. Các nghiên cứu sàng lọc lưới trong đó cùng một vấn đề, thường là một cái gì đó đơn giản, được chạy trên các lưới mịn dần dần. Chúng được so sánh với một giải pháp chính xác, hoặc giải pháp trên một lưới tinh xảo, để tìm định mức L, điển hình là L2. Độ dốc của ước tính lỗi này đưa ra thứ tự chính xác.
  3. Trong các vấn đề có sẵn các sơ đồ số khác nhau nhưng tinh chỉnh lưới hoặc các giải pháp chính xác thì không, một phương pháp khác có tên là Phép ngoại suy Richardson sẽ đưa ra các giới hạn về các điều khoản lỗi. Một đánh giá tốt mô tả các phương pháp này có thể được tìm thấy trong bài báo này
  4. Cuối cùng, mỗi tạp chí đặt ra tiêu chuẩn riêng để chấp nhận. Một số là nghiêm ngặt, những người khác thì không. Ví dụ, AIAA đặt ra các tiêu chuẩn của nó ở đây . Các tạp chí khác có thông tin tương tự cho các tác giả.

Tôi chỉ muốn nhận xét về điểm 2. Tôi cảm thấy rằng trong việc giải quyết bằng số một vấn đề trong thế giới thực, nhiều khả năng sẽ thấy tiêu chuẩn so sánh sự khác biệt giữa hai sàng lọc liên tiếp, thay vì "một lưới tinh xảo kỳ cục". Nếu bạn có thể giải quyết lưới rất tốt, tại sao bạn lại bận tâm với những cái thô hơn?
Godric Seer

Các nghiên cứu sàng lọc lưới là không thực tế trên các vấn đề thực tế điển hình. Đó là nơi điểm 3 xuất hiện, việc xác định giới hạn lỗi dễ dàng hơn nhiều bằng cách thay đổi thứ tự lược đồ hơn là tinh chỉnh dần lưới. Chẳng hạn, chúng tôi xác nhận mã của chúng tôi bằng cách sử dụng một xoáy bất biến vẫn không tuyến tính nhưng chúng tôi có thể chạy các giải pháp "chính xác" rất tốt để xác minh tính chính xác. Nhưng trên một buồng đốt xoáy hoàn toàn, thực tế chúng ta không thể làm điều đó vì vậy chúng ta sử dụng các sơ đồ khác nhau.
tpg2114

Cũng lưu ý rằng việc tinh chỉnh lưới và kiểm tra sự khác biệt trong câu trả lời cho thấy tính độc lập của lưới, đây là một điều khác với kiểm tra giới hạn lỗi. Tinh chỉnh lưới vẫn được yêu cầu ngay cả trong các trường hợp thực tế, mặc dù sàng lọc lưới cho một cái gì đó như Mô phỏng xoáy lớn mở ra một loạt sâu khác.
tpg2114

Cảm ơn bạn, tôi đã độc lập lưới liên quan không chính xác với giới hạn lỗi. Tôi đoán rằng tôi đã luôn cho rằng sự độc lập lưới bao hàm một số mức độ bảo đảm định tính đối với lỗi phân tách.
Godric Seer

3
Độc lập lưới ngụ ý lưới tốt hơn sẽ không cải thiện câu trả lời nhưng nó không cho bạn biết câu trả lời của bạn chính xác như thế nào hoặc việc tinh chỉnh lưới nhanh chóng cải thiện độ chính xác như thế nào.
tpg2114
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.