วันพฤหัสบดีที่ 6 กรกฎาคม พ.ศ. 2560

รู้ทันนักวิจัย (๖) บน simulation ทุกอย่างเป็นไปได้หมด (ภาค ๒) MO Memoir : Thursday 6 July 2560

บทความชุดนี้ไม่ได้เขียนให้นักวิจัยอ่านนะครับ แต่เขียนให้คนที่ต้องทำงานเกี่ยวข้องกับนักวิจัยอ่าน

ผมมักจะบอกกับนิสิตที่ผมสอนเสมอว่า ในสังคมที่เน้นไปที่ การสอน การถ่ายทอด การฝึกอบรม เทคนิคการนำเสนอต่าง ๆ ที่มีการโฆษณากันอย่างแพร่หลายว่า สามารถทำให้คนฟังคล้อยตามผู้บรรยายโดยไม่ได้คิดตาม สิ่งสำคัญที่พวกเขา (โดยเฉพาะเมื่ออยู่ในฐานะผู้ฟัง) คือ "ฟังอย่างไรไม่ให้ถูกหลอก"

. ทำนายค่าได้ดี ดูจากอะไร

เวลาที่ผมสอบนิสิตที่นำเสนองานวิจัยเกี่ยวกับการสร้างแบบจำลองทางคณิตศาสตร์ของกระบวนการใดกระบวนการหนึ่งนั้น คำถามที่ผมถามนิสิตผู้ทำวิจัยอยู่เป็นประจำก็คือ ต้องการจะเอาแบบจำลองนั้นไปใช้ประโยชน์อะไร เพื่อการออกแบบ หรือเพื่อการควบคุมกระบวนการ เพราะมันจะใช้แง่มุมที่พิจารณาต่างกัน โดยแบบจำลองที่เน้นไปที่การออกแบบนั้นจะเน้นไปที่ "ความถูกต้อง" ของผลการคำนวณที่ได้เป็นสำคัญ ในขณะที่ "เวลา" ที่ต้องใช้ในการคำนวณนั้นเป็นปัจจัยรอง แต่ถ้าเป็นแบบจำลองที่จะนำไปใช้ในการควบคุมกระบวนการจริงแบบ real time "เวลา" ที่ต้องใช้ในการคำนวณจะเป็นปัจจัยหลักที่ใช้ในการพิจารณา ส่วนความถูกต้องนั้นเป็นปัจจัยรอง 
  
เหตุผลก็คือการควบคุมกระบวนการนั้นเป็นงานที่ทำแข่งกับเวลาแบบ real time การที่แบบจำลองสามารถทำนายว่าจะมีการเปลี่ยนแปลงในทิศทางไหน ด้วยขนาด "ประมาณ" เท่าใด ก่อนที่จะเกิดขึ้นจริง และยังมีเวลาเหลือให้ระบบควบคุมทำงานเพื่อการรับมือ มันสำคัญกว่าการที่แบบจำลองสามารถทำนายพฤติกรรมและขนาดของการเปลี่ยนแปลงได้ถูกต้อง แต่มันมาหลังจากที่เหตุการณ์ดังกล่าวผ่านพ้นไปแล้วหรือไม่เหลือเวลาให้ระบบควบคุมตอบสนองใด ๆ
 
ผมเคยตั้งคำถามให้กับนิสิตระดับบัณฑิตศึกษาของภาค (ที่ทำงานอยู่ในภาคอุตสาหกรรมและมาเรียนต่อในช่วงวันหยุด) ลองพิจารณาว่า ถ้าคุณมีแบบจำลองอยู่ ๒ แบบ แบบจำลองที่หนึ่งนั้นสามารถทำนายผลได้อยู่ในช่วง ±5 % กับแบบจำลองที่สองที่ทำนายผลผิดไป -50 % ตลอด คุณจะเอาแบบจำลองไหนสอบวิทยานิพนธ์ และแบบจำลองไหนไปใช้งานจริง คำตอบที่ได้ก็คือเขาจะเอาแบบจำลองแบบแรกไปใช้ในการสอบวิทยานิพนธ์ ด้วยเหตุผลที่ว่ามันดูดีในแง่วิชาการและความชอบของอาจารย์ เพราะมันประมาณค่าได้ใกล้เคียงกับความเป็นจริง แต่ถ้าจะเอาไปใช้งานจริงจะเลือกใช้แบบจำลองที่สอง เพราะถ้ามันคำนวนค่าออกมาได้เท่าใด ก็คูณสองเข้าไปเลยเพื่อให้ได้ค่าที่เป็นจริง ในขณะที่ถ้าเป็นแบบจำลองแบบแรกนั้นมันมีปัญหาตรงที่เมื่อได้ค่าจากการคำนวณแล้ว มันบอกไม่ได้ว่าควรทำอย่างไรก็ค่านั้นต่อ หักออก 5 % บวกเพิ่ม 5 % หรือไม่ต้องทำอะไรเลย เพื่อให้ได้ค่าที่ถูกต้อง
 
การที่จะรู้ว่าแบบจำลองทางคณิตศาสตร์ที่ตั้งขึ้นมานั้นมีความถูกต้องมากน้อยเพียงใด ต้องใช้การเปรียบเทียบกับผลการทดลองจริง ลองดูตัวอย่างในรูปที่ ๑ ในหน้าถัดไปดูนะครับ เป็นกราฟความเข้มข้นสาร B ในปฏิกิริยา A -> B -> C สามเหลี่ยมคือจุดข้อมูลการทดลอง ส่วนเส้นทึบคือค่าที่ได้จากแบบจำลองทางคณิตศาสตร์ ปฏิกิริยารูปแบบนี้ ในช่วงแรกความเข้มข้นสาร B จะเพิ่มขึ้นเรื่อย ๆ เนื่องจากยังมีสาร A ในปริมาณมาก แต่เมื่อไปถึงจุดหนึ่งความเข้มข้นสาร B จะลดลงเนื่องจากการสลายตัวของ B ไปเป็น C นั้นมากกว่าการเกิดสาร B จากสาร A (เพราะสาร A มันหมดไป) บทความดังกล่าวบอกว่าแบบจำลองทางคณิตศาสตร์ของเขานั้นสามารถทำนายผลการทดลอง "ได้ดี

รูปที่ ๑ กราฟเปรียบเทียบการทำนายความเข้มข้นของสาร B (ปฏิกิริยา A -> B -> C) ระหว่างข้อมูลการทดลอง (จุดสามเหลี่ยม) กับแบบจำลองทางคณิตศาสตร์ (เส้นทึบ)

ทำนายค่า "ได้ดี" ใช้อะไรเป็นเกณฑ์พิจารณา สำหรับงานทางด้านการเกิดปฏิกิริยาเคมีนั้นการที่จะสร้างแบบจำลองทางคณิตศาสตร์ที่สามารถทำนายค่าได้ตรงกับผลการทดลองแบบแทบไม่ผิดเพี้ยนไม่ว่าจะเป็นสภาวะใดนั้น ผมว่าเป็นเรื่องที่อย่าไปคาดหวังว่าจะได้ เว้นแต่ว่าจะเป็นระบบการเกิดปฏิกิริยาง่าย ๆ ที่กลไกการเกิดปฏิกิริยาไม่ซับซ้อนอะไร ในตัวผมเองนั้นเวลาพิจารณาว่าแบบจำลองทางคณิตศาสตร์นั้นทำนายผลการทดลองได้ดีแค่ไหน ผมจะพิจารณาอยู่ ๓ ประเด็นด้วยกันคือ
 
(ก) ขนาด ของตัวแปรตาม (เช่นความเข้มข้นของสาร การเปลี่ยนแปลงอุณหภูมิของระบบ)
 
(ข) ตำแหน่ง ของตัวแปรอิสระ (เช่นเวลาการทำปฏิกิริยาหรือความยาวของ tubular ractor ที่ให้ความเข้มข้นของสารที่ต้องการมากที่สุดก่อนที่มันจะสลายตัวต่อไป ตำแหน่งใน fixed-bed ที่เกิดจุด hot spot) และ
 
(ค) พฤติกรรมการเปลี่ยนแปลงของตัวแปรตาม (เช่นความเข้มข้นของสารในรูปที่ ๑) เมื่อตัวแปรอิสระ (เช่นเวลา) เปลี่ยนแปลงไป
 
ถ้าแบบจำลองนั้นสามารถให้ความถูกต้องในทั้ง ๓ ประเด็นข้างต้นได้ ก็ถือได้ว่าเป็นแบบจำลองที่ดีมาก แต่สำหรับหลาย ๆ งานแล้ว (โดยเฉพาะแบบจำลองที่เน้นไปที่การควบคุมกระบวนการ) เราอาจต้องให้ความสำคัญกับบางประเด็นเป็นพิเศษ กรณีหนึ่งที่เคยเจอก็คือปฏิกิริยาคายความร้อนที่เกิดขึ้นใน non-isothermal non-adiabatic fixed-bed catalytic reactor ของโรงงานหนึ่ง เครื่องปฏิกรณ์นี้มีความยาวของเบดเกือบ 3 เมตร ปฏิกิริยาคายความร้อนนั้นเป็นปฏิกิริยาที่เร่งตนเองในช่วงแรก เพราะความร้อนที่คายออกมาจะทำให้อัตราการเกิดปฏิกิริยาสูงขึ้น (แม้ว่าความเข้มข้นสารตั้งต้นจะลดลงก็ตาม) พอปฏิกิริยาเริ่มเกิด อุณหภูมิในเบดจะเพิ่มขึ้นอย่างรวดเร็วจนเกิดจุด hot spot ขึ้นในเบด (เรียกว่ากระโดดขึ้นกว่า 100ºC ได้ในระยะทางเพียงแค่ประมาณ 30 cm เท่านั้น ก่อนที่จะลดต่ำลงอันเป็นผลจากสารตั้งต้นหมดไป สิ่งที่เขาต้องการทราบจากแบบจำลองก็คือควรทำการติดตั้งเทอร์โมคับเปิล ณ ตำแหน่งใดใน fixed-bed เพื่อที่จะได้สามารถควบคุมอุณหภูมิไม่ให้เพิ่มมากเกินไป ดังนั้นเขาต้องการแบบจำลองที่สามารถทำนาย "ตำแหน่ง" ที่จะเกิด hot spot ได้ถูกต้องในทุกสภาวะการผลิต ส่วนความถูกต้องของอุณหภูมิสูงสุดที่เกิดที่แบบจำลองทำนายได้นั้นไม่ใช่เรื่องสำคัญ
 
เมื่อผมลองเอาประเด็นประกอบการพิจารณา ๓ ประเด็นที่ใช้อยู่เป็นประจำข้างต้นไปพิจารณารูปที่ ๑ สิ่งที่เห็นก็คือแบบจำลองดังกล่าวนั้นสามารถทำนายขนาดของตัวแปรตาม (คือความเข้มข้นของสาร B) ที่มีค่ามากที่สุดได้ดี ตำแหน่งของตัวแปรอิสระที่ใช้ค่าตัวแปรตามมากที่สุด (คือเวลาที่ต้องใช้เพื่อให้ได้สาร B มากที่สุด) ก็ทำนายได้ค่อนข้างดี แต่สิ่งที่ดูแล้วขัดตามากก็คือพฤติกรรมการเปลี่ยนแปลงความเข้มข้นสาร B หลังจากที่มันเพิ่มขึ้นสูงสุดแล้ว จริงอยู่แม้ว่าแบบจำลองจะทำนายว่ามันจะลดลงไปเรื่อย ๆ เมื่อเวลาผ่านไป และเส้นโค้งของการลดลงนั้นมีพฤติกรรมที่แตกต่างกัน นั่นแสดงว่าแบบจำลองปฏิกิริยาการสลายตัวของสาร B ไปเป็น C น่าจะมีปัญหา
 
ลองสังเกตดูจุดข้อมูลที่ได้จากการทดลองนะครับ ถ้าคุณลองลากเส้นกราฟเชื่อมจุดก็จะเห็นว่า หลังจากที่สาร B เพิ่มขึ้นสูงสุดแล้ว (ตรงนี้กราฟควรมีความชันเป็นศูนย์) อัตราการลดลงชองความเข้มข้นสาร B จะค่อย ๆ "เพิ่มขึ้น" ในช่วงแรก จนถึงจุดจุดหนึ่งที่ความเข้มข้นจะลดลงด้วยอัตราเร็วที่สูงสุด (จุดเปลี่ยนเว้าของโค้ง) ก่อนที่อัตราการลดลงจึงค่อยลดต่ำลง พฤติกรรมการเปลี่ยนแปลงแบบนี้เป็นพฤติกรรมปรกติที่พบเห็นกัน แต่ค่าที่คำนวณได้จากแบบจำลองทางคณิตศาสตร์นั้นกลับบอกว่า หลังจากที่สาร B เพิ่มขึ้นสูงสุดแล้ว ความเข้มข้นสาร B จะลดลงอย่ารวดเร็วกระทันหัน (กราฟมีการหักมุม ความชันของเส้นกราฟไม่ต่อเนื่องกัน) ด้วยอัตราการลดลงที่สูงตั้งแต่เริ่มแรก จากนั้นอัตราการลดลงจึงค่อย ๆ ลดต่ำลง รูปกราฟที่ได้มีความโค้งเว้าในทิศทางเดียว ไม่มีการเปลี่ยนทิศทางการโค้งเว้า (มันเป็นพฤติกรรมการเปลี่ยนแปลงความเข้มข้นของสาร A ที่เปลี่ยนไปเป็น B ไม่ใช่ของสาร B ที่เกิดจาก A ก่อนสลายไปเป็น C ต่อ)

อีกเรื่องหนึ่งที่ต้องคำนึงในการพิจารณารูปกราฟก็คือ จำนวนจุดข้อมูลที่ใช้วางกราฟและเทคนิคที่ใช้ในการสร้าง interpolation curve เพราะบางทีจุดข้อมูลมันใช้ได้ แต่ด้วยการเลือกเทคนิคการสร้าง interpolation curve ทำให้ได้เส้นกราฟออกมาผิดเพี้ยนไปได้ ดูตัวอย่างเรื่องนี้ได้ใน Memoir ปีที่ ๙ ฉบับที่ ๑๒๕๒ วันอังคารที่ ๑๑ ตุลาคม ๒๕๕๙ เรื่อง "การลาก smooth line เชื่อมจุด (การทำวิทยานิพนธ์ภาคปฏิบัติ ตอนที่ ๘๔)"

. ทำไมต้อง ode45

เดี๋ยวนี้มักจะได้ยินคำถามจากนิสิตปริญญาตรีวิศวกรรมศาสตร์บ่อยครั้งว่า ทำไมปัจจุบันจึงยังต้องเรียนอัลกอริทึมการแก้สมการคณิตศาตร์ ทั้ง ๆ ที่มันมีซอร์ฟแวร์ (ที่ได้มาอย่างถูกกฎหมายหรือไม่ถูกต้องตามกฎหมาย) ที่ทำเพียงแค่กรอกสมการเข้าไปแล้วก็ได้คำตอบออกมาโดยไม่ต้องทำอะไรเพิ่มเติมอีก
 
คำถามแบบนี้มันก็เหมือนกับถามว่าทำไมเราต้องสอนเด็กในรู้จักการบวกลบคูณหาร ทั้ง ๆ ที่ในปัจจุบันเครื่องคิดเลขราคาถูกมีขายทั่วไปหมด (หรือจะใช้โทรศัพท์มือถือคิดเลขก็ได้)
 
แต่ถ้าใครได้ศึกษาลงไปลึก ๆ หน่อยก็จะเห็นว่า ซอร์ฟแวร์ที่ใช้แก้ปัญหานั้นมันไม่ได้มีวิธีการแก้ปัญหาให้ใช้เพียงวิธีการเดียว (ถ้าเป็นอย่างนั้นจริง การทำงานก็จะง่ายขึ้นเยอะมาก) แต่กลับมีให้เลือกใช้หลายวิธีการ (เช่นในตารางที่ ๑) นั่นแสดงว่าถ้าคุณไม่รู้ว่าสมการของคุณเป็นรูปแบบไหน และเทคนิคไหนเหมาะที่จะใช้ในการแก้สมการของคุณ การเลือกเทคนิคที่ผิดหรือไม่เหมาะสมมันก็ทำให้คุณได้คำตอบได้ แต่ก็ก่อให้เกิดคำถามเกี่ยวกับความน่าเชื่อถือของคำตอบที่คำนวณได้ และก็ไม่แปลกที่หลายคนจะมีประสบการณ์ว่าต้องมานั่งกดเครื่องคิดเลข เพื่อดูว่าคำตอบที่ได้จากซอร์ฟแวร์นั้นถูกต้องหรือไม่ 
  
ในวิชาการคำนวณเชิงตัวเลขที่ผมสอนนิสิต ผมจะบอกกับนิสิตเสมอว่า ถ้าคุณมีระบบหลายสมการหลายตัวแปร (ในงานวิศวกรรมเคมี ถ้าจะมีถึงหลักหลายพันสมการหรือมากกว่านั้นก็ไม่ใช่เรื่องแปลก) ถ้าทุกสมการเป็นสมการพีชคณิต (Algebraic Equations) ทั้งหมด หรือเป็นสมการเชิงอนุพันธสามัญ (Ordinary Differential Equations ที่ย่อว่า ODE) ทั้งหมด การแก้ปัญหามันไม่ยากอะไร แต่ถ้าเป็นระบบสมการผสมระหว่างสมการพีชคณิตกับสมการอนุพันธ์ (ที่เรียกว่า Differential Algebratic Equations ที่ย่อว่า DAE) การแก้ปัญหาจะวุ่นวายมากกว่า 
  
เทคนิคการคำนวณเชิงตัวเลข (Numerical methods) ที่ใช้สำหรับแก้ปัญหาระบบสมการ ODE มีอยู่ด้วยกันหลายวิธี แต่ไม่ว่าจะใช้เทคนิคใดก็ตาม ถ้าใช้ step size การคำนวณที่เล็กมากพอ (ขนาดที่เล็กมากพอจะแตกต่างไปตามเทคนิคที่เลือกใช้) ค่าที่คำนวณได้จะลู่เข้าหาคำตอบเดียวกันที่เป็นค่าที่ถูกต้อง ตรงนี้ต่างจากกรณีของสมการอนุพันธ์ย่อย (Partial Differential Equations ที่ย่อว่า PDE) ที่มันมีเรื่อง consistency หรือความคงเส้นคงวาของคำตอบเข้ามาอีก คือใช้ต่างเทคนิคกันอาจได้คำลู่เข้าหาคำตอบที่แตกต่างกัน ทำให้เกิดคำถามได้ว่าคำตอบไหนเป็นคำตอบที่ถูกต้อง

ตารางที่ ๑ คำแนะนำในการเลือก ODE solver ของโปรแกรม MATLAB

Solver Problem Type Accuracy When to Use
ode45
Nonstiff
Medium
Most of the time. ode45 should be the first solver you try.
ode23
Low
ode23 can be more efficient than ode45 at problems with crude tolerances, or in the presence of moderate stiffness.
ode113
Low to High
ode113 can be more efficient than ode45 at problems with stringent error tolerances, or when the ODE function is expensive to evaluate.
ode15s
Stiff
Low to Medium
Try ode15s when ode45 fails or is inefficient and you suspect that the problem is stiff. Also use ode15s when solving differential algebraic equations (DAEs).
ode23s
Low
ode23s can be more efficient than ode15s at problems with crude error tolerances. It can solve some stiff problems for which ode15s is not effective.
ode23s computes the Jacobian in each step, so it is beneficial to provide the Jacobian via odeset to maximize efficiency and accuracy.
If there is a mass matrix, it must be constant.
ode23t
Low
Use ode23t if the problem is only moderately stiff and you need a solution without numerical damping.
ode23 can solve differential algebraic equations (DAEs).
ode23tb
Low
Like ode23s, the ode23tb solver might be more efficient than ode15s at problems with crude error tolerances.
ode15i
Fully implicit
Low
Use ode15i for fully implicit problems f(t,y,y') = 0 and for differential algebraic equations (DAEs) of index 1.

ก่อนหน้านี้ในยุคที่หน่วยความจำของคอมพิวเตอร์ยังมีราคาแพง และการเข้าถึงคอมพิวเตอร์สมรรถนะสูงได้ยังค่อนข้างจำกัดอยู่มากนั้น การใช้เทคนิคการคำนวณเชิงตัวเลขเพื่อหาคำตอบของระบบสมการอนุพันธ์สามัญนั้นมีประเด็นที่ต้องหาจุดสมดุลอยู่ ๓ ประเด็นด้วยกัน คือ ความเร็วในการคำนวณ (ซึ่งผูกพันอยู่กับความถูกต้องของคำตอบที่ได้) หน่วยความจำที่ต้องใช้ และเสถียรภาพของการคำนวณ (ความคลาดเคลื่อนที่เกิดจากการปัดเศษที่มีการสะสมระหว่างการคำนวณ)
 
แต่เมื่อราคาหน่วยความจำลดต่ำลง และคอมพิวเตอร์มีราคาถูกลงมากเมื่อเทียบกับสมรรถนะที่ได้ เทคนิคที่มักจะเป็นเทคนิคแรกที่เลือกใช้ (และมักจะเป็นเทคนิคสุดท้าย) ในการแก้ปัญหาระบบสมการอนุพันธ์สามัญคือ 4th Runge-Kutta หรือเทคนิคที่มีการพัฒนาเพิ่มเติมโดยใช้ 4th Runge-Kutta เป็นต้นแบบ ซึ่งแม้แต่ในการแก้สมการด้วยการใช้โปรแกรม MATLAB ก็ยังได้แนะนำให้ลองใช้เทคนิคนี้เป็นเทคนิคแรกในการหาคำตอบ ซึ่งมันก็คือ ODE Solver ที่ชื่อ "ode45"
 
ตารางที่ ๑ ข้างต้นเป็นรายชื่อ ODE Solver ที่โปรแกรม MATLAB มีให้เลือกใช้ จะเห็นนะครับว่ามีให้เลือกใช้ตั้ง ๘ ตัว ไม่ได้มีเพียงแค่ ode45 แต่ก็พอจะแบ่งเทคนิคออกได้เป็น ๓ กลุ่มโดยอาศัยเสถียรภาพของการคำนวณเป็นเกณฑ์คือ 
  
(ก) พวกปัญหาแบบทั่วไปที่ไม่ค่อยมีปัญหาใด ๆ เกี่ยวกับเสถียรภาพการคำนวณ (ที่เขาเขียนว่า Nonstiff เทคนิคการแก้ปัญหาจะเป็นวิธีการพวก explicit method และ single step method) 
  
(ข) พวกที่ค่อนข้างจะมีปัญหาเกี่ยวกับเรื่องเสถียรภาพของการคำนวณ (ที่เขาเขียนว่า Stiff เทคนิคการแก้ปัญหาจะเป็นวิธีการพวก explicit method และ multi step method)) และ
 
(ค) พวกที่มีปัญหาเกี่ยวกับเสถียรภาพของการคำนวณมากเช่นพวกระบบสมการ DAE (ที่เขาเขียนว่า Fully implicit เทคนิคการแก้ปัญหาจะใช้วิธีการพวก implicit method และ single step method ซึ่งจะใช้หน่วยความจำมาก แต่สามารถแก้ปัญหาที่เทคนิคในข้อ (ก) และ (ข) ไม่สามารถแก้ได้)
 
ส่วนที่ว่าวิธีการแบบ single step หรือ multi step หรือ explicit หรือ implicit เป็นอย่างไรนั้น ขอไม่กล่าวตรงนี้จะครับ เพราะเรื่องมันยาว เอาเป็นว่าถ้าใครมีพื้นฐานทางด้านการคำนวณเชิงตัวเลขมาบ้างก็น่าจะเข้าใจ แต่ถ้าใครต้องแก้โจทย์พวกนี้แล้วไม่รู้เลยว่ามันมีความหมายอย่างใด ผมว่าคุณมีสิทธิเจอปัญหาตามมาแน่ครับ

ประเด็นมันอยู่ตรงนี้แหละครับ ถ้าระบบสมการนั้นมันไม่มีปัญหาเรื่องเสถียรภาพของการคำนวณ ไม่ว่าจะเลือกวิธีการไหนใช้ มันก็ได้คำตอบเดียวกันหมด (ถ้ากำหนดระดับความถูกต้องไว้เท่ากัน) แต่ถ้าระบบสมการมีปัญหาเรื่องเสถียรภาพของการคำนวณมาก แล้วเลือกวิธีการที่ไม่เหมาะสม อาจทำให้หาคำตอบไม่ได้ถ้าหากกำหนดความถูกต้องของคำตอบที่ต้องการนั้นไว้สูงเกินไป หรือได้คำตอบที่ผิดถ้าหากกำหนดความถูกต้องของคำตอบที่ต้องการนั้นไว้ต่ำเกินไป แต่ถ้าใช้วิธีการที่ถูกต้อง ก็สามารถได้คำตอบที่ถูกต้องที่ระดับความถูกต้องที่ต้องการ (ผมเอง ตอนสอบวิทยานิพนธ์เคยเจอกรณีที่จงใจตั้งระดับความถูกต้องไว้ต่ำ เพื่อให้กราฟที่ได้นั้นตรงกับผลการทดลอง เพราะถ้าตั้งค่าระดับความถูกต้องไว้สูงเพื่อให้คำตอบลู่เข้าหาคำตอบของระบบสมการ กราฟที่ได้จะแตกต่างไปจากการทดลองจริง ซึ่งจะฟ้องว่าแบบจำลองมีปัญหา)
 
ปัญหาที่เกิดขึ้นกับผู้ที่ทำวิจัยระดับสูงในบ้านเราตอนนี้ที่ประสบอยู่เป็นประจำก็คือ เราไม่รู้ว่ารูปแบบสมการที่มีนั้นควรต้องใช้วิธีการไหนในการแก้ปัญหา อาศัยแต่ว่าเอารูปแบบสมการที่มีนั้นไปเทียบกับงานวิจัยที่มีการเผยแพร่ก่อนหน้า แล้วเทียบเคียงดูว่างานวิจัยที่มีรูปแบบสมการใกล้เคียงกับโจทย์ของตัวเองมากที่สุดใช้วิธีการไหน แล้วก็ใช้วิธีตามนั้น หรือไม่ก็ลอกต่อ ๆ กันมาจากงานในกลุ่มวิจัยเดียวกันที่ทำเอาไว้ก่อนหน้า มันก็เลยเกิดปัญหาที่ไม่สามารถตอบคำถามกรรมการได้ในห้องสอบเวลาที่โดนกรรมการให้ความเห็นแย้งว่า "ในบทความที่คุณอ้างนั้นเขาใช้วิธีการนั้นก็ถูกต้องแล้ว แต่ระบบสมการของคุณนั้นแม้ว่ามันจะ "คล้าย" กับของบทความนั้น แต่มัน "ไม่เหมือน" และด้วยความ "ไม่เหมือน" ตรงนี้เองที่ทำให้การใช้วิธีการเดียวกันกับบทความที่อ้างอิงมานั้นไม่เหมาสม"

อันที่จริงยังมีอีก ๒ เรื่องที่จะเขียน แต่ฉบับนี้ก็เห็นว่าลากยาวมาตั้ง ๕ หน้าแล้ว วันนี้ก็คงต้องขอพอแค่นี้ก่อนครับ

ไม่มีความคิดเห็น: