Tính toán các chỉ số thời vụ cho tính thời vụ phức tạp


10

Tôi muốn dự báo các mặt hàng bán lẻ (theo tuần) bằng cách sử dụng làm mịn theo cấp số nhân. Bây giờ tôi đang bị mắc kẹt trong cách tính toán, lưu trữ và áp dụng các chỉ số vừng.

Vấn đề là tất cả các ví dụ tôi đã tìm thấy đối phó với một loại thời vụ đơn giản. Trong trường hợp của tôi, tôi có các vấn đề sau: 1. Các mùa không xảy ra vào cùng một tuần mỗi năm: chúng có thể di chuyển được. Mardi-gras, cho mượn, phục sinh, và một vài người khác. 2. Có những mùa thay đổi tùy theo năm. Ví dụ, có một kỳ nghỉ lễ quốc gia. Tùy thuộc vào ngày nghỉ gần cuối tuần, khách hàng sẽ hoặc không rời khỏi thị trấn. Vì vậy, nó giống như có hai mùa: một nơi khách hàng rời khỏi thị trấn và một nơi họ không rời khỏi thị trấn. 3. Đôi khi hai (hoặc 3) mùa xảy ra cùng một lúc. Ví dụ: chúng tôi đã có mùa "Mardi-Gras" xảy ra cùng lúc với mùa Valentine.
4. Đôi khi các mùa thay đổi trong thời gian. Ví dụ: "Mùa Halloween" đã bắt đầu vào đầu năm nay. Giáng sinh cũng là một ví dụ khác, nơi dường như mọi năm chúng ta bắt đầu sớm hơn để mang các sản phẩm.

Dường như với tôi rằng tôi cần tìm cách thiết lập một số loại "hồ sơ theo mùa" mà sau đó, tùy thuộc vào kịch bản cụ thể được thêm vào bằng cách nào đó để có được chỉ số theo mùa chính xác. Điều đó có ý nghĩa?

Có ai biết nơi tôi có thể tìm thấy thông tin thực tế về cách làm điều này?

Cảm ơn, Edgard

Câu trả lời:


7

Đối với các loại tính thời vụ mà bạn mô tả, phương pháp biến giả có lẽ là tốt nhất. Tuy nhiên, điều này dễ xử lý trong khung ARIMA hơn khung làm mịn theo cấp số nhân. trong đó mỗi biến tương ứng với một trong các sự kiện ngày lễ hoặc lễ hội. Đây là cách hàm trong R sẽ khớp với các biến hồi quy (như một hồi quy với các lỗi ARIMA, chứ không phải như một mô hình ARIMAX).

yt=a+b1Dt,1++bmDt,m+NtNtARIMA
Dt,karima

Nếu bạn thực sự muốn gắn bó với khung làm mịn theo cấp số nhân, có một cuộc thảo luận về cách đưa các đồng biến vào cuốn sách năm 2008 của tôi về làm mịn theo cấp số nhân . Bạn cũng có thể xem bài báo gần đây của tôi về làm mịn theo cấp số nhân với tính thời vụ phức tạp mặc dù các loại biến chứng theo mùa mà chúng ta thảo luận có nhiều khó khăn hơn loại lễ hội di chuyển mà bạn mô tả.


Xin chào Kwak và Rob. Cảm ơn vì đã chú ý giùm thứ này. Tôi muốn sử dụng làm mịn theo cấp số nhân bởi vì đây là những gì tôi quen thuộc hơn. Tôi nghĩ rằng tôi cần học cách sử dụng khung ARIMA. Bạn có thể giới thiệu một cuốn sách hay giúp tôi tìm hiểu đủ về khung ARIMA để áp dụng cách tiếp cận biến giả như vậy không? Tôi có "Dự báo, chuỗi thời gian và hồi quy" của Bowerman và "Dự báo: Thực hành và quy trình quản lý nhu cầu" của Bowerman, mà tôi đã từng tìm hiểu về làm mịn theo cấp số nhân. Tôi không biết nếu những điều này đi đủ chi tiết cho những gì tôi cần. Cảm ơn!
elriba

Bowerman O'Connell và Koehler khá giỏi trong việc giới thiệu các mô hình ARIMA nhưng tôi không nghĩ nó bao gồm ARIMA với các đồng biến. Bạn có thể thử sách giáo khoa năm 1998 của tôi bao gồm mô hình và hồi quy ARIMA với các lỗi ARIMA ở cấp độ giới thiệu. Xem robjhyndman.com/forecasting để biết chi tiết.
Rob Hyndman

1

Một sửa chữa đơn giản sẽ bao gồm các sự kiện giả trong đặc tả của bạn:

(1)yt^=λ1yt1+...+λkytk+ϕ1Dt,1+ϕmDt,m

Trong đó là một chỉ số lấy giá trị nếu tuần có sự kiện (giả sử Mardi gras) và 0 nếu không, đối với tất cả các sự kiện mà bạn cho là quan trọng. 1 t m mDt,m1tmm

Phần đầu tiên của đặc tả về cơ bản là một bộ làm mịn theo cấp số nhân nhưng có trọng lượng thay đổi theo chức năng của độ trễ (và được ước tính bởi OLS).λ1yt1+...+λkytk

Điều này giả sử rằng bạn có ít nhất 20 quan sát cho mỗi sự kiện (tức là 20 'mardi gras'). Nếu đây không phải là trường hợp, bạn có thể cố gắng kết hợp một số sự kiện với nhau (giả sử mardi gras và ngày lao động).

R để phù hợp (1) là khá căng thẳng, giả sử dlsales là văn phòng phẩm và D là ma trận của các biến giả:

fit<-arima(dlsales,order=c(4,0,0),seasonal = list(order = c(1, 0, 0),period=52),xreg = D)

Bắt đầu từ đây, bạn có thể hỏi những câu hỏi cụ thể hơn về phần câu trả lời của tôi không quen thuộc với bạn (tôi không biết trình độ của bạn là gì trong thống kê).


2
Trên thực tế, hàm arima trong R sẽ không phù hợp với mô hình của bạn (1). arima () thực hiện hồi quy với các lỗi ARIMA và phương trình của bạn (1) là một mô hình ARMAX.
Rob Hyndman

Rob:> tôi đã chỉnh sửa phương trình một. Bạn có thể chỉ ra một nguồn trong đó sự khác biệt giữa armax và hồi quy với các lỗi arima được giải thích (hoặc thay vào đó cung cấp một lời giải thích trực quan). Ngoài ra, bạn có biết gói R thực hiện các mô hình ARMAX không? Cảm ơn trước.
user603

Một mô hình ARMAX đặt hàng đầu tiên với một hiệp phương sai là y_t = a + bx_t + cy_ {t-1} + e_t trong đó e_t là iid zero có nghĩa. Hồi quy tương ứng với lỗi ARIMA là y_t = a + bx_t + n_t trong đó n_t = phi * n_ {t-1} + z_t và z_t là iid zero có nghĩa.
Rob Hyndman

1
@kwak. Đầu tiên, n_t = phi n_ {t-1} + z_t là AR (1). Một quá trình trung bình di chuyển của đơn hàng 1 sẽ là n_t = theta z_ {t-1} + z_t. Thứ hai, hồi quy với các lỗi MA tương đương với mô hình MAX. Nhưng một khi bạn thêm các thuật ngữ AR trong quá trình lỗi, không có sự tương đương giữa hai lớp. Thứ ba, hàm arimax () trong TSA phù hợp với các mô hình hàm truyền, một trường hợp đặc biệt là hồi quy với các lỗi ARIMA. Nó không phù hợp với các mô hình ARIMAX. Tôi có thể viết một bài đăng trên blog về điều này vì thật khó để tìm thấy các lớp mô hình khác nhau được so sánh và thảo luận ở bất cứ đâu.
Rob Hyndman

2
Tôi đã cố gắng tóm tắt các mô hình khác nhau tại robjhyndman.com/researchtips/arimax
Rob Hyndman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.