پرش به محتویات

راستی‌آزمایی، واسنجی و اعتبارسنجی

پس از ساختِ یک مدل، چگونه بدانیم که آن را می‌توان باور کرد؟ سه گامِ مجزا اما مرتبط به این پرسش پاسخ می‌دهند: راستی‌آزمایی، واسنجی و اعتبارسنجی. این سه اغلب با هم اشتباه گرفته می‌شوند، اما تفاوتشان بنیادی است و فهمِ آن، کلیدِ اعتماد به هر مدل است.

سه پرسش متفاوت

این سه گام به سه پرسشِ متفاوت پاسخ می‌دهند:

  • راستی‌آزمایی (verification): «آیا معادله‌ها را درست حل کرده‌ام؟»
  • واسنجی (تنظیم پارامترها، Calibration): «با چه مقادیری از پارامترها، مدل بهترین تطابق را با داده دارد؟»
  • اعتبارسنجی (validation): «آیا معادلهٔ درستی را حل می‌کنم؟»

به بیانِ مشهور، راستی‌آزمایی یعنی «معادله را درست حل کردن»، و اعتبارسنجی یعنی «معادلهٔ درست را حل کردن». این دو کاملاً جدا هستند؛ می‌توان معادله‌ای غلط را بی‌نقص حل کرد، یعنی راستی‌آزماییِ موفق همراه با اعتبارسنجیِ ناموفق.

راستی‌آزمایی: آیا درست حل کرده‌ام؟

راستی‌آزمایی به صحتِ پیاده‌سازی می‌پردازد، نه به درستیِ خودِ مدل. وقتی نوسانگرِ هماهنگ را به‌صورتِ عددی حل می‌کنیم، راستی‌آزمایی یعنی بررسیِ این‌که کدِ ما معادلهٔ \(m\ddot{x}=-kx\) را به‌درستی انتگرال می‌گیرد.

چند راهِ راستی‌آزمایی وجود دارد:

  • مقایسه با جوابِ تحلیلی. نوسانگرِ هماهنگ جوابِ دقیقِ \(x(t)=A\cos(\omega t+\varphi)\) دارد؛ اگر جوابِ عددیِ ما با آن بخواند، پیاده‌سازی درست است.
  • بررسیِ همگرایی. با کوچک‌کردنِ گامِ زمانی، خطا باید با نرخی برابرِ مرتبهٔ روش کاهش یابد، چنان‌که در پیوستِ روش‌های عددی دیدیم.
  • بررسیِ کمیت‌های پایسته. در یک نوسانگرِ بی‌اصطکاک، انرژی باید ثابت بماند؛ اگر در شبیه‌سازیِ ما انرژی به‌شدت تغییر کند، یا پیاده‌سازی غلط است یا روشِ عددی نامناسب.

توجه کنید که راستی‌آزماییِ موفق چیزی دربارهٔ درستیِ مدل نمی‌گوید؛ تنها می‌گوید معادله‌ها را درست حل کرده‌ایم.

واسنجی (تنظیم پارامترها): یافتنِ بهترین پارامترها

هر مدل پارامترهایی دارد که باید از داده تعیین شوند. واسنجی فرایندِ تنظیمِ این پارامترهاست تا مدل به بهترین شکل با داده‌های مشاهده‌شده بخواند.

برای نوسانگرِ میرا، فرض کنید جابه‌جاییِ وزنه را در زمان اندازه گرفته‌ایم و می‌خواهیم ضریبِ میراییِ \(c\) را بیابیم. واسنجی یعنی جستنِ مقداری از \(c\) که منحنیِ مدل را تا حدِ ممکن به داده‌ها نزدیک کند، معمولاً با کمینه‌کردنِ مجموعِ مربعاتِ خطا که موضوعِ فصلِ برآورد پارامتر است. نکتهٔ مهم این است که واسنجی، مدل را به این مجموعهٔ خاصِ داده برازش می‌دهد؛ این تضمین نمی‌کند که مدل بر داده‌های تازه نیز خوب کار کند.

اعتبارسنجی: آیا معادلهٔ درست را دارم؟

اعتبارسنجی ژرف‌ترین پرسش است: آیا ساختارِ مدل، فیزیکِ واقعیِ سامانه را به‌درستی توصیف می‌کند؟ این را با آزمودنِ مدل در برابرِ داده‌های مستقل می‌سنجیم، یعنی داده‌هایی که در واسنجی به کار نرفته‌اند.

برای مثال، فرض کنید مدلِ نوسانگرِ هماهنگِ ساده و بدونِ میرایی را با چند ثانیهٔ نخستِ داده واسنجی کرده‌ایم و خوب می‌خواند. اما اگر داده‌های بلندمدت را ببینیم، می‌بینیم که دامنهٔ واقعی به‌تدریج کم می‌شود، چیزی که مدلِ بی‌میراییِ ما هرگز پیش‌بینی نمی‌کند. اینجا اعتبارسنجی شکست می‌خورد: معادلهٔ ما، که جملهٔ میرایی ندارد، معادلهٔ درستی نیست، هر چند آن را بی‌نقص حل کرده باشیم و به داده‌های کوتاه‌مدت خوب برازش داده باشیم. درس این است که باید به مدلی با جملهٔ میرایی برویم.

ترتیب و تعامل

این سه گام معمولاً به این ترتیب و به‌صورتِ چرخه‌ای انجام می‌شوند: نخست راستی‌آزمایی که مطمئن می‌شویم کد درست است، سپس واسنجی که بهترین پارامترها را می‌یابیم، آن‌گاه اعتبارسنجی که در برابرِ داده‌های مستقل می‌سنجیم. اگر اعتبارسنجی شکست بخورد، به ساختارِ مدل بازمی‌گردیم، آن را اصلاح می‌کنیم و چرخه را تکرار می‌کنیم، درست همان حلقهٔ بازخوردی که در نوسانگرِ بی‌میرایی به افزودنِ جملهٔ میرایی انجامید.

جمع‌بندی

سه گامِ راستی‌آزمایی، واسنجی و اعتبارسنجی، سه پرسشِ متفاوت‌اند: آیا درست حل کرده‌ام، بهترین پارامترها کدام‌اند، و آیا اصلاً معادلهٔ درستی دارم. جداکردنِ این سه از هم، از خطای رایجِ «مدل به داده برازش شد، پس درست است» جلوگیری می‌کند؛ برازشِ خوب به داده‌های واسنجی، بدونِ اعتبارسنجیِ مستقل، می‌تواند فریبنده باشد.