Phân tích và dự báo chuỗi thời gian

Mục lục:

Phân tích và dự báo chuỗi thời gian
Phân tích và dự báo chuỗi thời gian
Anonim

Trong nhiều năm, mọi người đã dự đoán điều kiện thời tiết, các sự kiện kinh tế và chính trị và kết quả thể thao, gần đây danh sách mở rộng này đã được bổ sung bằng tiền điện tử. Để dự đoán các sự kiện đa năng, có nhiều cách để phát triển dự báo. Ví dụ: trực giác, ý kiến chuyên gia, sử dụng kết quả trong quá khứ để so sánh với thống kê truyền thống và dự báo chuỗi thời gian chỉ là một trong số đó, trong khi loại dự báo hiện đại và chính xác nhất với nhiều ứng dụng.

Phương pháp chuỗi thời gian

Phương pháp chuỗi thời gian
Phương pháp chuỗi thời gian

Phương pháp chuỗi thời gian (TS) là một tập dữ liệu thu thập thông tin trong một khoảng thời gian. Có các phương pháp đặc biệt để giải nén loại này:

  • tuyến tính và phi tuyến tính;
  • tham số và phi tham số;
  • một chiều và đa chiều.

Thời gian dự báosê-ri mang trong mình một bộ khả năng độc đáo để đáp ứng những thách thức ngày nay. Mô hình hóa dựa vào việc học để thiết lập động lực thúc đẩy sự thay đổi dữ liệu. Quá trình này xuất phát từ các xu hướng dài hạn, ảnh hưởng theo mùa hoặc biến động bất thường là đặc điểm của TS và không thấy trong các loại phân tích khác.

Học máy là một nhánh của khoa học máy tính, nơi các thuật toán được biên dịch từ dữ liệu và bao gồm mạng nơ-ron nhân tạo, học sâu, quy tắc kết hợp, cây quyết định, học tăng cường và mạng Bayes. Một loạt các thuật toán cung cấp các tùy chọn để giải quyết vấn đề và mỗi thuật toán có những yêu cầu và sự cân bằng riêng về đầu vào dữ liệu, tốc độ và độ chính xác của kết quả. Những điều này, cùng với độ chính xác của các dự đoán cuối cùng, sẽ có trọng số khi người dùng quyết định thuật toán nào sẽ hoạt động tốt nhất cho tình huống đang nghiên cứu.

Dự báo chuỗi thời gian vay mượn từ lĩnh vực thống kê, nhưng đưa ra các cách tiếp cận mới để mô hình hóa vấn đề. Vấn đề chính của máy học và chuỗi thời gian là giống nhau - dự đoán kết quả mới dựa trên dữ liệu đã biết trước đó.

Mục tiêu của mô hình dự đoán

Mục đích của mô hình dự đoán
Mục đích của mô hình dự đoán

TS là tập hợp các điểm dữ liệu được thu thập đều đặn. Chúng được phân tích để xác định xu hướng dài hạn, để dự đoán tương lai hoặc để thực hiện một số loại phân tích khác. Có 2 điều làm cho TS khác với một bài toán hồi quy thông thường:

  1. Chúng phụ thuộc vào thời gian. Cho nênTrong trường hợp này, giả định cơ bản của mô hình hồi quy tuyến tính mà các quan sát là độc lập.
  2. Cùng với xu hướng tăng hoặc giảm, hầu hết TS có một số hình thức mang tính thời vụ, tức là những thay đổi cụ thể cho một khoảng thời gian nhất định.

Mục tiêu của mô hình dự báo chuỗi thời gian là đưa ra dự báo chính xác theo yêu cầu. Chuỗi thời gian có thời gian (t) là biến độc lập và biến phụ thuộc mục tiêu. Trong hầu hết các trường hợp, dự báo là một kết quả cụ thể, ví dụ, giá bán một ngôi nhà, kết quả thi đấu thể thao, kết quả giao dịch trên thị trường chứng khoán. Dự đoán đại diện cho giá trị trung bình và giá trị trung bình và bao gồm khoảng tin cậy thể hiện mức độ tin cậy trong khoảng 80-95%. Khi chúng được ghi lại đều đặn, các quá trình được gọi là chuỗi thời gian và được thể hiện theo hai cách:

  • một chiều với chỉ số thời gian tạo ra một trật tự ngầm định;
  • một tập hợp có hai thứ nguyên: thời gian với một biến độc lập và một biến phụ thuộc khác.

Tạo các tính năng là một trong những công việc quan trọng và tốn nhiều thời gian nhất trong học máy ứng dụng. Tuy nhiên, dự báo chuỗi thời gian không tạo ra các tính năng, ít nhất là không theo nghĩa truyền thống. Điều này đặc biệt đúng khi bạn muốn dự đoán kết quả trước vài bước chứ không chỉ giá trị tiếp theo.

Điều này không có nghĩa là các tính năng bị tắt hoàn toàn. Chỉ nên sử dụng chúng một cách thận trọng vì những lý do sau:

  1. Không rõ tương lai thựccác giá trị sẽ dành cho các tính năng này.
  2. Nếu các đối tượng có thể dự đoán được và có một số mẫu, bạn có thể xây dựng mô hình dự đoán cho từng đối tượng.

Tuy nhiên, hãy lưu ý rằng việc sử dụng các giá trị dự đoán làm tính năng sẽ truyền lỗi vào biến mục tiêu và dẫn đến lỗi hoặc dự đoán sai lệch.

Thành phần chuỗi thời gian

Các thành phần của chuỗi thời gian
Các thành phần của chuỗi thời gian

Xu hướng tồn tại khi chuỗi tăng, giảm hoặc duy trì ở mức không đổi theo thời gian, vì vậy nó được coi là một hàm. Tính thời vụ đề cập đến thuộc tính của chuỗi thời gian hiển thị các mẫu tuần hoàn lặp lại với tần suất không đổi (m), ví dụ: m=12 có nghĩa là mẫu lặp lại 12 tháng một lần.

Các biến giả tương tự như thời vụ có thể được thêm vào dưới dạng một hàm nhị phân. Ví dụ, bạn có thể tính đến các ngày lễ, sự kiện đặc biệt, chiến dịch tiếp thị, bất kể giá trị đó có phải là ngoại tệ hay không. Tuy nhiên, bạn cần nhớ rằng các biến này phải có một số mẫu nhất định. Tuy nhiên, số ngày có thể dễ dàng được tính toán ngay cả cho các khoảng thời gian trong tương lai và ảnh hưởng đến dự báo chuỗi thời gian, đặc biệt là trong lĩnh vực tài chính.

Chu kỳ là các mùa không diễn ra theo một tỷ lệ cố định. Ví dụ, các thuộc tính sinh sản hàng năm của linh miêu Canada phản ánh các mô hình theo mùa và theo chu kỳ. Chúng không lặp lại đều đặn và có thể xảy ra ngay cả khi tần suất là 1 (m=1).

Giá trị bị trễ -các giá trị trễ của một biến có thể được đưa vào làm yếu tố dự đoán. Một số mô hình, chẳng hạn như ARIMA, Vector tự động khôi phục (VAR) hoặc Mạng thần kinh tự động hồi phục (NNAR), hoạt động theo cách này.

Các thành phần của biến quan tâm rất quan trọng đối với phân tích và dự báo chuỗi thời gian, để hiểu hành vi, các mẫu của chúng và có thể chọn mô hình thích hợp.

Thuộc tính tập dữ liệu

Thuộc tính tập dữ liệu
Thuộc tính tập dữ liệu

Bạn có thể quen với việc nhập hàng nghìn, hàng triệu và hàng tỷ điểm dữ liệu vào các mô hình học máy, nhưng điều này không bắt buộc đối với chuỗi thời gian. Trên thực tế, có thể làm việc với TS vừa và nhỏ, tùy thuộc vào tần suất và loại biến, và đây không phải là nhược điểm của phương pháp. Hơn nữa, thực sự có một số ưu điểm của cách tiếp cận này:

  1. Tập hợp thông tin như vậy sẽ tương ứng với khả năng của máy tính gia đình.
  2. Trong một số trường hợp, hãy thực hiện phân tích và dự báo chuỗi thời gian bằng cách sử dụng toàn bộ tập dữ liệu, không chỉ một mẫu.
  3. Độ dàiTS hữu ích để tạo đồ thị có thể được phân tích. Đây là một điểm rất quan trọng vì lập trình viên dựa vào đồ họa trong giai đoạn phân tích. Điều này không có nghĩa là chúng không hoạt động với chuỗi thời gian lớn, nhưng ban đầu chúng có thể xử lý TS nhỏ hơn.
  4. Bất kỳ tập dữ liệu nào có chứa trường liên quan đến thời gian đều có thể được hưởng lợi từ phân tích và dự báo chuỗi thời gian. Tuy nhiên, nếu người lập trình có một bộ dữ liệu lớn hơn, thì DB (TSDB)có thể thích hợp hơn.

Một số tập hợp này đến từ các sự kiện được ghi lại bằng dấu thời gian, nhật ký hệ thống và dữ liệu tài chính. Vì TSDB hoạt động nguyên bản với chuỗi thời gian, đây là cơ hội tuyệt vời để áp dụng kỹ thuật này cho các tập dữ liệu quy mô lớn.

Học máy

Học máy (ML) có thể làm tốt hơn các phương pháp dự báo chuỗi thời gian truyền thống. Có rất nhiều nghiên cứu so sánh phương pháp học máy với các phương pháp thống kê cổ điển hơn trên dữ liệu TS. Mạng nơ ron là một trong những công nghệ đã được nghiên cứu và áp dụng rộng rãi các phương pháp tiếp cận TS. Phương pháp học máy dẫn đầu bảng xếp hạng về thu thập dữ liệu dựa trên chuỗi thời gian. Các bộ này đã được chứng minh là có hiệu quả, vượt trội so với các bộ TS thuần túy so với M3 hoặc Kaggle.

MO có những vấn đề cụ thể của riêng nó. Phát triển các tính năng hoặc tạo các dự báo mới từ tập dữ liệu là một bước quan trọng đối với nó và có thể có tác động rất lớn đến hiệu suất và là cách cần thiết để giải quyết các vấn đề về xu hướng và tính thời vụ của dữ liệu TS. Ngoài ra, một số mô hình gặp vấn đề về mức độ phù hợp với dữ liệu và nếu không phù hợp, chúng có thể bỏ lỡ xu hướng chính.

Phương pháp tiếp cận chuỗi thời gian và máy học không nên tồn tại tách biệt với nhau. Chúng có thể được kết hợp với nhau để đưa ra những lợi ích của mỗi cách tiếp cận. Các phương pháp dự báo và phân tích chuỗi thời gian rất tốt trong việc phân tách dữ liệu thành dữ liệu theo xu hướng và theo mùa.các yếu tố. Sau đó, phân tích này có thể được sử dụng làm đầu vào cho một mô hình ML có thông tin về xu hướng và tính thời vụ trong thuật toán của nó, mang lại lợi ích tốt nhất cho cả hai thế giới.

Hiểu câu lệnh vấn đề

Ví dụ: hãy xem xét TS liên quan đến dự báo số lượng hành khách trên dịch vụ đường sắt tốc độ cao mới. Ví dụ: bạn có dữ liệu 2 năm (tháng 8 năm 2016 - tháng 9 năm 2018) và với dữ liệu này, bạn cần dự đoán số lượng hành khách trong 7 tháng tới, có dữ liệu 2 năm (2016-2018) ở cấp độ hàng giờ với số lượng hành khách đi du lịch và cần phải ước tính số lượng họ trong tương lai.

Tập hợp con của tập dữ liệu để dự báo với chuỗi thời gian:

  1. Tạo một tập tin đào tạo và thử nghiệm để mô phỏng.
  2. 14 tháng đầu tiên (tháng 8 năm 2016 - tháng 10 năm 2017) được sử dụng làm dữ liệu đào tạo và 2 tháng tiếp theo (tháng 11 năm 2017 - tháng 12 năm 2017) là dữ liệu kiểm tra.
  3. Tổng hợp tập dữ liệu hàng ngày.
Tổng hợp tập dữ liệu
Tổng hợp tập dữ liệu

Thực hiện trực quan hóa dữ liệu để xem nó thay đổi như thế nào trong một khoảng thời gian.

Trực quan hóa dữ liệu
Trực quan hóa dữ liệu

Phương pháp thi công Phương pháp tiếp cận ngây thơ

Thư viện được sử dụng trong trường hợp này để dự đoán TS là các mô hình thống kê. Nó phải được cài đặt trước khi có thể áp dụng bất kỳ phương pháp nào trong số này. Có lẽ các mô hình thống kê đã được cài đặt trong môi trường Python, nhưng nó không hỗ trợ các phương thứcdự đoán, vì vậy bạn sẽ cần sao chép nó từ kho lưu trữ và cài đặt nó từ nguồn.

Giải trình tự
Giải trình tự

Đối với ví dụ này, điều đó có nghĩa là giá di chuyển bằng đồng xu ổn định ngay từ đầu và trong suốt thời gian. Phương pháp này giả định rằng điểm mong đợi tiếp theo bằng với điểm quan sát cuối cùng và được gọi là Phương pháp tiếp cận ngây thơ.

Phương pháp ngây thơ
Phương pháp ngây thơ

Bây giờ hãy tính toán độ lệch chuẩn để kiểm tra độ chính xác của mô hình trên tập dữ liệu thử nghiệm. Từ giá trị RMSE và đồ thị trên, chúng ta có thể kết luận rằng Naive không phù hợp với các tùy chọn có độ biến động cao mà được sử dụng cho các tùy chọn ổn định.

Kiểu vừa đơn giản

Để chứng minh phương pháp này, một biểu đồ được vẽ, giả sử rằng trục Y biểu thị giá và trục X biểu thị thời gian (ngày).

Phong cách đơn giản vừa
Phong cách đơn giản vừa

Từ đó chúng ta có thể kết luận rằng giá tăng và giảm ngẫu nhiên với biên độ nhỏ, do đó giá trị trung bình không đổi. Trong trường hợp này, bạn có thể dự đoán giá của thời kỳ tiếp theo, tương tự như giá trung bình của tất cả những ngày qua.

Phương pháp dự báo với giá trị trung bình dự kiến của các điểm đã quan sát trước đó được gọi là phương pháp trung bình đơn giản.

Trong trường hợp này, các giá trị đã biết trước được lấy, giá trị trung bình được tính và lấy làm giá trị tiếp theo. Tất nhiên, điều này sẽ không chính xác, nhưng nó khá gần và có những tình huống mà phương pháp này hoạt động tốt nhất.

Phương tiện đơn giảnphương pháp
Phương tiện đơn giảnphương pháp

Dựa trên kết quả hiển thị trên biểu đồ, phương pháp này hoạt động tốt nhất khi giá trị trung bình trong mỗi khoảng thời gian không đổi. Mặc dù phương pháp ngây thơ tốt hơn phương pháp trung bình, nhưng không phải cho tất cả các bộ dữ liệu. Bạn nên thử từng mô hình từng bước và xem nó có cải thiện kết quả hay không.

Mô hình Trung bình Động

Mô hình trung bình động
Mô hình trung bình động

Dựa trên biểu đồ này, chúng ta có thể kết luận rằng giá đã tăng vài lần trong quá khứ với biên độ rộng, nhưng hiện tại đã ổn định. Để sử dụng phương pháp tính trung bình trước đó, bạn cần lấy giá trị trung bình của tất cả các dữ liệu trước đó. Giá của thời kỳ đầu sẽ ảnh hưởng mạnh đến dự báo của thời kỳ tiếp theo. Do đó, như một sự cải thiện so với mức trung bình đơn giản, chỉ lấy mức trung bình của giá trong một vài khoảng thời gian gần đây nhất.

Kỹ thuật dự báo này được gọi là kỹ thuật trung bình động, đôi khi được gọi là "cửa sổ di chuyển" kích thước "n". Sử dụng một mô hình đơn giản, giá trị tiếp theo trong TS được dự đoán để kiểm tra độ chính xác của phương pháp. Rõ ràng Naive làm tốt hơn cả Trung bình và Trung bình động đối với tập dữ liệu này.

Có một biến thể của dự báo bằng phương pháp làm trơn hàm mũ đơn giản. Trong phương pháp trung bình động, các quan sát "n" trong quá khứ có trọng số như nhau. Trong trường hợp này, bạn có thể gặp phải các tình huống mà mỗi 'n' trong quá khứ ảnh hưởng đến dự báo theo cách riêng của nó. Sự thay đổi này, có trọng số khác nhau đối với các quan sát trước đây, được gọi là phương phápđường trung bình động có trọng số.

Ngoại suy các mẫu

Một trong những đặc tính quan trọng nhất cần thiết để xem xét các thuật toán dự báo chuỗi thời gian là khả năng ngoại suy các mẫu bên ngoài miền dữ liệu huấn luyện. Nhiều thuật toán ML không có khả năng này vì chúng có xu hướng bị giới hạn trong một vùng được xác định bởi dữ liệu huấn luyện. Vì vậy, chúng không phù hợp với TS, mục đích là để dự đoán kết quả trong tương lai.

Một tính chất quan trọng khác của thuật toán TS là khả năng thu được khoảng tin cậy. Mặc dù đây là thuộc tính mặc định cho các mô hình TS, hầu hết các mô hình ML không có khả năng này vì chúng không phải tất cả đều dựa trên phân phối thống kê.

Đừng nghĩ rằng chỉ dùng những phương pháp thống kê đơn giản để dự đoán TS. Thực ra nó không hẳn là vậy. Có nhiều cách tiếp cận phức tạp có thể rất hữu ích trong những trường hợp đặc biệt. Phương sai thay đổi có điều kiện tự động hồi quy tổng quát (GARCH), Bayesian và VAR chỉ là một số trong số đó.

Ngoài ra còn có các mô hình mạng nơ-ron có thể được áp dụng cho chuỗi thời gian sử dụng các công cụ dự báo độ trễ và có thể xử lý các tính năng như tự động khôi phục mạng nơ-ron (NNAR). Thậm chí có những mô hình chuỗi thời gian được vay mượn từ quá trình học phức hợp, đặc biệt là trong họ mạng nơ-ron tuần hoàn, chẳng hạn như mạng LSTM và GRU.

Chỉ số Ước tính và Chẩn đoán Còn lại

Các chỉ số dự đoán phổ biến nhất làrms có nghĩa là, được nhiều người sử dụng khi giải các bài toán hồi quy:

  • MAPE vì nó độc lập với tỷ lệ và biểu thị tỷ lệ lỗi so với giá trị thực dưới dạng phần trăm;
  • MASE, cho biết dự đoán đang hoạt động tốt như thế nào so với dự đoán trung bình ngây thơ.

Sau khi một phương pháp dự báo đã được điều chỉnh, điều quan trọng là phải đánh giá xem nó có thể nắm bắt các mô hình tốt như thế nào. Mặc dù các số liệu đánh giá giúp xác định mức độ gần của các giá trị với giá trị thực tế, chúng không đánh giá liệu mô hình có phù hợp với TS hay không. Thức ăn thừa là một cách tốt để đánh giá điều này. Vì lập trình viên đang cố gắng áp dụng các mẫu TS nên anh ta có thể mong đợi các lỗi hoạt động như "tiếng ồn trắng" vì chúng đại diện cho thứ gì đó mà mô hình không thể nắm bắt được.

"Tiếng ồn trắng" phải có các thuộc tính sau:

  1. Các phần còn lại không tương quan (Acf=0)
  2. Phần còn lại tuân theo phân phối chuẩn với giá trị trung bình bằng 0 (không chệch) và phương sai không đổi.
  3. Nếu thiếu một trong hai thuộc tính, thì mô hình vẫn có khả năng cải tiến.
  4. Thuộc tính zero mean có thể dễ dàng kiểm tra bằng cách sử dụng T-test.
  5. Các thuộc tính của chuẩn tắc và phương sai không đổi được kiểm soát trực quan bằng cách sử dụng biểu đồ phần dư hoặc kiểm tra chuẩn đơn biến thích hợp.

Mô hình ARIMA

ARIMA - Mô hình Trung bình Động Tích hợp Tự động Phục hồi, là một trong những phương pháp phổ biến nhất được sử dụng trong dự báo TS, chủ yếu làthông qua tự tương quan dữ liệu để tạo ra các mô hình chất lượng cao.

Khi đánh giá các hệ số ARIMA, giả định chính là dữ liệu là cố định. Điều này có nghĩa là xu hướng và tính thời vụ không thể ảnh hưởng đến phương sai. Chất lượng của mô hình có thể được đánh giá bằng cách so sánh biểu đồ thời gian của các giá trị thực tế với các giá trị dự đoán. Nếu cả hai đường cong đều gần nhau, thì có thể giả định rằng mô hình phù hợp với trường hợp đã phân tích. Nó phải tiết lộ mọi xu hướng và tính thời vụ, nếu có.

Phân tích phần dư sau đó sẽ cho biết mô hình có phù hợp hay không: phần dư ngẫu nhiên có nghĩa là nó chính xác. Việc kết hợp ARIMA với các tham số (0, 1, 1) sẽ cho kết quả tương tự như làm mịn theo cấp số nhân và sử dụng các tham số (0, 2, 2) sẽ cho kết quả làm mịn theo cấp số nhân gấp đôi.

Thuật toán chuỗi thời gian trong SQL Server
Thuật toán chuỗi thời gian trong SQL Server

Bạn có thể truy cập cài đặt ARIMA trong Excel:

  1. Khởi động Excel.
  2. Tìm XL MINER trên thanh công cụ.
  3. Trên ruy-băng, chọn ARIMA từ menu thả xuống.

Tóm tắt về Khả năng Mô hình ARIMA:

  1. ARIMA - Đường Trung bình Động Tích hợp Tự động Phục hồi.
  2. Mô hình dự báo được sử dụng trong phân tích chuỗi thời gian.
  3. Cú pháp tham số ARIMA: ARIMA (p, d, q) trong đó p=số điều khoản tự động hồi tố, d=số lượng chênh lệch theo mùa và q=số lượng điều khoản trung bình động.

Thuật toán trong SQL Server

Thực hiện dự đoán chéo là một trong những điều quan trọngđặc điểm của chuỗi thời gian trong dự báo các nhiệm vụ tài chính. Nếu hai chuỗi liên quan được sử dụng, mô hình kết quả có thể được sử dụng để dự đoán kết quả của một chuỗi dựa trên hành vi của những chuỗi khác.

SQL Server 2008 có các tính năng chuỗi thời gian mới mạnh mẽ để tìm hiểu và sử dụng. Công cụ này có dữ liệu TS dễ dàng truy cập, giao diện dễ sử dụng để mô phỏng và tái tạo các chức năng thuật toán và cửa sổ giải thích có liên kết đến các truy vấn DMX phía máy chủ để bạn có thể hiểu những gì đang xảy ra bên trong.

Chuỗi thời gian thị trường là một lĩnh vực rộng lớn mà các mô hình và thuật toán học sâu có thể được áp dụng. Các ngân hàng, nhà môi giới và quỹ hiện đang thử nghiệm việc triển khai phân tích và dự báo cho các chỉ số, tỷ giá hối đoái, hợp đồng tương lai, giá tiền điện tử, cổ phiếu chính phủ và hơn thế nữa.

Trong dự báo theo chuỗi thời gian, mạng nơ-ron tìm ra các mẫu có thể dự đoán được bằng cách nghiên cứu cấu trúc và xu hướng của thị trường và đưa ra lời khuyên cho các nhà giao dịch. Các mạng này cũng có thể giúp phát hiện các điểm bất thường như đỉnh, giảm bất ngờ, thay đổi xu hướng và thay đổi mức. Nhiều mô hình trí tuệ nhân tạo được sử dụng để dự báo tài chính.

Đề xuất: