วิธีการพยากรณ์แบบไร้เดียงสาใน r: พร้อมตัวอย่าง
การคาดการณ์ที่ไร้เดียงสา คือการคาดการณ์ในช่วงเวลาหนึ่งๆ ซึ่งเท่ากับค่าที่สังเกตได้ในช่วงเวลาก่อนหน้า
ตัวอย่างเช่น สมมติว่าเรามียอดขายของผลิตภัณฑ์ที่กำหนดในช่วงสามเดือนแรกของปีดังต่อไปนี้:

การคาดการณ์ยอดขายในเดือนเมษายนจะเท่ากับยอดขายจริงในเดือนมีนาคมที่ผ่านมา:

แม้ว่าวิธีนี้จะง่าย แต่ก็มีแนวโน้มว่าจะใช้ได้ผลดีในทางปฏิบัติอย่างน่าประหลาดใจ
บทช่วยสอนนี้ให้ตัวอย่างทีละขั้นตอนของวิธีการพยากรณ์แบบไร้เดียงสาใน R
ขั้นตอนที่ 1: ป้อนข้อมูล
ขั้นแรก เราจะป้อนข้อมูลการขายในช่วง 12 เดือนที่บริษัทในจินตนาการ:
#create vector to hold actual sales data
actual <- c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24)
ขั้นตอนที่ 2: สร้างการคาดการณ์ที่ไร้เดียงสา
ต่อไป เราจะใช้สูตรต่อไปนี้เพื่อสร้างการคาดการณ์ที่ไร้เดียงสาในแต่ละเดือน:
#generate naive forecasts forecast <- c(NA, actual[- length (actual)]) #view naive forecasts forecast [1] NA 34 37 44 47 48 48 46 43 32 27 26
โปรดทราบว่าเราใช้ NA เป็นค่าที่ทำนายค่าแรกเท่านั้น
ขั้นตอนที่ 3: วัดความแม่นยำของการคาดการณ์
สุดท้ายเราต้องวัดความแม่นยำของการพยากรณ์ เมตริกทั่วไปสองรายการที่ใช้ในการวัดความแม่นยำ ได้แก่:
- ข้อผิดพลาดร้อยละสัมบูรณ์เฉลี่ย (MAPE)
- ค่าเฉลี่ยข้อผิดพลาดสัมบูรณ์ (MAE)
เราสามารถใช้โค้ดต่อไปนี้เพื่อคำนวณเมตริกทั้งสอง:
#calculate MAPE mean(abs((actual-forecast)/actual), na. rm = T ) * 100 [1] 9.898281 #calculate MAE mean(abs(actual-forecast), na. rm = T ) [1] 3.454545
เปอร์เซ็นต์ข้อผิดพลาดสัมบูรณ์โดยเฉลี่ยคือ 9.898% และข้อผิดพลาดสัมบูรณ์โดยเฉลี่ยคือ 3.45
หากต้องการทราบว่าการคาดการณ์นี้มีประโยชน์หรือไม่ เราสามารถเปรียบเทียบกับแบบจำลองการคาดการณ์อื่นๆ และดูว่าความแม่นยำในการวัดดีขึ้นหรือแย่ลง
ขั้นตอนที่ 4: แสดงภาพการคาดการณ์
สุดท้ายนี้ เราสามารถสร้างแผนภาพเส้นแบบง่ายๆ เพื่อให้เห็นภาพความแตกต่างระหว่างยอดขายจริงและการคาดการณ์ยอดขายที่ไร้เดียงสาในแต่ละช่วงเวลา:
#plot actual sales plot(actual, type=' l ', col = ' red ', main=' Actual vs. Forecasted Sales ', xlab=' Sales Period ', ylab=' Sales ') #add line for forecasted sales lines(forecast, type=' l ', col = ' blue ') #add legend legend(' topright ', legend=c(' Actual ', ' Forecasted '), col=c(' red ', ' blue '), lty=1)

โปรดทราบว่าเส้นการขายที่คาดการณ์ไว้นั้นเป็นเวอร์ชันที่เลื่อนของเส้นการขายจริง
นี่คือสิ่งที่เราคาดหวังอย่างแน่นอน เนื่องจากการคาดการณ์ที่ไร้เดียงสาเพียงแค่คาดการณ์ว่ายอดขายในช่วงเวลาปัจจุบันจะเท่ากับยอดขายในช่วงเวลาก่อนหน้า
แหล่งข้อมูลเพิ่มเติม
วิธีการคำนวณ MAE ใน R
วิธีการคำนวณ MAPE ใน R
สิ่งที่ถือว่าคุ้มค่าสำหรับ MAPE?