รูปแบบอย่างง่ายที่สุด ในการวิเคราะห์ข้อมูลโดย nonlinear regression ก็คือ การเดาค่าพารามิเตอร์
ค่าพารามิเตอร์ก็คือค่าคงที่ซึ่งใช้บรรยายข้อมูลชุดนี้ โดยสมการที่เราเลือก
ค่าพารามิเตอร์ที่ดีที่สุด คือค่าที่ทำให้ผลรวมของ ความผิดพลาดในการทำนายยกกำลังสอง มีค่าน้อยที่สุด
Nonlinear regression ต่างจาก linear regression ตรงวิธีหาค่าพารามิเตอร์นี่เอง
ไม่ใช่ต่างกันเพราะหน้าตาของสมการนะครับ
สมการ Y = a + b X อาจทำ linear regression หรือ nonlinear regression ก็ได้
ถ้าทำ linear regression ก็ใช้วิธีเข้าสมการสองชั้น
ชั้นแรก partial derivative ของผลรวม error กำลังสอง เทียบกับ a มีค่าเป็นศูนย์
ชั้นที่สอง partial derivative ของผลรวม error กำลังสอง เทียบกับ b มีค่าเป็นศูนย์
ซึ่งทำให้สามารถพิสูจน์ และแก้สมการสองชั้น หาค่า a และ b ได้
หากแก้สมการหาค่าพารามิเตอร์ตรง ๆ ได้ ก็จะเป็น linear regression
โดยรูปแบบสมการ อาจเป็น polynomial ที่มีตัวยกกำลังคงที่ตายตัวที่ผู้ใช้กำหนดไว้ก่อน
แต่ nonlinear regression เราได้ค่าพารามิเตอร์โดยการ ค้นหา
ดังนั้น สมการเดียวกันที่ทำ linear regression ก็มาทำ nonlinear regression ได้
ในซอฟท์แวร์ มี algorithm มากมายใช้ในการช่วย ค้นหา ให้เจอเร็ว
คนที่เขียนให้ค้นไม่กี่ครั้ง แล้วเจอเร็วทุกครั้ง ก็จะเป็นยอดฝีมือ เขียนซอฟท์แวร์ขายกันเป็นล่ำเป็นสัน
แต่คนที่ค้นไม่เก่ง ก็ไม่ใช่คนโง่ หรือเป็นคนเลว เพราะสามารถไปถึงค่าที่ต้องการได้เหมือนกัน แต่ช้ากว่า(มาก)
ช้ากว่าที่ว่า อาจเป็นแค่ไม่กี่สิบเท่า ไปจนถึงเกินล้าน ๆ เท่า ก็ไม่ใช่เรื่องแปลก ขึ้นกับระดับความซับซ้อนของโมเดล ว่าเปิดช่องให้พารามิเตอร์ประพฤติตัวลี้ลับหรือไม่
วิธีค้นที่ว่า ก็มีหลากหลาย ซึ่งกล่าวแบบกลาง ๆ นั้น เราเรียก search algorithm หรือ optimization method ก็ได้ ซึ่งแตกแขนงทั้งแบบใช้ข้อมูลป้อนกลับในการคาดการทิศทางการค้นใหม่แบบทำนายพฤติกรรมล่วงหน้าได้ (ตระกูล deterministic เช่น gradient search, simplex search ซึ่งประพฤติตัวตามสูตรเสมอ) หรือแบบเดาสุ่ม (ตระกูล stochastic method)
แต่ตระกูล stochastic method มีทั้งวิธีแบบฉลาด และแบบโง่งม
แบบโง่งมคือ การเดาสุ่มอย่างมืดบอด ใช้กำลังเข้าหาญหัก (brute force) คือ เดาไปเรื่อย ๆ แล้วเก็บสถิติที่ดีที่สุดอย่างต่อเนื่อง
ก็ใช้ได้เหมือนกัน แต่ไม่เป็นที่ยอมรับ เพราะช้ามากไป
ส่วนวิธีที่ฉลาด มีมากมาย เยอะมาก ๆ
ใครสนใจภาพรวม อาจลองโหลดหนังสือฟรีอ่านก่อน ที่ http://www.it-weise.de/projects/book.pdf
เล่มนี้ คนเขียนเขามาโปรโมทหนังสือด้วยตัวเองในบล็อกเก่าที่ผมเคยเขียนถึง genetic algorithm
หากเรามีคอมพิวเตอร์ที่เร็วกว่าปัจจุบันสัก ล้านล้านเท่า ใครพอเขียนโปรแกรมเป็น ก็เขียนซอฟท์แวร์ทำ nonlinear regression ได้ง่ายมาก คือ ใช้วิธี เดาลูกเดียว (แล้วหาช่วงความเชื่อมั่นโดยวิธี bootstrap resampling แล้วก็เดาลูกเดียวซ้ำอีกหลาย ๆ ที !) ก็จะได้ค่าพารามิเตอร์ที่ใช้ได้ดีเท่ากับที่ได้จากซอฟท์แวร์ฉลาด ๆ ที่มีขายในปัจจุบันเหมือนกัน
ตัวอย่างเช่น การศึกษาปรากฎการณ์แบ่งตัวของเซลล์ ต้องเข้าใจวงจรชีวเคมีภายใน ซึ่งอธิบายโดยสมการจลนศาสตร์ที่ไม่ทราบค่าตัวพารามิเตอร์ที่มีกว่าร้อยตัว ก็ใช้วิธีเดา ซึ่งก็คือ ทำ nonlinear regression กับสมการเชิงอนุพันธ์กันตรง ๆ แต่ต้องทำใน supercomputer เพราะเครื่องธรรมดา รับมือไม่ไหว
วิธี stochastic method มีจุดแข็งประการหนึ่ง ที่ไม่อาจมองข้าม
นั่นคือ เมื่อต้องรับมือกับพารามิเตอร์หลายตัวพร้อมกัน (=multidimension search) วิธีนี้ สามารถให้ผลที่พอใช้การได้ ค่อนข้างเร็วกว่าวิธีในตระกูล deterministic method
เราจะใช้วิธีในตระกูล stochastic method นี้เอง มาช่วยงาน โดยจะใ้ช้วิธีที่เร็วปานกลาง แต่ "ทำมือ" ได้ง่าย โดยเฉพาะใน spreadsheet
(ยังมีต่อ ในตอนต่อไป)
อาจารย์ครับ ช่วยกรุณายกตัวอย่างพารามิเตอร์ในการแบ่งเซลล์ และการนำ regression มาใช้พิสูจน์สมมุติฐาน ด้วยได้มั๊ยครับ เป็นกรณีสมมุติก็ได้ครับ
สวัสดีครับ ครูน้อย