Làm thế nào để đưa ra dự báo cho một chuỗi thời gian?


9

Tôi không quen thuộc với việc phân tích dữ liệu chuỗi thời gian. Tuy nhiên, tôi có những gì tôi nghĩ là một nhiệm vụ dự đoán đơn giản để giải quyết.

Tôi có khoảng năm năm dữ liệu từ một quy trình tạo chung. Mỗi năm đại diện cho một chức năng tăng đơn điệu với một thành phần phi tuyến tính. Tôi đã tính cho mỗi tuần trong một chu kỳ 40 tuần cho mỗi năm. Quá trình bắt đầu, chức năng bắt đầu từ 0, tăng khá nhanh trong nửa đầu của chức năng, chậm hơn nửa sau trước khi lên cấp trong năm tuần qua. Quá trình này phù hợp giữa các năm với sự khác biệt nhỏ về tốc độ thay đổi và khối lượng giữa các phân khúc từ năm này sang năm khác.

y1={0,Nt1,Nt2,...Nt39,Nt40}

y5={0,Nt1,Nt2,...Nt39,Nt40}

Trong đó bằng số đếm tại thời điểm x.Ntx

Mục tiêu là lấy tại (hoặc tốt hơn đến , hoặc độ dốc đến điểm đó) và dự đoán tại . Ví dụ: nếu là 5000 thì giá trị mong đợi của cho năm đó là bao nhiêu. Vì vậy, câu hỏi là, làm thế nào bạn sẽ mô hình dữ liệu như vậy? Nó đủ dễ để tóm tắt và hình dung. Nhưng tôi muốn một mô hình để tạo điều kiện cho các dự đoán và kết hợp một biện pháp lỗi.t x t 0 t x N t 40 N t 10 N t 40Ntxt0txNt40Nt10Nt40


2
Bạn có chắc chắn muốn giới hạn bản thân quá nghiêm trọng? Nếu vấn đề này có bất kỳ ứng dụng thực tế nào, thì tại thời điểm bạn biết số đếm tại thời điểm x, bạn cũng biết tất cả các số đếm trước đó. Tại sao không sử dụng chúng để giúp dự đoán?
whuber

Thật. Bạn hoàn toàn đúng. Cảm ơn đã chỉ ra rằng.
Brett

Câu trả lời:


6

Có lẽ cách tiếp cận đơn giản nhất là, như Andy W đã đề xuất, sử dụng mô hình chuỗi thời gian đơn biến theo mùa. Nếu bạn sử dụng R, hãy thử auto.arima()hoặc ets()từ gói dự báo .

Hoặc sẽ hoạt động tốt, nhưng một phương pháp chuỗi thời gian chung không sử dụng tất cả các thông tin được cung cấp. Cụ thể, dường như bạn biết hình dạng của đường cong mỗi năm, vì vậy có thể tốt hơn khi sử dụng thông tin đó bằng cách mô hình hóa dữ liệu của từng năm cho phù hợp. Điều gì sau đây là một gợi ý cố gắng kết hợp thông tin này.

Nghe có vẻ như một loại đường cong sigmoidal sẽ làm điều đó. ví dụ: một logistic đã thay đổi: cho năm và tuần trong đó tjat

ft,j=rteat(jbt)1+eat(jbt)
tjat , r t là các tham số được ước tính. r t là cực đại tiệm cận, a t kiểm soát tốc độ tăng và b t là trung điểm khi f t , j = r t / 2btrtrtatbtft,j=rt/2. (Một tham số khác sẽ là cần thiết để cho phép tính không đối xứng mà bạn mô tả theo đó tốc độ tăng lên theo thời gian nhanh hơn so với sau b t . Cách đơn giản nhất để làm điều này là cho phép một t lấy các giá trị khác nhau trước và sau thời gian b t .)btbtatbt

a1,,anb1,,bnr1,,rnn=5jf^(6,j)a6b6r6

(40t)/36(t4)/36tương ứng. Điều đó rất đặc biệt, và tôi chắc chắn rằng nó có thể được thực hiện khách quan hơn bằng cách đặt nó trong bối cảnh của một mô hình ngẫu nhiên lớn hơn. Tuy nhiên, nó có thể sẽ hoạt động tốt cho mục đích của bạn.


4

Những gì bạn hỏi về cơ bản là những gì mô hình ARIMA của Box Jenkins làm (chu kỳ hàng năm của bạn sẽ được gọi là các thành phần theo mùa). Bên cạnh việc tự tìm tài liệu, tôi sẽ đề nghị

Phân tích chuỗi thời gian áp dụng cho khoa học xã hội 1980 của R McCleary; RA Hay; Meidinger EE; D McDowall

Mặc dù tôi có thể nghĩ ra những lý do hợp lý cho lý do tại sao bạn muốn dự báo thêm về tương lai (và do đó đánh giá lỗi khi làm như vậy) nhưng nó thường rất khó trong thực tế. Nếu bạn có các thành phần theo mùa rất mạnh thì sẽ khả thi hơn. Nếu không, ước tính của bạn có thể sẽ đạt đến trạng thái cân bằng trong khoảng thời gian tương lai.

Nếu bạn có kế hoạch sử dụng R để phù hợp với mô hình của mình, có lẽ bạn nên xem trang web của Rob Hyndman (Hy vọng anh ấy sẽ cho bạn lời khuyên tốt hơn tôi!)


-2

bạn có 5 năm dữ liệu và 40 quan sát mỗi năm. Tại sao bạn không gửi cho họ trên web và cho phép chúng tôi thực sự trả lời này tại ground zero chứ không phải là triết lý tại 500 dặm cao. Tôi mong đợi những con số. CHÚNG TÔI đã thấy dữ liệu như thế này, ví dụ như số lượng khách hàng giao dịch trong tuần chia sẻ thời gian của họ TRÊN hàng tuần. Chuỗi mỗi năm bắt đầu từ 0 và tích lũy đến một giá trị giới hạn.


1
-1 Điều này nghe giống như một quảng cáo tự hơn là một câu trả lời hữu ích.
whuber

@whuber: Không cố ý. Chỉ là một phản ánh về một "vấn đề dính" tương tự mà tôi gặp phải.
IrishStat

Điều đó sẽ làm cho một nhận xét thú vị, sau đó. Nhận xét là cách tốt để đưa một số kinh nghiệm quý giá này mà chúng tôi rất vui mừng khi bạn chia sẻ với chúng tôi. Các câu trả lời nên được dành riêng cho các câu trả lời thực tế cho câu hỏi: chúng sẽ được bình chọn, lưu trữ, có thể tìm kiếm, v.v., và do đó cần phải liên quan trực tiếp hơn, có giá trị vĩnh viễn và có thể chịu được những lời chỉ trích tốt hơn. (Tất nhiên đây là một sự lý tưởng hóa, nhưng đó là những gì chúng tôi phấn đấu. :-)
whuber

@whuber: Bạn dạy! Tôi học ! Tôi sẽ bảo lưu ý kiến ​​cho "khu vực bình luận". Để nhắc lại, hoàn toàn không có ý định quảng bá bất cứ điều gì hoặc bất kỳ phần mềm / tư vấn cụ thể nào chỉ là sự sẵn lòng có thiện chí để chia sẻ kinh nghiệm cho những người khác trong làng. Tôi khá chắc chắn rằng OP nghĩ rằng ý kiến ​​của tôi hữu ích. Bạn nói gì Brett?
IrishStat
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.