Kiểm tra hồi quy của các mô hình số hỗn loạn


10

Khi chúng ta có một mô hình số đại diện cho một hệ vật lý thực và biểu hiện sự hỗn loạn (ví dụ như mô hình động lực học chất lỏng, mô hình khí hậu), làm thế nào chúng ta có thể biết rằng mô hình đó đang hoạt động như bình thường? Chúng ta không thể so sánh trực tiếp hai bộ đầu ra mô hình, bởi vì ngay cả những thay đổi nhỏ trong điều kiện ban đầu cũng sẽ thay đổi đáng kể đầu ra của các mô phỏng riêng lẻ. Chúng ta không thể so sánh trực tiếp đầu ra của mô hình với các quan sát, bởi vì chúng ta không bao giờ có thể biết đủ chi tiết về các điều kiện ban đầu của các quan sát và việc xấp xỉ bằng số dù sao cũng sẽ gây ra những khác biệt nhỏ sẽ lan truyền qua hệ thống.

Câu hỏi này được lấy cảm hứng một phần từ câu hỏi của David Ketcheson về mã khoa học thử nghiệm đơn vị : Tôi đặc biệt quan tâm đến cách kiểm tra hồi quy cho các mô hình như vậy có thể được thực hiện. Nếu một thay đổi điều kiện ban đầu nhỏ có thể dẫn đến thay đổi đầu ra lớn (có thể vẫn là biểu diễn đầy đủ của thực tế), thì làm cách nào chúng ta có thể tách những thay đổi đó khỏi các thay đổi gây ra bằng cách sửa đổi tham số hoặc thực hiện các thói quen số mới?

Câu trả lời:


7

Tất cả những gì bạn có thể so sánh trong các trường hợp như vậy là số liệu thống kê về giải pháp của bạn: trung bình, khoảnh khắc cao hơn, thông lượng nhiệt trên đường biên và các đại lượng tích phân khác. Ví dụ, hãy xem một trong số nhiều bài báo thảo luận về các mô hình nhiễu loạn cho các phương trình Navier-Stokes: chúng đầy rẫy những âm mưu của quang phổ sức mạnh, entalpy, entropies, enstrophies và những từ khác mà bạn chưa từng nghe thấy trước đây . Tất cả là một số lượng tích phân của dòng chảy và chúng được so sánh với cùng một lượng tích phân được tính toán từ các mô phỏng và / hoặc thí nghiệm khác.


Bạn có biết về một ví dụ tốt? Sẽ là một bổ sung tốt cho câu trả lời của bạn.
n101 101

Không phải trên đỉnh đầu của tôi - Tôi không phải là một người mẫu hỗn loạn. Tuy nhiên, tôi sẽ bắt đầu với một số bài báo gần đây của Tom Hughes và làm việc từ đó.
Wolfgang Bangerth

Tôi nghĩ rằng đây là một ví dụ tốt về việc sử dụng số liệu thống kê tóm tắt để xác định chế độ của một hệ thống động: "Suy luận thống kê cho các hệ thống động lực sinh thái phi tuyến ồn ào"
Jugurtha

4

Nếu mã của bạn có thể chạy trong các chế độ không hỗn loạn của vấn đề tiềm ẩn của bạn, đặc biệt là các chế độ không hỗn loạn nơi bạn có thể sử dụng phương pháp giải pháp được sản xuất, bạn nên viết các bài kiểm tra hồi quy chạy trong các chế độ này ngay cả khi chúng không thú vị với bạn . Nếu các thử nghiệm này thất bại, thì bạn biết ngay rằng có gì đó không ổn trong các thay đổi mã mới nhất của bạn. Sau đó, bạn có thể chuyển sang các vấn đề liên quan đến thể chất nhiều hơn.


Tôi không nghĩ rằng toàn bộ mô hình khí hậu có thể được vận hành theo cách đó, nhưng có lẽ các thành phần chính có thể. Một cái gì đó giống như một bài kiểm tra siêu đơn vị. Ý kiến ​​hay.
n101 101

2
Nhưng đó là điểm chính. Các bài kiểm tra hồi quy của bạn nên có phạm vi bảo hiểm mã tốt (gcov và những người tương tự là bạn của bạn) và nên chạy nhanh. Nếu bạn đang chạy toàn bộ mô hình khí hậu như thử nghiệm hồi quy hàng ngày của mình, tôi nghi ngờ bạn đang lãng phí rất nhiều thời gian.
Bill Barth

Tôi nghĩ rằng tôi đã suy nghĩ nhiều hơn: bạn chạy thử nghiệm ban đầu và sau đó lưu trữ một loạt các số liệu (như được đề cập trong câu trả lời của Wolfgang). Sau đó, bạn thực hiện các thay đổi và chạy lại các bài kiểm tra và so sánh các số liệu tương tự với các số liệu bạn đã lưu trữ lần trước. Nếu bạn đã cải thiện mô hình (hoặc siêu thành phần mô hình), thì về mặt lý thuyết, tất cả các số liệu sẽ cải thiện hoặc ít nhất là không trở nên tồi tệ (trừ khi bạn đã quá phù hợp trước đó, hoặc một cái gì đó, nhưng bạn có thể đưa ra quyết định đó một cách chủ quan) . Tôi đoán kiểm tra theo nghĩa này là chất lượng hơn rất nhiều, nhưng chúng vẫn có thể rất hữu ích.
ness101

Như đã thảo luận trong câu trả lời này , tôi cho rằng.
ness101

2

Đầu tiên, tôi sẽ tập trung vào câu cuối cùng của bạn, khi bạn chạm vào một vài điều khác nhau trong câu hỏi của bạn, nhưng tôi cảm thấy nó nắm bắt đầy đủ những gì bạn đang hỏi. Nếu bạn đang thay đổi các thói quen số, bạn không nên thay đổi các điều kiện ban đầu hoặc các tham số hệ thống cho đến khi bạn xác nhận thói quen mới từ quy trình cũ. Ở cấp độ yếu nhất, tôi thấy điều này khi so sánh các giá trị trung bình theo thời gian so với giải pháp của bạn và chúng được thỏa thuận (ngay cả khi các hành vi nhất thời chuyển hướng lẫn nhau trong hỗn loạn). Ở cấp độ mạnh nhất, bạn sẽ mong đợi hai thói quen sẽ tái tạo toàn bộ hành vi nhất thời. Cái nào bạn muốn, và cái nào được chấp nhận phụ thuộc vào câu hỏi bạn đang hỏi và kết luận nào bạn đang rút ra từ các giải pháp.

Theo như cho biết liệu một mô hình có "hoạt động như bình thường" hay không, đó là một câu hỏi hoàn toàn khác. Điều này không có gì để làm với các thói quen số bạn chọn. Cách bạn xây dựng mô hình của mình, từ các giả định đơn giản hóa đến các phép đo / tính toán các tham số, bạn nên dựa trên tất cả các quyết định của mình về vật lý của vấn đề và hy vọng công việc trước đó được thực hiện trong các trường hợp tương tự. Bạn có thể xác nhận mô hình bằng một trường hợp đơn giản được sao chép trong môi trường phòng thí nghiệm, nhưng có những lúc thậm chí điều đó không tầm thường. Nếu bạn không thể xác định một tham số hệ thống quan trọng trong một mức độ lớn, bạn không thể mong đợi bất cứ ai tin vào các chi tiết nhỏ mà bạn đang tính toán trong hành vi cục bộ thoáng qua.

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.