การสร้างตัวแบบ ARIMA

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

อนุกรมเวลา(Time Series)ทำงานอย่างไร?

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

โดยทั่วไปแล้วมี 2 แนวคิดที่เราจะใช้ในการสร้างตัวแบบอนุกรมเวลา แนวคิดที่หนึ่ง คือ ใช้ข้อมูลในอดีต ซึ่งตัวแบบนี้เรียกว่า AR (autoregressive) ซึ่งเป็นการทำนายข้อมูลที่จะเกิดโดยใช้จำนวนข้อมูลในอดีตจำนวนหนึ่งมาเป็นฐานในการทำนายข้อมูล ตัวแบบ AR(1) จะใช้ข้อมูลในอดีตจำนวน 1 ข้อมูลเพื่อมาทำนายข้อมูลที่จะเกิดในอนาคต

แนวคิดที่สองคือ ใช้ค่าความคลาดเคลื่อนที่เกิดขึ้นจากทำนายของข้อมูลในอดีต ซึ่งเรียกว่า ตัวแบบ MA (moving average) เช่น ตัวแบบ MA(1) คือตัวแบบที่ใช้ทำนายข้อมูลโดยอาศัยค่าความคลาดเคลื่อนในอดีตจำนวน 1 ค่า เพื่อมาทำนายข้อมูล

จากทั้งสองแนวคิดมีความแตกต่างกันในการใช้ข้อมูลมาทำนายข้อมูลในอนาคต ดังนั้นเราจะใช้ตัวแบบที่มีการรวมเอาทั้งสองแนวคิดเข้าด้วยกัน ซึ่งเรียกว่า ตัวแบบ ARIMA ที่มีการใช้ทั้งค่าข้อมูลอดีตและค่าความเคลื่อนของข้อมูลในอดีตเพื่อการทำนายข้อมูล

ตัวอย่างในการสร้างตัวแบบอนุกรมเวลา

จากตัวอย่างนี้จะเห็นว่าเราไม่สามารถสร้างตัวแบบที่เหมาะสมได้ โดยข้อมูลอนุกรมเวลาที่เรานำมาเป็นตัวอย่างแสดงให้เห็นในภาพด้านล่างนี้ มาดูกันว่าเราเห็นอะไรบ้าง

1 11

เริ่มจากสิ่งแรก เราจะต้องดูว่าข้อมูลอนุกรมเวลาของนั้นมีความนิ่ง (stationary) หรือไม่  ข้อมูลอนุกรมเวลาแบบ Stationary คือ ข้อมูลนั้นมีค่าเฉลี่ยและค่าความแปรปรวนคงที่ตลอดช่วงเวลา ซึ่งจากกราฟข้อมูลจะเห็นได้ว่าค่าเฉลี่ยของข้อมูลไม่ได้คงที่ตลอดเวลา แต่มีค่าลดลง

เพื่อแก้ปัญหาในจุดนี้ เราจะเริ่มจากการหาความต่างของข้อมูล โดยใน Minitab ใช้คำสั่ง Stat > Time Series > Differences  และให้ค่าใน Lag มีค่าเท่ากับ 1 (การเลือกคำสั่งนี้ จะเป็นการนำข้อมูลมาลบกัน โดยข้อมูลตัวที่ n+1  ลบกับตัวที่ 1 เป็นค่า difference)

นำค่า lag 1 difference ของชุดข้อมูลมาสร้างกราฟจะได้ตามภาพนี้

2 11

ตอนนี้เราจะได้ค่าความต่างของข้อมูลซึ่งเป็นส่วนข้อมูลที่มีความนิ่ง และถือเป็นส่วนหนึ่งของตัวแบบ ARIMA ที่เรากำลังหาอยู่ โดยเป็นส่วนที่เรียกว่า “I” ซึ่งมาจากคำว่า “Integration” (การรวมกัน)

เท่ากับตอนนี้เราได้ ตัวแบบ ARIMA(p,1,q)  ต่อไปเราจะทำการหาพจน์ของ AR ค่า p และพจน์ของ MA ค่า q ซึ่งส่วนนี้เราจะต้องทำการสร้างกราฟเพิ่มในส่วนของ ACF และ PACF

แปลผลค่า ACF และ PACE Plots

ACF มาจากคำว่า for Autocorrelation function ส่วน the PACF มาจากคำว่า Partial Autocorrelation function, เราจะใช้กราฟทั้งสองนี้ช่วยในการสร้างตัวแบบที่เหมาะสม Autocorrelation เป็นกราฟที่สร้างจากข้อมูลอนุกรมเวลา โดยนำค่าความสัมพันธ์ (correlation) ของข้อมูลที่ถูกแบ่งเป็นส่วนๆ โดยแต่ละส่วนจะถูกแบ่งในช่วง k หน่วยเวลา

ในทำนองเดียวกัน partial autocorrelations (PACF) จะทำการวัดระดับความสัมพันธ์ที่เกิดขึ้นของพจน์อื่นๆที่จะนำมารวมไว้ในตัวแบบ เช่นกรณีนี้ จาก partial autocorrelation ของ ค่า lag 4 เป็นความสัมพันธ์ที่เกิดใน lag 4 และใช้ได้ดีกับการอธิบายความสัมพันธ์ของ ค่า lag 1, 2, และ 3 ด้วย ใน Minitab การหาPartial Autocorrelation จะใช้คำสั่ง Stat > Time Series > Partial Autocorrelation กรณีตัวอย่างได้ทำการสร้างกราฟออกมาตามภาพด้านล่างนี้

3 10

จากกราฟเราจะได้อะไรบ้าง  ในแต่ละกราฟแสดงรูปแบบให้เห็นชัดเจน และในรูปแบบเหล่านี้สามารถระบุค่า  p และ q ให้เราได้อย่างไร มาดูกัน จากกราฟในส่วน PACF มีลักษณะค่อยๆเรียวเล็กลง(taper) เข้าใกล้ศูนย์ ถึงแม้จะมีแท่งที่เด่นสูงชัดขึ้น (spikes) ที่ lag  1 และ 2  แต่ในส่วนของกราฟ ACF จะมีลักษณะเรียวเล็กลง (taper) อย่างชัดเจน และ lag มีค่าลดลงจนเข้าใกล้ศูนย์

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

4 7

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

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

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


บทความต้นฉบับ : Fitting an ARIMA Model

ต้นฉบับนำมาจาก Minitab blog, แปลและเรียบเรียงโดยสุวดี นำพาเจริญ,

บริหารจัดการ SCM Blog โดยชลทิชา จำรัสพร บริษัท โซลูชั่น เซ็นเตอร์ จํากัด ตัวแทน Minitab ในประเทศไทย

Minitabbloglogo

เพิ่มเติมเกี่ยวกับบริษัท Minitab

Minitab ช่วยให้บริษัทและองค์กรต่างๆ สามารถมองเห็นแนวโน้มของข้อมูล, แก้ปัญหาและค้นพบประเด็นสำคัญจากข้อมูลเชิงลึก โดยนำเสนอชุดโซลูชั่นที่ครอบคลุมทุกด้านและดีที่สุดสำหรับซอฟต์แวร์ในระดับเดียวกัน ที่ใช้สำหรับการวิเคราะห์ข้อมูลและการปรับปรุงกระบวนการ 
ด้วยวิธีการที่เป็นเอกลักษณ์ และการนำเสนอซอฟต์แวร์และบริการแบบองค์รวม Minitab ช่วยให้องค์กรเข้าถึงกระบวนการตัดสินใจในส่วนที่ช่วยผลักดันให้เกิดความเป็นเลิศทางธุรกิจได้ดีขึ้น ความง่ายในการใช้งานที่โดดเด่นกว่าใครมีส่วนช่วยให้ Minitab สามารถทำให้การเข้าถึงข้อมูลเชิงลึกเป็นเรื่องที่ง่าย ทีมงานของ Minitab ซึ่งประกอบด้วยผู้เชี่ยวชาญทางด้านการวิเคราะห์ข้อมูลที่ได้ผ่านการอบรมมาเป็นอย่างเข้มงวด จะช่วยให้ผู้ใช้งานมั่นใจว่าจะได้รับประโยชน์สูงสุดจากการใช้งานวิเคราะห์ข้อมูลและพร้อมที่จะให้คำปรึกษาตลอดเวลาที่ใช้งานเพื่อนำไปสู่การตัดสินใจที่ดีขึ้น รวดเร็ว และแม่นยำ 
เป็นเวลากว่า 50 ปีที่ Minitab ได้ช่วยองค์การต่าง ๆ เพิ่มรายได้ ควบคุมและลดต้นทุน เพิ่มคุณภาพ เสริมสร้างความพึงพอใจของลูกค้า และเพิ่มประสิทธิภาพ ธุรกิจและองค์นับหมื่นทั่วโลกใช้ Minitab Statistical Software®, Companion by Minitab®, Minitab Workspace®, Salford Predictive Modeler® and Quality Trainer® เป็นเครื่องมือช่วยในการค้นพบและปรับปรุงความบกพร่องในกระบวนการ