Có cần thiết phải tách và giải mã dữ liệu chuỗi thời gian khi sử dụng phương pháp học máy không?


9

Ví dụ:

Tôi muốn dự báo các giá trị trong tương lai của chuỗi thời gian dựa trên các giá trị trước đó của nhiều chuỗi thời gian 'bằng cách sử dụng ANN và / hoặc SVM. Các đầu vào sẽ bị trễ các giá trị từ mỗi chuỗi thời gian và các đầu ra sẽ là các dự báo trước một bước (dự báo với các chân trời tiếp theo sẽ được thực hiện bằng cách "đưa" các dự đoán về phía trước bằng các dự đoán trước đó).

Bây giờ, không phải SVM và ANN có thể tìm hiểu xu hướng và chu kỳ? Họ sẽ không thể học được những điều như, "với tất cả những thứ khác bằng với sản lượng của loạt bài này sẽ gấp đôi sản lượng trước đó?" Hoặc, nếu tôi cung cấp một biến phân loại cho tháng, "kể từ tháng 1, hãy chia dự đoán tôi sẽ thực hiện cho 2?"

Sẽ cố gắng giải mã và làm mất kết quả dữ liệu trong việc áp đặt sai lệch nhiều hơn mức cần thiết?


1
Từ quan điểm của học máy và dự đoán, hãy thử nhiều cách và xem cái gì hoạt động tốt nhất - tức là mang lại dự đoán tốt nhất.
B_Miner

Câu trả lời:


6

Với các thuật toán học máy, thường có lợi khi sử dụng tính năng chia tỷ lệ hoặc chuẩn hóa để giúp thuật toán hội tụ nhanh chóng trong quá trình đào tạo và để tránh một tập hợp các tính năng thống trị một tính năng khác. Lấy ví dụ, vấn đề dự đoán giá cổ phiếu. Nếu bạn bao gồm các cổ phiếu có giá cao như Apple hoặc Microsoft cùng với một số cổ phiếu penny, các tính năng có giá trị cao mà bạn nhất thiết phải trích xuất từ ​​Apple và giá của Microsoft sẽ áp đảo các cổ phiếu mà bạn trích xuất từ ​​các cổ phiếu penny và bạn sẽ không được đào tạo về apple to apple cơ sở (không có ý định chơi chữ!), và mô hình được đào tạo kết quả có thể không khái quát lắm.

Tuy nhiên, imho "cố gắng giải mã và khử dữ liệu" sẽ là một việc rất nên làm. Trích xuất các thành phần tuần hoàn và xu hướng khác nhau và chuẩn hóa chúng bằng cách trừ đi các phương tiện tương ứng của chúng và chia cho độ lệch chuẩn của chúng sẽ đặt tất cả dữ liệu cho tất cả các chuỗi thời gian vào cùng một phạm vi gần đúng, và sau đó bạn sẽ được đào tạo về việc thích dữ liệu, khi nào thay đổi kích thước bằng cách đảo ngược quá trình chuẩn hóa, có khả năng khái quát hóa tốt hơn nhiều cho mục đích dự đoán.

Hơn nữa, đối với bất kỳ chuỗi thời gian nào, đó có thể là trường hợp xu hướng tràn vào thành phần tuần hoàn, do đó bạn có thể kết thúc đào tạo về dữ liệu chỉ theo xu hướng mà gần như chắc chắn sẽ không hoạt động tốt trên chuỗi thời gian theo chu kỳ và ngược lại. Bằng cách tách hai thành phần và đào tạo trên mỗi thành phần với các SVM hoặc NN riêng biệt và sau đó kết hợp lại hai dự đoán, bạn có thể kết thúc bằng một thuật toán chính xác và dễ khái quát hơn.


Vâng, quên rằng hầu hết (tất cả?) Phương pháp tiêu chuẩn hóa và chính quy hóa giả định phân phối cố định. Tách các thành phần ra và xây dựng các mô hình phụ gia cũng là một mẹo hay.
ektrules

1
Mặc dù, bây giờ tôi đang tự hỏi về việc mất thông tin đi kèm với các biến đổi đứng yên. Điều gì về khi các giá trị không phân biệt thực tế quan trọng? Chẳng hạn, nếu bạn có một chuỗi thời gian nợ và GDP, thì khác nhau cả hai, phương pháp ML chỉ có thể tìm hiểu tác động của những thay đổi và hiệu ứng có thể khác nếu nợ là 10% GDP so với 200%. (tất nhiên, bạn có thể thêm tính năng GDP / Nợ).
ektrules

2

Bạn dự đoán được bao xa so với thời gian mà xu hướng hoặc chu kỳ hoạt động? Zhang, Qi 2005 - 'Dự báo mạng lưới thần kinh cho chuỗi thời gian theo mùa và theo xu hướng' thấy giảm thời gian và giảm xu hướng (DSDT) có lợi, nhưng thời gian dự đoán của chúng tương tự như thời gian theo xu hướng / thời vụ. Ngược lại, tôi đã làm việc trên dữ liệu khi tôi đưa ra dự đoán thời gian ngắn (ví dụ 1 ngày) và xu hướng / thời vụ chỉ hành động trong khoảng thời gian dài hơn nhiều. DSDT vẫn cải thiện độ chính xác dự đoán của tôi ở một mức độ nào đó, nhưng ML có thể tự mình đối phó khá tốt mà không cần DSDT vì xu hướng / thời vụ thực sự không liên quan trong vài điểm dữ liệu gần đây.


1

Tôi khá chắc chắn rằng bạn đang sử dụng các công cụ sai ở đây.

Các phương thức ML được tạo để nội suy (như dự đoán chuỗi thời gian A từ chuỗi thời gian B và C); để ngoại suy, chúng ta có chuỗi Markov và bạn bè.

Vấn đề với cách tiếp cận của bạn là rất dễ dàng để phù hợp với mô hình trong điều kiện này và tệ hơn nữa, thật khó để phát hiện ra điều này (xác thực chéo thông thường sẽ thất bại, vì vậy rất khó để điều chỉnh các tham số theo cách phù hợp, v.v. .).
Thêm thời gian rõ ràng cho người dự đoán cũng là một ý tưởng tồi - Tôi đã thấy các mô hình chỉ được trang bị đúng thời gian và quyết định với độ chính xác 90% về xác thực chéo và đoán ngẫu nhiên trong các bài kiểm tra dữ liệu sau đào tạo. Nếu bạn cần thời gian, tốt hơn là bao gồm nó như một chuỗi các mô tả chu kỳ như ngày trong tuần hoặc giây sau nửa đêm, rõ ràng không bao giờ vượt quá hoặc thậm chí đi gần đến độ dài của chuỗi đào tạo của bạn.


Bạn có thể đúng về việc sử dụng các công cụ sai, IDK. Tôi thực sự không tìm thấy bất kỳ tài liệu trực tuyến nào sử dụng quy trình tương tự như tôi nghĩ. Tôi thực sự đang cố gắng dự đoán một chuỗi thời gian từ nhiều chuỗi thời gian khác (trong cùng khoảng thời gian), nhưng tôi cũng muốn dự đoán về tương lai (dự đoán giá trị của nó là gì khi nó có sẵn tại thời gian dự đoán?). Để thực hiện các dự đoán, tôi thực sự sẽ phải dự đoán mọi chuỗi thời gian. Tôi đoán những gì tôi đang cố gắng làm là một cái gì đó giống như Vector AutoreTHERion, nhưng với cách tiếp cận ML. Cách tiếp cận này sẽ không hoạt động tốt?
ektrules

Tại sao thời gian như một biến dự báo (để dự báo xu hướng chứ không phải theo chu kỳ) hoạt động kém như vậy?
tối đa

1
Như tôi đã viết: 1 / ML rất tệ trong phép ngoại suy, 2 / lần xác định duy nhất từng đối tượng, cho phép quá mức nghiêm trọng và ức chế theo đuổi các tương tác thực tế.

1
@mbq Với (1), tôi nghĩ chỉ có các phương thức cục bộ là khủng khiếp khi ngoại suy, trong khi các phương thức toàn cầu có thể ổn. Nhưng tôi có thể thấy chuỗi thời gian / MC có thể phù hợp hơn như thế nào. Đối với (2) mặc dù, tôi không đồng ý. Sử dụng một định danh duy nhất sẽ dẫn đến một điểm số đào tạo tốt nhưng đến một số điểm CV khủng khiếp . Vì vậy, bạn sẽ có thể phát hiện ra các mô hình xấu. Vấn đề tôi nghĩ là bạn vẫn có thể quá phù hợp với CV truyền thống vì bạn sử dụng thời gian trong tương lai. Có lẽ một bài kiểm tra tàu được phân chia theo thời gian, với bài kiểm tra ở cuối, sẽ có ý nghĩa hơn.
tối đa

@max Vâng, tôi đã suy nghĩ về CV phân chia khoảnh khắc ngẫu nhiên; sử dụng khối thời gian liên tục sẽ giúp.
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.