Dự đoán chuỗi thời gian bằng ARIMA vs LSTM


64

Vấn đề mà tôi đang giải quyết là dự đoán các giá trị chuỗi thời gian. Tôi đang xem xét một chuỗi thời gian một lần và dựa trên 15% dữ liệu đầu vào, tôi muốn dự đoán các giá trị trong tương lai của nó. Cho đến nay tôi đã bắt gặp hai mô hình:

  • LSTM (bộ nhớ ngắn hạn; một lớp các mạng thần kinh tái phát)
  • ARIMA

Tôi đã thử cả hai và đọc một số bài viết về chúng. Bây giờ tôi đang cố gắng để có được một cảm giác tốt hơn về cách so sánh hai. Những gì tôi đã tìm thấy cho đến nay:

  1. LSTM hoạt động tốt hơn nếu chúng ta xử lý lượng dữ liệu khổng lồ và có đủ dữ liệu đào tạo, trong khi ARIMA tốt hơn cho các bộ dữ liệu nhỏ hơn (điều này có đúng không?)
  2. ARIMA yêu cầu một loạt các tham số (p,q,d)phải được tính toán dựa trên dữ liệu, trong khi LSTM không yêu cầu thiết lập các tham số đó. Tuy nhiên, có một số siêu âm chúng ta cần điều chỉnh cho LSTM.
  3. EDIT: Một điểm khác biệt lớn giữa hai điều mà tôi nhận thấy khi đọc một bài viết tuyệt vời ở đây , đó là ARIMA chỉ có thể hoạt động tốt trên chuỗi thời gian đứng yên (nơi không có tính thời vụ, xu hướng và v.v.) và bạn cần quan tâm đến điều đó nếu muốn sử dụng ARIMA

Ngoài các thuộc tính được đề cập ở trên, tôi không thể tìm thấy bất kỳ điểm hoặc sự kiện nào khác có thể giúp tôi hướng tới việc chọn mô hình tốt nhất. Tôi sẽ thực sự biết ơn nếu ai đó có thể giúp tôi tìm các bài báo, giấy tờ hoặc các thứ khác (cho đến nay không có may mắn, chỉ có một số ý kiến ​​chung ở đây và ở đó và không có gì dựa trên các thí nghiệm.)

Tôi phải đề cập rằng ban đầu tôi đang xử lý dữ liệu phát trực tuyến, tuy nhiên hiện tại tôi đang sử dụng bộ dữ liệu NAB bao gồm 50 bộ dữ liệu với kích thước tối đa 20k điểm dữ liệu.



Bạn có phiền xin vui lòng chia sẻ mã của LSTM? VÀ CẢM ƠN.
GIÚP

Câu trả lời:


25

Tuyên bố 1 là chính xác, tuyên bố 2 là chính xác, nhưng yêu cầu xây dựng và tuyên bố 3 không chính xác cho ARIMA theo mùa:

Những điều sau đây có thể chỉ cho bạn đi đúng hướng nhưng hy vọng bạn sẽ nhận được thêm một vài câu trả lời với chiều sâu hơn trong lĩnh vực LSTM.

Bạn đề cập rằng bạn đã thử cả hai thuật toán và bạn chỉ đang cố gắng tìm ra cái nào tốt hơn, điều đó khiến tôi nghĩ rằng bạn có thể gặp rắc rối hơn với quy trình khoa học dữ liệu và xác thực chéo so với các chi tiết cụ thể của các mô hình.

Chuỗi thời gian nói chung:

Chuỗi thời gian, nói chung, rất khó để dự báo. Nếu họ dễ dự báo thì tất cả các nhà khoa học dữ liệu sẽ giàu có, đã dự báo chính xác giá trị của tất cả các cổ phiếu. Thực tế là các quỹ phòng hộ, trung bình, không vượt trội so với thị trường và dự báo chuỗi thời gian đó thường rất kém và chỉ áp dụng cho thời lượng rất ngắn. Vấn đề chính là có rất nhiều tiếng ồn, có nhiều ảnh hưởng tiềm ẩn, mô hình quá đơn giản, những người có ảnh hưởng không hành xử như chúng ta nghĩ, sự tương tác giữa tuyến tính và phi tuyến là tinh tế và khó hiểu, ... ad infinitum.

ARIMA

Bạn đánh giá không chính xác rằng ARIMA yêu cầu chuỗi thời gian đứng yên để dự báo. ARIMA không theo mùa có ba giá trị đầu vào để giúp kiểm soát việc làm mịn, ổn định và dự báo ARIMA (p, d, q), trong đó:

  • p là số lượng các điều khoản tự động,
  • d là số lượng khác biệt không hợp lý cần thiết cho văn phòng phẩm, và
  • q là số lỗi dự báo bị trễ trong phương trình dự đoán.

Ngược lại, ARIMA theo mùa có sáu giá trị đầu vào ARIMA (p, d, q, P, D, Q), trong đó:

  • P là số thuật ngữ tự động theo mùa,
  • D là số lượng chênh lệch theo mùa và
  • Q là số lượng điều khoản trung bình di chuyển theo mùa.

Theo các tuyên bố đủ điều kiện ở trên, tôi khuyên bạn nên chơi với ARIMA theo mùa để cảm nhận về những rắc rối liên quan đến việc làm mịn, khử gia vị, khử xu hướng, khử nhiễu và dự báo.

LSTM

Tôi không biết đủ về LSTM để thêm nhiều ở đây. Tôi sẽ thêm rằng các cờ đỏ có xu hướng được nâng lên khi ai đó bắt đầu tại bài tập khoa học dữ liệu với việc học sâu. Tôi khuyên bạn nên học nhiều nhất có thể bằng ARIMA và sau đó áp dụng một số kiến ​​thức chuyên môn về ARIMA của bạn để giúp bạn học LSTM. Mạng lưới thần kinh có thể là một công cụ rất mạnh, nhưng chúng:

  • Có thể mất nhiều thời gian để chạy,
  • thường yêu cầu nhiều dữ liệu để đào tạo hơn các mô hình khác và
  • có rất nhiều thông số đầu vào để điều chỉnh.

Xác nhận chéo và so sánh các mô hình:

n

Hy vọng điều này sẽ giúp và may mắn!


Cảm ơn bạn đã phản hồi. Ghi chú của bạn về ARIMA rất hữu ích và tôi cố gắng ghi nhớ chúng. Trong trường hợp xác thực chéo và so sánh hai mô hình, đối với các bộ dữ liệu hiện tại, sử dụng nhiều tham số khác nhau, tôi có thể biết thuật toán nào hoạt động tốt hơn, v.v. Vấn đề là không phải bộ dữ liệu đó có thể đại diện cho dữ liệu thực (dữ liệu truyền phát) và đó là lý do tại sao tôi nghĩ rằng sẽ tốt hơn nếu hỏi những người khác trong lĩnh vực khoa học dữ liệu và học máy để chia sẻ suy nghĩ và kinh nghiệm của họ.
ahajib

Nhưng nếu bạn có dữ liệu phát trực tuyến thì bạn có thể biến dữ liệu này thành dữ liệu thử nghiệm bằng cách lưu luồng. Phần hay của chuỗi thời gian là bạn luôn có thể tạo một dữ liệu thử nghiệm được đặt trong bất kỳ tập dữ liệu nào. Bạn chỉ cần lưu một số dữ liệu và sau đó quay ngược thời gian.
AN6U5

Tôi biết đây là loại có tuổi nhưng tôi không đồng ý ở đây. Các tham số D, D là khác nhau như @ AN6U5 nói, nhưng lý do để thực hiện những khác biệt này ở nơi đầu tiên là để thực thi sự ổn định trong vấn đề. Trong thực tế, một cách giải thích của mô hình ARIMA chỉ là hồi quy tuyến tính với các thuật ngữ để thực thi sự ổn định trên chuỗi thời gian.
Ryan

6

Thêm vào phản hồi của @ AN6U5.

Từ góc độ lý thuyết thuần túy, bài báo này đã cho thấy RNN là các xấp xỉ phổ quát. Tôi chưa đọc bài báo chi tiết, vì vậy tôi không biết liệu bằng chứng có thể được áp dụng cho LSTM không, nhưng tôi nghi ngờ như vậy. Vấn đề lớn nhất với RNN nói chung (bao gồm LSTM) là chúng khó đào tạo do vấn đề thăm dò độ dốc và biến mất độ dốc. Giới hạn thực tế cho LSTM dường như là khoảng 200 ~ bước với độ dốc chuẩn và khởi tạo ngẫu nhiên. Và như đã đề cập, nói chung để bất kỳ mô hình học sâu nào hoạt động tốt, bạn cần rất nhiều dữ liệu và hàng đống điều chỉnh.

Mô hình ARIMA bị hạn chế hơn. Nếu hệ thống cơ bản của bạn quá phức tạp thì đơn giản là không thể có được sự phù hợp tốt. Nhưng mặt khác, nếu mô hình cơ bản của bạn đủ đơn giản, nó hiệu quả hơn nhiều so với phương pháp học sâu.


2

Mô hình ARIMA là mô hình tuyến tính và LSTM là phi tuyến. Một số mô hình chuỗi thời gian phi tuyến tham số khác mà các nhà thống kê đã nghiên cứu là Mô hình tự phát ngưỡng (TAR) và Mô hình tự động chuyển tiếp mượt mà (STAR). Gói R tsDyn thực hiện các mô hình này.

Tôi tự hỏi làm thế nào mô hình STAR làm so với LSTM.


2

Tôi đã đi đến kết luận giống như bạn và những người khác, dự báo truyền thống có lẽ vẫn có thể áp dụng nhất và có thể đáng tin cậy cho chuỗi thời gian của các giá trị số. Có một chút khó khăn khi học sâu trong thảo luận trong đó chuỗi thời gian cho các giá trị số được trộn lẫn vào học sâu, trong đó học sâu (hiện tại) áp dụng cho các thách thức hiện đại trong nhận dạng mẫu để phát hiện hình ảnh, âm thanh, văn bản sạch hoặc phát hiện dị thường. Tôi thường có kết quả tốt với VAR / VECM cho dữ liệu giao dịch hàng ngày, có thể được áp dụng cho trường hợp sử dụng xử lý tín hiệu của bạn.


1

Như một trường hợp cực đoan, tôi đã có cơ hội nghiên cứu về dự báo Forex (Tỷ giá hối đoái) và so sánh chuyên sâu về hiệu suất của LSTM, cửa sổ-MLP và ARIMA. Như nhiều bài viết nói, chuỗi thời gian Forex gần với chuỗi đi bộ ngẫu nhiên (nó hoàn toàn không cố định). Không có thuật toán nào trong số này có thể dự đoán tỷ lệ giao ngay vào ngày hôm sau. Ví dụ, nếu không có (hoặc ít) thay đổi, thì nó sẽ duy trì giá trị hiện tại và nó có vẻ phù hợp. Tuy nhiên, nếu có sự thay đổi đột ngột (đáng kể) về tỷ giá giao ngay vào ngày mai, thì điều đó luôn không thể dự đoán được. Vấn đề là không có gì để học từ dữ liệu đào tạo (giả sử lịch sử tỷ giá giao ngay 10 năm qua) liệu nó có đủ lớn hay không, bởi vì nó hoàn toàn ngẫu nhiên (có lẽ, do tình cảm của các đại lý trao đổi ...) .

Trên thực tế, LSTM chỉ với độ trễ '1' hoặc ARIMA với (1,0,0) sẽ hoạt động tốt nhất vì việc lưu trữ dữ liệu với độ trễ hơn 1 lần hoàn toàn không giúp ích gì. Đối với loại chuỗi thời gian này, tôi sẽ nói, về mặt hiệu suất theo dõi, 1) ARIMA, 2) LSTM, 3) MLP. Nhận xét cuối cùng ... MLP với các thông số kinh tế vĩ mô / vi mô (giả sử chênh lệch GDP, lãi suất trái phiếu, giá dầu thô, chỉ số đô la, v.v.) vì các tính năng bổ sung cũng không hoạt động.

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.