Chuỗi thời gian - Làm mịn theo cấp số nhân
Trong chương này, chúng ta sẽ nói về các kỹ thuật liên quan đến việc làm mịn chuỗi thời gian theo cấp số nhân.
Làm trơn theo cấp số nhân đơn giản
Làm mịn theo cấp số nhân là một kỹ thuật để làm trơn chuỗi thời gian đơn biến bằng cách gán trọng số giảm dần theo cấp số nhân cho dữ liệu trong một khoảng thời gian.
Về mặt toán học, giá trị của biến tại thời điểm 't + 1' giá trị đã cho tại thời điểm t, y_ (t + 1 | t) được định nghĩa là -
$$y_{t+1|t}\:=\:\alpha y_{t}\:+\:\alpha\lgroup1 -\alpha\rgroup y_{t-1}\:+\alpha\lgroup1-\alpha\rgroup^{2}\:y_{t-2}\:+\:...+y_{1}$$
Ở đâu,$0\leq\alpha \leq1$ là thông số làm mịn và
$y_{1},....,y_{t}$ là các giá trị trước đó của lưu lượng mạng tại các thời điểm 1, 2, 3,…, t.
Đây là một phương pháp đơn giản để lập mô hình chuỗi thời gian không có xu hướng hoặc tính thời vụ rõ ràng. Nhưng làm mịn theo cấp số nhân cũng có thể được sử dụng cho chuỗi thời gian với xu hướng và tính thời vụ.
Làm mịn ba hàm mũ
Làm mịn theo cấp số nhân ba lần (TES) hoặc phương pháp Holt's Winter, áp dụng làm mịn cấp số nhân ba lần - làm mịn cấp độ $l_{t}$, làm mịn xu hướng $b_{t}$và làm mịn theo mùa $S_{t}$, với $\alpha$, $\beta^{*}$ và $\gamma$ làm thông số làm mịn với 'm' là tần suất của tính theo mùa, tức là số mùa trong năm.
Theo bản chất của thành phần theo mùa, TES có hai loại:
Holt-Winter's Additive Method - Khi tính thời vụ có tính chất phụ gia.
Holt-Winter’s Multiplicative Method - Khi tính thời vụ có tính chất nhân đôi.
Đối với chuỗi thời gian không theo mùa, chúng tôi chỉ có làm mịn xu hướng và làm mịn mức, được gọi là Phương pháp xu hướng tuyến tính của Holt.
Hãy thử áp dụng làm mịn cấp số nhân ba trên dữ liệu của chúng tôi.
Trong [316]:
from statsmodels.tsa.holtwinters import ExponentialSmoothing
model = ExponentialSmoothing(train.values, trend= )
model_fit = model.fit()
Trong [322]:
predictions_ = model_fit.predict(len(test))
Trong [325]:
plt.plot(test.values)
plt.plot(predictions_[1:1871])
Hết [325]:
[<matplotlib.lines.Line2D at 0x1eab00f1cf8>]
Ở đây, chúng tôi đã đào tạo mô hình một lần với tập huấn luyện và sau đó chúng tôi tiếp tục đưa ra các dự đoán. Một cách tiếp cận thực tế hơn là đào tạo lại mô hình sau một hoặc nhiều bước thời gian. Khi chúng tôi nhận được dự đoán cho thời gian 't + 1' từ dữ liệu đào tạo 'đến thời điểm' t ', dự đoán tiếp theo cho thời gian' t + 2 'có thể được thực hiện bằng cách sử dụng dữ liệu đào tạo' đến thời gian 't + 1' như thực tế giá trị tại 't + 1' sẽ được biết sau đó. Phương pháp đưa ra dự đoán cho một hoặc nhiều bước trong tương lai và sau đó đào tạo lại mô hình này được gọi là dự báo luân phiên hoặc xác thực bước tiếp.