วันนี้ก็จะมาต่อภาคสองของซีรีย์วิชาการเรื่องนี้นะครับ
ต่อจากภาคที่แล้ว
http://sagenu.exteen.com/20100502/entry
ก่อนอื่นต้องบอกก่อนสำหรับคนที่ติดตามอยากทราบตอนจบนะครับ
ตอนจบก็คือผมยังไม่สามารถทำนายอนาคตของข้อมูลได้
เพียงแต่ผมมีแนวคิดที่ผมเชื่อว่าสามารถพัฒนาให้ทำนายได้จริงๆครับ
ซึ่งแนวคิดที่ว่า ผมก็จะพยายามถ่ายทอดผ่านตัวอักษรและตัวอย่างไปเรือ่ยๆจนจบซีรี่ย์ครับ
[1-1] backward different
ต่อจากคราวก่อนที่ได้แนะนำ backward different ให้ฟังไปแล้ว
วันนี้ผมก้อยากจะเอาตัวอย่างอีกตัวอย่างมาให้ชม
ลองทำนายข้อมูลตัวถัดไปดูนะครับ
42 73 284 1065 3166 7817 16848
ถ้าลองหาแบบมั่วไปเรือ่ยๆ อาจจะไม่ได้เจอง่ายๆครับ
ดังนั้นคิดว่าต้องใช้วิธี backward different นี่เท่านั้น
คือการหาผลต่างระหว่างตัวไปเรือ่ยๆ
หาผลต่างแต่ละชุด สัก 5 ชุดก็จะได้ผลต่างที่เป็นค่าคงที่
แล้วทีนี้ก็บวกกับตัวก่อนหน้าเข้าไปเรือ่ยๆ ก็จะได้คำตอบแล้วครับ :)
(ตัวแดงคือตัวที่บวกขึ้นไป ตัวดำคือตัวที่ได้จากผลต่าง)
อ้อ...ต่้องบอกก่อนนะครับว่าไอเดียที่หนึ่งนี้ เป็นไอเดียที่แย่ที่สุดแล้ว
เพราะมันสามารถใช้ได้กับ ลำดับที่ต้องเขียนอันดับเป็นจำนวณเต็มได้
//นิยามอันดับของผมคือ จำนวณครั้งในการหาผลต่าง จนผลต่างคงที่ทุกตัว
//อย่างตัวอย่างข้างบนนี่ก็มีอันดับเป็น 5 ครับ
ถ้าหากอันดับซับซ้อนขึ้นแม้จะเพียงเล็กน้อยก็อดแล้วครับ
เช่น รากที่สองของ1 รากที่สองของ2 รากที่สองของ3.. เป็นต้น
(ใช้ตาดูก็ตอบได้ว่า ลำดับต่อไปคือ รากที่สองของ4 แต่ backward different ไม่ช่วย)
ก่อนจะไปต่อกับวิธีที่สอง ผมขอแนะนำที่มาของความคิดสู่แนวคิดที่หนึ่งก่อนครับ
สำหรับคนที่ไม่ต้องการคณิตศาสตร์ที่ลึกเกินไป ไว้ข้ามไปอ่านตอนที่ 2 ใต้กรอบ "||||" ได้ครับ
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ตามจริงแล้ววิธีนี้ผมพบแบบบังเอิญตอนราวๆ ป5 ขณะนั่งทำโจทย์ประถมอยู่
เกือบ 10 ปีซะแล้วแฮะ =_=
แต่ผมเข้าใจกลไกมันจริงๆก็ตอน ม ปลายนี่เองครับ ว่าเหตุใดจึงเป็นเช่นนั้น
สาเหตุก็ไม่ยากครับ
เพราะการทำ backward different นั้น มันเป็นแค่การหาอนุพันธ์
(หรืออัตราการเปลี่ยนแปลงของตัวเลขลำดับ กับ index)
เช่น 1 4 9
อัตราการเปลี่ยนแปลง จากตัวที่หนึ่งไปตัวที่สอง ก้คือ 4-1
อัตราการเปลี่ยนแปลงจากตัวที่สองไปตัวที่สาม ก็คือ 9-4
ซึ่งเป็นคอนเซปเดียวกับการทำอนุพันธุ์นั่นเอง
แค่อนุพันธ์ใช้กับ "ลำดับ"ที่นับไม่ได้
แต่ backward difference ใช้กับ "ลำดับ"ที่นับได้ (ตัวที่ 1 ตัวที่2 ตัวที่3 เป็นต้น)
ส่วนการ integrate ก็คือการ บวก กับพจน์ก่อนหน้าธรรมดานี่เอง
ทีนี้มาลองดูกันว่ามันเป็นเช่นนั้นได้อย่างไร

สังเกตว่าหากเราหาอนุพันธ์ไปเรื่อยๆ อัตราการเปลี่ยนแปลงจะกลายเป็น 0 ในที่สุด
(ก้คือผลต่างของลำดับมีค่าคงที่)
ดังนั้น หากเราไม่รู้ว่าข้อมูลของเราตามจริงแล้วมีการเปลีย่นแปลงข้อมูลอย่างไร
(เช่นไม่รู้ว่า มันคือ xยกกำลัง3)
เราก็ต้องหาอนุพันธ์ไปเรือ่ยๆ จนค่าเป็น 0
จากนั้นเราค่อยหาอินทิเกรทกลับ (หรือบวกกลับ)ให้เท่าจำนวนครั้งกับที่เราหาอนุพันธ์มา
แล้วใช้ลำดับก่อนหน้าเป็น initial condition ก็จะได้ว่าข้อมูลของเรามีการเปลี่ยนแปลงอย่างไร
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
และที่เพิ่งจบไปก็คือวิธีแรกนะครับ
ซึ่งสรุปได้ว่ามันใช้ได้แต่ชุดข้อมูลที่เป็นเขียนอันดับได้
(พูดอีกอย่างคือ ลำดับพหุนามที่มีดีกรีเป็นจำนวนเต็ม)
แต่ผมคิดว่ามันก็ไม่ได้ไร้ประโยชน์เสียทีเดียว
เพราะลำดับใดๆ"น่าจะ"มีองค์ประกอบเป็นพหุนามอยู่บ้างละ"มั้ง"ครับ
มาถึงแนวคิดที่สองกันเลยดีกว่า
[2] ค่าเฉลี่ยความคลาดเคลื่อนของความน่าจะเป็น
ผมเริ่มผลิตแนวคิดนี้ครั้งแรกตอน ม 5 ครับ
ใครๆก็รู้ใช่ไหมว่าเวลาเราโยนเหรียญเนี่ยโอกาสออกหัวก็เท่ากับโอกาสออกก้อย
ดังนั้นหากเราโยนเหรียญ 10ครั้ง มันก็ควรจะออกหัวสัก 5ครั้งใช่ไหมครับ
เราเรียก 5 นั่นว่า ค่าคาดหวัง (เราคาดว่ามันจะออก 5 ครั้งนี่)
แต่ว่ามันก็มีบางกรณีที่เราโยนเหรียญเสียล้านครั้ง แล้วก็ออกหัวติดกันล้านครั้ง
(ถึงมันจะยากมากก็ตาม แต่ก็เป็นไปได้!!)
แต่ประเด็นมันอยู่ที่ว่า
สมมติเราโยนเหรียญ 10ครั้ง
บางทีก็ออกหัว10ครั้ง ห่างจากค่าคาดหวัง 5แนะ
บางทีก็ออกหัว 5ครั้ง ห่างจากค่าคาดหวัง 0
บางทีก็ออกหัว 3 ห่างไป2
8 ครั้งห่างไป3
7 ครั้งห่างไป2
จะว่าไปก็มีได้ทุกแบบแหละ!!!!
แล้วทีนี้ผมก็อยากรู้ว่า..
แล้วตามจริงแล้ว หากผมโยนสักร้อยครั้งพันครั้ง
ค่าเฉลี่ยของจำนวณเหรียญที่ออกหัวที่ห่างจากค่าที่เราคาดไว้จะเป็นเท่าไรนะ..
ว่าแต่แล้วถ้าไม่ใช่เหรียญละ
ถ้าเราโยนลูกเต๋า
ถ้าเราแทงหวย
ค่าเฉลียของความคลาดเคล่ือนนี้จะเป็นอย่างไรกันนี่!!!
แล้วมันเกี่ยวกับการทำนายอนาคตของข้อมูลอย่างไร
ไว้มารอชมต่อไปนะครับ :)
ขอบคุณที่ติดตามครับ