บทความ/จัดพิมพ์ โดย: นาย เจษฎา กานต์ประชา
สมการลักษณะนี้เขาเรียกว่า over determined system เนื่องจาก สมการเชิงเส้นโดยปกติแล้ว หากมีจำนวนตัวแปร $n$ ตัว ก็จะต้องใช้สมการจำนวน $n$ สมการ จึงจะแก้หาค่าตัวแปรทั้งหมดออกมาได้ แต่หากเรามีจำนวนสมการมากกว่า $n$ สมการละ จะทำยังไง
ก็แล้วแต่ว่า ใครจะสรรหาวิธีประหลาดต่างๆมาแก้สมการกันไป อันที่จริงแล้วสมการลักษณะนี้จะไม่สามารถหาคำตอบที่ทำให้มันเป็นจริงได้(อ้าว แล้วจะแก้ไปทำไมกันละ) เพราะเรารู้อยู่แล้วว่าทุกสมการมีความผิดพลาดด้วยกันทั้งสิ้น ซึ่งมีสาเหตุมาจากความผิดพลาดในการเก็บข้อมูล เราจึงคาดหวังเพียงว่า จะหาคำตอบที่มันใกล้เคียงกับความเป็นจริงที่สุด ปัญหาคือเราจะรู้ได้อย่างไรว่าวิธีไหนจะเป็นวิธีที่ถูกต้องที่ใกล้เคียงกับความจริงที่สุด วิธีที่ใช้วัดว่าวิธีไหนถูกต้องที่สุด ที่เป็นที่นิยมคือ Least Square Error (อันนี้เริ่มนอกเรื่องจากหัวข้อปกติแล้ว แต่ถ้าใครสนใจก็อ่านได้นะ)
สมมติว่า เรามีข้อมูลอยู่ 2 ชุด คือ $y(n)$ และ $f(n)$ เราจะวัดความเหมือนกันของข้อมูล 2 ชุดจาก error function ซึ่งกำหนดไว้ดังนี้
\[\begin{array}{rcl} \rm{Error} & = & \sum\limits_n {{{\left( {y\left( n \right) - f\left( n \right)} \right)}^2}}\\ & = & {\left( {y\left( 1 \right) - f\left( 1 \right)} \right)^2} + {\left( {y\left( 2 \right) - f\left( 2 \right)} \right)^2} + \cdots + {\left( {y\left( n \right) - f\left( n \right)} \right)^2} \end{array}\]ดังนั้นยิ่งได้ค่า error ออกมาน้อยมากเท่าไร ก็แสดงว่าข้อมูล 2 ชุดเหมือนกันมากเท่านั้น การวัดความผิดพลาดที่เกิดขึ้นด้วยวิธีนี้เป็นการวัดในทิศทางของ $y$ (ถ้าเป็น 2 มิติเขาจะเรียกว่าการวัดในแนวตั้งหรือ vertical offset นอกจากการวัดในทิศทางนี้แล้วยังอาจวัดจากทิศทางอื่นได้อีกด้วย เช่น perpendicular offset ดังรูปข้างล่างนี้)
vertical offsets
perpendicular offsets
ทีนี้ก็กลับมาเข้าเรื่องของเรากันต่อ และเราจะขอกล่าวถึงกรณีทั่วไปซึ่งเป็นความสัมพันธ์โพลีโนเมียลก็แล้วกัน(เพราะความสัมพันธ์แบบเชิงเส้นก็เป็นส่วนหนึ่งของแบบโพลีโนเมียล) หากเราทราบมาว่า $x$ และ $y$ มีความสัมพันธ์กันดังสมการ
$y = {a_0} + {a_1}x + {a_2}{x^2} + ... + {a_k}{x^k}$
และเราต้องการหาค่า $a_i$ ที่ทำให้ได้ความผิดพลาดน้อยที่สุด โดยวิธี Least Square Error
เนื่องจาก $\textrm{Error} = \sum\limits_{i = 1}^n {{{\left( {{y_i} - \left( {{a_0} + {a_1}{x_i} + \cdots + {a_k}x_i^k} \right)} \right)}^2}}$ เราต้องการจุดต่ำสุดของฟังก์ชันนี้ จึงทำการหาอนุพันธ์เทียบกับ $a_i$ จะได้
\[\begin{array}{rclcl} \frac{d(\rm{Error})}{da_0} & = & - 2\sum\limits_{i = 1}^n {\left( {{y_i} - \left( {{a_0} + {a_1}{x_i} + \cdots + {a_k}x_i^k} \right)} \right)} & = & 0\\ \frac{d(\rm{Error})}{da_1} & = & - 2\sum\limits_{i = 1}^n {\left( {{y_i} - {a_0} + {a_1}{x_i} + ... + {a_k}x_i^k} \right){x_i}} & = & 0\\ \hdashline\\ \frac{d(\rm{Error})}{da_k} & = & - 2\sum\limits_{i = 1}^n {\left( {{y_i} - {a_0} + {a_1}{x_i} + ... + {a_k}x_i^k} \right)x_i^k} & = & 0 \end{array}\]จัดรูปใหม่จะได้
\[\begin{array}{rcl} {a_0}n + {a_1}\sum\limits_{i = 1}^n {{x_i}} + ... + {a_k}\sum\limits_{i = 1}^n {x_i^k} & = & \sum\limits_{i = 1}^n {{y_i}}\\ {a_0}\sum\limits_{i = 1}^n {{x_i}} + {a_1}\sum\limits_{i = 1}^n {x_i^2} + ... + {a_k}\sum\limits_{i = 1}^n {x_i^{k + 1}} & = & \sum\limits_{i = 1}^n {{x_i}{y_i}}\\ \hdashline\\ {a_0}\sum\limits_{i = 1}^n {x_i^k} + {a_1}\sum\limits_{i = 1}^n {x_i^{k + 1}} + ... + {a_k}\sum\limits_{i = 1}^n {x_i^{2k}} & = & \sum\limits_{i = 1}^n {x_i^k{y_i}} \end{array}\]สามารถเขียนในรูปเมตริกซ์ได้เป็น
\[\left[ {\begin{array}{*{20}{c}} n&{\sum\limits_{i = 1}^n {{x_i}} }& \ldots &{\sum\limits_{i = 1}^n {x_i^k} }\\ {\sum\limits_{i = 1}^n {{x_i}} }&{\sum\limits_{i = 1}^n {x_i^2} }& \ldots &{\sum\limits_{i = 1}^n {x_i^{k + 1}} }\\ \vdots & \vdots & \ddots & \vdots \\ {\sum\limits_{i = 1}^n {x_i^k} }&{\sum\limits_{i = 1}^n {x_i^{k + 1}} }& \ldots &{\sum\limits_{i = 1}^n {x_i^{2k}} } \end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{a_0}}\\{{a_1}}\\\vdots \\{{a_k}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\sum\limits_{i = 1}^n {{y_i}} }\\ {\sum\limits_{i = 1}^n {{x_i}{y_i}} }\\ \vdots \\ {\sum\limits_{i = 1}^n {x_i^k{y_i}} } \end{array}} \right]\]เนื่องจากเมตริกซ์ $x$ ทางซ้ายเป็นเมตริกซ์จัตุรัสจึงสามารถหาอินเวอร์สเมตริกซ์ด้วยวิธีปกติได้ และจะได้คำตอบของสมการเป็น