แสดงบทความที่มีป้ายกำกับ interpolation แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ interpolation แสดงบทความทั้งหมด

วันพฤหัสบดีที่ 24 สิงหาคม พ.ศ. 2566

การคำนวณเชิงตัวเลข (๓๙) ข้อพึงระวังในการใช้ฟังก์ชันพหุนามในการประมาณค่าในช่วง (๓) MO Memoir : Thursday 24 August 2566

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

รูปที่ ๑ กราฟอุณหภูมิและความหนาแน่นของ CO2 ที่ความดัน 200 bar.a เขียนด้วยโปรแกรม spread sheet ของ OpenOffice 4.1.14 โดยเลือกชนิดกราฟเป็น x-y scatter และให้ลากเชื่อมต่อจุดด้วยเส้นเรียบ โดยตั้งคุณสมบัติของเส้นเป็น ค่า Default ของโปรแกรม (Cubic spline ความละเอียด 20) ในการลากเส้นเชื่อมจุด จะเห็นว่าในช่วงอุณหภูมิตั้งแต่ 90-500ºC เส้นไม่ค่อยจะราบเรียบเท่าใดนัก ข้อมูลนำมาจากเอกสาร "Properties of Carbon Dioxide" ของ Ihre Messer Group GmbH

สิ่งสำคัญเมื่อได้ค่า y ณ ตำแหน่งที่ต้องการมาแล้ว เราจะมั่นใจได้อย่างไรว่าค่าที่ได้มานั้นมีความน่าเชื่อถือในระดับไหน เพราะจะว่าไปด้วยการเปลี่ยนวิธีการสร้างกราฟหรือเลือกจุดที่ใช้ในการสร้างฟังก์ชันประมาณค่าในช่วง ก็มีสิทธิ์ที่จะได้ผลออกมาแตกต่างกันมากได้ และนี่คือหัวข้อที่นำมาเล่าในวันนี้ โดยขอยกตัวอย่างกรณีความหนาแน่นของแก๊สคาร์บอนไดออกไซด์ (CO2) ที่ความดัน 200 bar.a โดยจะคำนวณหาค่าที่อุณหภูมิ 120ºC จากจุดข้อมูลที่มีอยู่คือ 50, 60, 70, 80, 90, 100, 200, 300, 400 และ 500ºC

เริ่มจากการนำเอาข้อมูลมาวาดกราฟด้วยโปรแกรม spread sheet ของ OpenOffice 4.1.14 โดยเลือกกราฟชนิด x-y scatter และให้ลากเส้นเรียบเชื่อมต่อจุดด้วยการใช้ค่า default ของโปรแกรม (แบบที่คนส่วนใหญ่ชอบทำกันโดยอาจไม่รู้ว่ามันปรับแต่งได้) ผลที่ได้แสดงไว้ในรูปที่ ๑ จะเห็นว่าเส้นกราฟที่ได้มีปัญหาตรงช่วงที่ระยะหว่างระหว่างจุดมีการเพิ่มขึ้นมากกระทันหัน (90, 100 และ 200ºC) และในช่วงอุณหภูมิสูงนั้นกราฟมีลักษณะเป็นลูกคลื่น

ทีนี้ด้วยข้อมูลชุดเดิม แต่ปรับชนิดของเส้นที่ใช้ลากเชื่อมต่อจุด ผลที่ได้แสดงไว้ในรูปที่ ๒ ซึ่งจะมองเห็นได้ว่าลักษณะเส้นกราฟนั้นมีความสมเหตุสมผลมากกว่า คือลาดลงอย่างเดียว ความขันของเส้นกราฟมีการเปลี่ยนแปลงในทิศทางเดียว คือตั้งชันในช่วงอุณหภูมิต่ำและลดลงในช่วงอุณหภูมิสูง โดยไม่มีลักษณะเป็นลูกคลื่น แม้ว่าทั้งสองแบบจะให้ค่าความหนาแน่นที่อุณหภูมิ 120ºC ใกล้เคียงกัน (425 กับ 420 kg/m3)

รูปที่ ๒ ข้อมูลชุดเดียวกันกับรูปที่ ๑ แต่ใช้ B-Spline ความละเอียดเท่ากับ 20 ลำดับขั้นพหุนามเท่ากับ 3 จะเห็นว่าเส้นมีความโค้งที่ราบเรียบกว่า

แต่ถ้าต้องการค่าแบบละเอียดหรือนำไปเขียนโปรแกรมเพื่อคำนวณค่าความหนาแน่นที่อุณหภูมิต่าง ๆ ก็ควรต้องหาค่าพารามิเตอร์ของฟังก์ชันที่ใช้ประมาณค่า แต่คำถามก็คือควรใช้จุดใดบ้างในการสร้างฟังก์ชันประมาณค่า รูปที่ ๓ แสดงการสร้างฟังก์ชันพหุนามกำลัง 2 สำหรับคำนวณค่าความหนาแน่นที่อุณหภูมิต่าง ๆ กัน โดยเส้นส้มนั้นใช้ข้อมูลที่อุณหภูมิ 90, 100 และ 200ºC ส่วนเส้นสีเขียวนั้นใช้ข้อมูลที่อุณหภูมิ 100, 200 และ 300ºC ฟังก์ชันของทั้งสองเส้นเป็นดังนี้

เส้นสีส้ม y = 0.0271836x^2 - 10.3908x + 1249.26

เส้นสีเขียว y = 0.0078408x^2 - 4.58794x + 862.408

จะเห็นว่าในช่วงอุณหภูมิ 100-200ºC ค่าที่ได้จากการเลือกใช้จุดที่แตกต่างกันนั้นแตกต่างกันอยู่มาก โดยเฉพาะในกรณีของช่วงอุณหภูมิ 183- 200ºC นั้น เส้นสีส้มจะให้ค่าความหนาแน่นที่ต่ำกว่าที่อุณหภูมิ 200ºC ซึ่งไม่ถูกต้อง ส่วนค่าความหนาแน่นที่อุณหภูมิ 120ºC เส้นสีส้มให้ค่าไว้ที่ประมาณ 394 kg/m3 ในขณะที่เส้นสีเขียวให้ค่าประมาณ 425 kg/m3

ด้วยเหตุนี้เวลาสอนนิสิตในเรื่องการประมาณค่าในช่วง จึงบอกกับนิสิตเสมอว่า การคำนวณนั้นมันไม่ได้จบที่แค่ได้ตัวเลข แต่มันต้องทดสอบด้วยว่าตัวเลขที่ได้มานั้นมันน่าเชื่อถือแค่ไหน การทดสอบง่าย ๆ ทำได้ด้วยการพิจารณาภาพรวมการเปลี่ยนแปลงค่าฟังก์ชัน (แบบรูปที่ ๑ และ ๒) หรือลองเลือกใช้จุด (ตำแหน่งและ/หรือจำนวน) ที่แตกต่างกันในการสร้างฟังก์ชันประมาณค่าในช่วง ทำการคำนวณค่า y ณ ตำแหน่ง x ที่ต้องการ แล้วตรวจสอบว่าค่าที่ได้จากฟังก์ชันประมาณค่าที่แตกต่างกันนั้นให้ค่าที่แตกต่างกันมากหรือไม่

รูปที่ ๓ การคำนวณด้วยการใช้ฟังก์ชันพหุนามกำลัง 2 ในการประมาณค่าความหนาแน่นในช่วงอุณหภูมิ 100-200ºC เส้นสีส้มได้จากการใช้ข้อมูลที่อุณหภูมิ 90, 100 และ 200ºC ในการสร้างฟังก์ชัน เส้นเขียวได้จากการใช้ข้อมูลที่อุณหภูมิ 100, 200 และ 300ºC ในการสร้างฟังก์ชัน

วันอังคารที่ 11 ตุลาคม พ.ศ. 2559

การลาก smooth line เชื่อมจุด (การทำวิทยานิพนธ์ภาคปฏิบัติ ตอนที่ ๘๔) MO Memoir : Tuesday 11 October 2559

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

รูปที่ ๑ ความสัมพันธ์ระหว่างค่าความดันสัมพัทธ์ของระบบ (P/P0) และปริมาตรแก๊สไนโตรเจนที่ตัวอย่างดูดซับเอาไว้ได้ ลาก smooth line โดยใช้ค่าฟังก์ชัน default ของโปรแกรม OpenOffice 4.1.2 คือ cubic spline ความละเอียด 20 จะเห็นการบิดเบี้ยวที่ไม่ถูกต้องของเส้น desorption (สีส้ม) ตรงกรอบที่ล้อมเอาไว้
 
ตัวอย่างเช่นในการวัดพื้นที่ผิวด้วยการใช้เทคนิคการดูดซับแก๊สไนโตรเจน ความสัมพันธ์ระหว่างปริมาณแก๊สไนโตรเจนที่ตัวอย่างดูดซับไว้ได้และความดันของระบบ จะมีการเปลี่ยนแปลงในทิศทางเดียวกัน กล่าวคือที่ความดันระบบสูงขึ้น ปริมาตรแก๊สไนโตรเจนที่ตัวอย่างดูดซับเอาไว้ได้ก็จะเพิ่มมากขึ้นตามไปด้วย (รูปที่ ๑) เมื่อทดลองนำจุดข้อมูลที่ได้จากการวัดมาทำการเขียนกราฟด้วยการใช้โปรแกรม spreadsheet ของ OpenOffice 4.1.2 โดยสั่งให้ลาก smooth line และใช้ค่า default ของโปรแกรม (รูปที่ ๒) พบว่าเส้นที่ลากเชื่อมต่อจุดข้อมูลของ desorption line มีการบิดเบี้ยวที่ไม่ถูกต้อง (กรอบสี่เหลี่ยมบน) และมีความโค้งที่ไม่เหมาะสม (กรอบสี่เหลี่ยมล่าง) ดังแสดงในรูปที่ ๑


รูปที่ ๒ คำสั่งวาดกราฟชนิด xy(กระจัดกระจาย) (หรือ xy(scatter)) ของโปรแกรม OpenOffiece 4.1.2 ถ้ากำหนดให้ลากเส้นแบบเส้นเรียบ (1) ค่า default ของโปรแกรมจะใช้ฟังก์ชัน cubic spline (2) ความละเอียด 20 (3)

เมื่อทดลองทำกราฟใหม่โดยเปลี่ยนจาก cubic spline เป็น B-spline โดยใช้ระดับขั้นของพหุนามเป็น 3 (ค่า default ของเครื่อง) พบว่าพฤติกรรมการบิดเบี้ยวของเส้นสีส้มนั้นหายไป แต่ถ้าสังเกตระยะห่างในแนวนอนระหว่างกราฟเส้นสีส้มและเส้นสีน้ำเงินช่วงที่เส้นกราฟไต่ชึ้นอย่างรวดเร็ว (กรอบสี่เหลี่ยมในรูปที่ ๓) จะเห็นว่ากราฟที่ได้ยังมีรูปร่างที่ไม่เหมาะสมเท่าใด คือตรงกลางจะคอด ในขณะที่ส่วนบนและส่วนล่างโป่งออก
 
แต่เมื่อเปลี่ยนระดับขั้นของพนุนามเป็น 2 พบว่าภาพโดยรวมของเส้นกราฟดูดีขึ้นมาก แต่ทั้งนี้ไม่ได้หมายความว่าเวลาจะวาดกราฟเมื่อใดต้องใช้ B-spline และระดับขั้นของพหุนามเป็น 2 เสมอไปนะ สิ่งที่ต้องทำก็คือพิจารณารูปร่างที่ควรจะเป็นของกราฟโดยอิงจากทฤษฎีความสัมพันธ์ระหว่างตัวแปร x และ y ก่อน จากนั้นจึงทดลองเลือกฟังก์ชันมาทำการลากเส้นเชื่อมต่อจุด แล้วดูว่าเส้นกราฟที่ได้นั้นให้แนวโน้มแบบเดียวกับทฤษฎีหรือไม่ (ทฤษฎีในที่นี้คือทฤษฎีที่เป็นที่ยึดถือกันอยู่ทั่วไปนะ ไม่เช่นทฤษฎีที่ตั้งขึ้นมาเอง แล้วพยายามลากกราฟให้เส้นเชื่อมต่อจุดข้อมูลนั้นมีการบิดไปบิดมา หรือออกมาเป็นเส้นตรง ตามแบบที่ตัวเองต้องการ)
 
อันที่จริงปัญหาแบบนี้คงไม่เกิดถ้าใช้จุดข้อมูลที่ถี่มากพอ แต่ในทางปฏิบัตินั้นบ่อยครั้งที่เราไม่สามารถทำการวัดอย่างละเอียดได้ (จะเนื่องด้วยข้อจำกัดด้านเวลาหรือความสามารถของอุปกรณ์ก็ตามแต่) ทำให้เราได้ข้อมูลออกมาเป็นจุดที่อยู่ห่างกัน โดยในบางช่วงข้อมูลอาจมีการเปลี่ยนแปลงอย่างช้า ๆ แต่บางช่วงก็เปลี่ยนแปลงอย่างรวดเร็ว

รูปที่ ๓ ความสัมพันธ์ระหว่างค่าความดันสัมพัทธ์ของระบบ (P/P0) และปริมาตรแก๊สไนโตรเจนที่ตัวอย่างดูดซับเอาไว้ได้ ลาก smooth line โดยใช้ค่าฟังก์ชัน B-spline ระดับขั้นของพหุนาม 3 (ค่า default ของ B-spline ในโปรแกรม) พบว่ากราฟที่ได้นั้นดูดีกว่าในรูปที่ ๑ แต่ช่วงที่กราฟไต่ขึ้น (ในกรอบสี่เหลี่ยม) นั้นออกมาไม่ดีเท่าใดนัก เห็นได้จากระยะห่างในแนวนอนระหว่างเส้นสีส้มกับเส้นสีน้ำเงิน

spline interpolation เป็นเทคนิคที่พัฒนามาจากการลากเส้นโค้งเชื่อมจุดด้วยมือ โดยแต่เดิมเวลาที่มีข้อมูลเป็นจุด (x,y) แล้วต้องการลากเส้นโค้งเชื่อม ก็จะใช้ไม้บรรทัดที่ภาษาไทยเรียกว่า "กระดูกงู" (หรือ eleasti ruler) มาบิดโค้งไปตามจุดข้อมูลให้ความโค้งนั้นออกมาดูดีตามสายตาผู้วาด แล้วก็ลากเส้นไปตามกระดูกงูนั้น (สมัยผมเรียนเขียนแบบก็ยังได้ใช้กันอยู่ แต่ไม่รู้ว่าวิศวกรยุคใหม่นี้จะรู้จักหรือเปล่า) ที่นี้พอจะเอาสมการคณิตศาสตร์เข้ามาจับ ก็เลยมีการคิดค้นวิธีการสร้างฟังก์ชันรูปแบบต่าง ๆ เพื่อให้เส้นโค้งที่ออกมานั้นดูดี spline interpolation ไม่เหมือน polynomial interpolation ตรงนี้ในกรณีของ polynomial interpolation นั้น ระดับขั้น (degree หรือยกกำลังสูงสุด) ของ polynomial จะเท่ากับ n - 1 เมื่อ n คือจำนวนจุดที่นำมาทำ curve fitting ส่วน spline interpolation นั้นเราอาจใช้ข้อมูลเพียงแค่ 2 จุด แต่นำมาสร้างสมการกำลัง 3 ได้ (เช่นด้วยการบังคับให้ฟังก์ชันที่เชื่อมต่อระหว่าง 2 จุดนั้นมีความต่อเนื่องทั้งค่า y ค่าอนุพันธ์อันดับ 1 และ 2 กับฟังก์ชันที่เชื่อมต่อระหว่างจุดข้างซ้ายและข้างขวา)

รูปที่ ๔ ความสัมพันธ์ระหว่างค่าความดันสัมพัทธ์ของระบบ (P/P0) และปริมาตรแก๊สไนโตรเจนที่ตัวอย่างดูดซับเอาไว้ได้ ลาก smooth line โดยใช้ค่าฟังก์ชัน B-spline แต่ปรับระดับขั้นของพหุนามเป็น 2 จะเห็นว่าได้เส้นโค้งที่ราบเรียบและดูดีขึ้น

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

วันพุธที่ 19 สิงหาคม พ.ศ. 2552

ลากให้ผ่านหรือไม่ให้ผ่าน MO Memoir : วันอังคารที่ ๙ ธันวาคม ๒๕๕๑

ในการใช้เครื่องแก๊สโครมาโทกราฟ (Gas chromatograph หรือที่เรียกกันย่อ ๆ ว่า GC) นั้น เราจำเป็นต้องสร้างเส้นกราฟเปรียบเทียบ (calibration curve) เพื่อหาความสัมพันธ์ระหว่างปริมาณสารที่ผ่านเข้าไปในเครื่องและความแรงของสัญญาณที่ตัวตรวจวัด (detector) ส่งออกมา ความสัมพันธ์ดังกล่าวมีกติกาง่าย ๆ คือถ้าไม่มีสารเข้าไปในเครื่อง ตัวตรวจวัดก็จะไม่มีสัญญาณ (กล่าวคือการเปลี่ยนแปลงของสัญญาณเป็นศูนย์เมื่อเทียบกับสัญญาณเส้นฐาน (base line)) และเมื่อมีสารตัวอย่างผ่านตัวตรวจวัด ตัวตรวจวัดก็จะส่งสัญญาณที่แตกต่างออกไปจากสัญญาณเส้นฐาน ยิ่งมีสารตัวอย่างผ่านตัวตรวจวัดมาก สัญญาณที่ตัวตรวจวัดส่งออกมาก็จะแรงมากตามไปด้วย

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

ในกรณีของเครื่องแก๊สโครมาโทกราฟนั้นเราจะนิยมใช้พื้นที่ใต้พีคของสัญญาณที่วัดได้เป็นตัวหาค่าปริมาณของสารตัวอย่างที่ผ่านเข้าไปในเครื่อง โดยเราจะทำการฉีดสารตัวอย่างในปริมาณที่ทราบค่าแน่นอนเข้าไปในเครื่อง และดูว่าพีค (peak) ที่ได้มีพื้นที่ใต้พีคเท่าใด ถ้าเราฉีดสารตัวอย่างเข้าในปริมาณมาก ก็จะได้พีคที่มีขนาดใหญ่ (พื้นที่ใต้พีคมาก) ตามไปด้วย และถ้าไม่ฉีดสารใดเข้าไป พื้นที่ใต้กราฟที่ได้ก็จะมีค่าเป็นศูนย์ และโดยการปรับเปลี่ยนปริมาณสารตัวอย่างที่ฉีดเข้าไปในเครื่อง เราก็จะสามารถสร้างกราฟความสัมพันธ์ระหว่างปริมาณสารตัวอย่างที่ไหลผ่านตัวตรวจวัดและพื้นที่ใต้พีคที่วัดได้ กราฟความสัมพันธ์ดังกล่าวคือ calibration curve นั่นเอง ดังตัวอย่างที่แสดงในรูปที่ 1 ข้างล่าง




















รูปที่ 1
(ซ้าย) การลาก calibration curve ที่ไม่ผ่านจุดกำเนิด และ (ขวา) การลาก calibration curve ผ่านจุดกำเนิด

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

















รูปที่ 2
ความสัมพันธ์ระหว่างปริมาณสารและสัญญาณที่ตัวตรวจวัดส่งออกมา (เส้นกราฟสีน้ำเงิน) เมื่อพิจารณาในช่วงกว้าง

จากรูปที่ 2 จะเห็นได้ว่าในช่วงปริมาณสารที่ฉีดเข้าไปมีค่าต่ำนั้น เส้นตรงสีแดงจะประมาณเส้นโค้งสีน้ำเงินได้ดี และยังลากผ่านจุดกำเนิดด้วย แต่ที่ปริมาณสารตัวอย่างสูง เส้นตรงสีแดงจะให้ค่าที่ผิดไปมาก ส่วนช่วงที่ปริมาณสารตัวอย่างที่ฉีดเข้าไปมีค่าสูง เส้นตรงสีเขียวจะประมาณเส้นโค้งสีน้ำเงินได้ดี แต่ถ้าเราต่อเส้นตรงสีเขียวออกมายังช่วงที่ปริมาณสารตัวอย่างมีค่าน้อยนั้น ค่าที่ได้จะผิดไปมากและจะเห็นว่าเส้นสีเขียวไม่ลากผ่านจุดกำเนิดด้วย

ณ จุดนี้พอจะบอกได้หรือยังว่าวิธีการที่เหมาะสมในการลากเส้น calibration curve ในรูปที่ 1 นั้นควรลากแบบให้ผ่านหรือไม่ให้ผ่านจุดกำเนิด

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
















รูปที่ 3
วิธีการที่เหมาะสมที่สุดในการลากเส้นตรงให้กับ calibration curve คือทำตามรูปด้านซ้ายของรูปที่ 1 แต่ใช้เส้นกราฟเฉพาะช่วงปริมาณสารที่น้อยที่สุดและที่มากที่สุดเท่านั้น ถ้าต้องการหาความสัมพันธ์ระหว่างพื้นที่ใต้พีคกับปริมาณสารนอกช่วงดังกล่าว ก็ควรทำการทดลองสร้าง calibration curve สำหรับช่วงความเข้มข้นดังกล่าวขึ้นมาใหม่ พึงหลีกเลี่ยงการต่อเส้นตรงเส้นนี้ไปใช้ประมาณค่านอกช่วงดังกล่าว