การวิเคราะห์ข้อมูลขนาดใหญ่ - การวิเคราะห์อนุกรมเวลา
อนุกรมเวลาคือลำดับของการสังเกตตัวแปรเชิงหมวดหมู่หรือตัวเลขที่จัดทำดัชนีตามวันที่หรือการประทับเวลา ตัวอย่างที่ชัดเจนของข้อมูลอนุกรมเวลาคืออนุกรมเวลาของราคาหุ้น ในตารางต่อไปนี้เราจะเห็นโครงสร้างพื้นฐานของข้อมูลอนุกรมเวลา ในกรณีนี้การสังเกตจะถูกบันทึกทุกชั่วโมง
การประทับเวลา | ราคาหุ้น |
---|---|
2015-10-11 09:00:00 น | 100 |
2015-10-11 10:00:00 น | 110 |
2558-10-11 11:00:00 น | 105 |
2015-10-11 12:00:00 น | 90 |
2015-10-11 13:00:00 น | 120 |
โดยปกติขั้นตอนแรกในการวิเคราะห์อนุกรมเวลาคือการพล็อตอนุกรมซึ่งโดยปกติจะทำด้วยแผนภูมิเส้น
การประยุกต์ใช้การวิเคราะห์อนุกรมเวลาโดยทั่วไปคือการคาดการณ์มูลค่าในอนาคตของค่าตัวเลขโดยใช้โครงสร้างชั่วคราวของข้อมูล ซึ่งหมายความว่าการสังเกตที่มีอยู่จะใช้ในการทำนายค่าจากอนาคต
การจัดลำดับข้อมูลชั่วคราวหมายความว่าวิธีการถดถอยแบบดั้งเดิมไม่มีประโยชน์ ในการสร้างการคาดการณ์ที่มีประสิทธิภาพเราจำเป็นต้องมีแบบจำลองที่คำนึงถึงการจัดลำดับข้อมูลชั่วคราว
เรียกว่าโมเดลที่ใช้กันอย่างแพร่หลายสำหรับการวิเคราะห์อนุกรมเวลา Autoregressive Moving Average(ARMA) แบบจำลองประกอบด้วยสองส่วนคือautoregressive (AR) และก moving average(MA) ส่วน. จากนั้นโมเดลจะเรียกว่าโมเดลARMA (p, q)โดยที่pคือลำดับของส่วนที่ตอบสนองอัตโนมัติและqคือลำดับของส่วนค่าเฉลี่ยเคลื่อนที่
แบบจำลองอัตโนมัติ
AR (P)จะอ่านเป็นรูปแบบของการสั่งซื้ออัตพี ในทางคณิตศาสตร์เขียนว่า -
$$ X_t = c + \ sum_ {i = 1} ^ {P} \ phi_i X_ {t - i} + \ varepsilon_ {t} $$
โดยที่ {φ 1 , …, φ p } เป็นพารามิเตอร์ที่จะประมาณ c คือค่าคงที่และตัวแปรสุ่มε tแทนค่าสัญญาณรบกวน ข้อ จำกัด บางประการจำเป็นสำหรับค่าของพารามิเตอร์เพื่อให้โมเดลอยู่นิ่ง
ค่าเฉลี่ยเคลื่อนที่
สัญกรณ์MA (q)หมายถึงโมเดลค่าเฉลี่ยเคลื่อนที่ของคำสั่งq -
$$ X_t = \ mu + \ varepsilon_t + \ sum_ {i = 1} ^ {q} \ theta_i \ varepsilon_ {t - i} $$
โดยที่θ 1 , ... , θ qเป็นพารามิเตอร์ของแบบจำลอง, μคือความคาดหวังของ X tและε t , ε t - 1 , ... คือข้อผิดพลาดของสัญญาณรบกวนสีขาว
Autoregressive Moving Average
ARMA (P, Q)รุ่นรวม P ข้อกำหนดและเงื่อนไขอัต Q ย้ายค่าเฉลี่ย ในทางคณิตศาสตร์โมเดลจะแสดงด้วยสูตรต่อไปนี้ -
$$ X_t = c + \ varepsilon_t + \ sum_ {i = 1} ^ {P} \ phi_iX_ {t - 1} + \ sum_ {i = 1} ^ {q} \ theta_i \ varepsilon_ {ti} $$
เราจะเห็นได้ว่าARMA (P, Q)รูปแบบคือการรวมกันของAR (P)และซาชูเซตส์ (Q)รุ่น
เพื่อให้สัญชาตญาณของรูปแบบที่บางคนคิดว่าส่วน AR ของสมการพยายามที่จะประมาณค่าพารามิเตอร์สำหรับ X ที - ฉันสังเกตของเพื่อทำนายค่าของตัวแปรในเอ็กซ์ที ในที่สุดค่าเฉลี่ยถ่วงน้ำหนักของค่าในอดีต ส่วนซาชูเซตส์ใช้วิธีการเดียวกัน แต่มีข้อผิดพลาดของการสังเกตก่อนหน้านี้ε T - ฉัน ดังนั้นในท้ายที่สุดผลลัพธ์ของแบบจำลองคือค่าเฉลี่ยถ่วงน้ำหนัก
โค้ดต่อไปนี้แสดงให้เห็นถึงวิธีการที่จะดำเนินการARMA (P, Q) ในการวิจัย
# install.packages("forecast")
library("forecast")
# Read the data
data = scan('fancy.dat')
ts_data <- ts(data, frequency = 12, start = c(1987,1))
ts_data
plot.ts(ts_data)
โดยปกติการพล็อตข้อมูลเป็นขั้นตอนแรกเพื่อค้นหาว่ามีโครงสร้างชั่วคราวในข้อมูลหรือไม่ เราจะเห็นได้จากพล็อตว่ามีเดือยแหลมแรงในช่วงปลายปีของแต่ละปี
รหัสต่อไปนี้เหมาะกับโมเดล ARMA กับข้อมูล มันเรียกใช้โมเดลหลายชุดและเลือกรุ่นที่มีข้อผิดพลาดน้อยกว่า
# Fit the ARMA model
fit = auto.arima(ts_data)
summary(fit)
# Series: ts_data
# ARIMA(1,1,1)(0,1,1)[12]
# Coefficients:
# ar1 ma1 sma1
# 0.2401 -0.9013 0.7499
# s.e. 0.1427 0.0709 0.1790
#
# sigma^2 estimated as 15464184: log likelihood = -693.69
# AIC = 1395.38 AICc = 1395.98 BIC = 1404.43
# Training set error measures:
# ME RMSE MAE MPE MAPE MASE ACF1
# Training set 328.301 3615.374 2171.002 -2.481166 15.97302 0.4905797 -0.02521172