Chuỗi thời gian là một chuỗi các giá trị được lập chỉ mục theo thứ tự thời gian. Với bản chất của chúng, chúng rất phổ biến trong nhiều ứng dụng trong thế giới thực. Với tính khả dụng cao của các cảm biến và sự phát triển của các thiết bị Internet vạn vật, lượng dữ liệu chuỗi thời gian và số lượng ứng dụng không ngừng tăng lên. Các lĩnh vực truyền thống sử dụng loại dữ liệu này bao gồm tài chính và kinh tế lượng, và những lĩnh vực này gần đây đã được tham gia bởi lưới điện thông minh, dự đoán động đất và dự báo thời tiết
Một phân tích cụ thể là phân loại chuỗi thời gian. đưa ra một chuỗi thời gian và một tập hợp các lớp, người ta muốn phân loại chuỗi thời gian này. Các vấn đề trong thế giới thực bao gồm phát hiện bệnh bằng cách sử dụng dữ liệu điện tâm đồ, phân loại thiết bị gia dụng để giảm lượng khí thải carbon và phân loại hình ảnh. Phân loại học máy tiêu chuẩn không phải lúc nào cũng phù hợp với chuỗi thời gian do có thể có mối tương quan cao giữa các điểm thời gian liên tiếp. Một ví dụ điển hình là thuật toán Naive Bayes, giả định sự độc lập có điều kiện giữa mỗi tính năng được cung cấp cho lớp. Vì lý do này, các thuật toán dành riêng cho phân loại chuỗi thời gian đã được phát triển
Khi ngôn ngữ lập trình Python ngày càng trở nên phổ biến trong các lĩnh vực máy học và khoa học dữ liệu, mục tiêu của gói pyts Python là làm cho việc phân loại chuỗi thời gian có thể truy cập dễ dàng bằng cách cung cấp các công cụ tiền xử lý và tiện ích cũng như triển khai một số thuật toán theo thời gian.
1. 2. công thức toán học
Chuỗi thời gian được định nghĩa là một chuỗi có thứ tự . Có hai loại chuỗi thời gian. chuỗi thời gian đơn biến và chuỗi thời gian đa biến. Chuỗi thời gian đơn biến có một tính năng duy nhất, đó là . Chuỗi thời gian đa biến có một số tính năng, đó là , trong đó là số lượng tính năng.
Lưu ý rằng thuật ngữ tính năng có ý nghĩa khác đối với chuỗi thời gian so với trong học máy tiêu chuẩn. nó đề cập đến các thành phần khác nhau của một chuỗi thời gian nhất định. Chẳng hạn, một cảm biến của thiết bị định vị GPS sẽ xuất ra một chuỗi thời gian đa biến với hai tính năng. một tính năng cho tọa độ vĩ độ và một tính năng cho tọa độ kinh độ
Hầu hết các tài liệu tập trung vào phân loại chuỗi thời gian đơn biến, do đó, hầu hết tài liệu này cũng tập trung vào chuỗi thời gian đơn biến. Tuy nhiên, chúng tôi cung cấp các công cụ cho chuỗi thời gian đa biến trong mô-đun
Một nhãn duy nhất được liên kết với một chuỗi thời gian. Mục tiêu là dự đoán nhãn này theo chuỗi thời gian.
1. 3. Thách đấu. độ dài của chuỗi thời gian
Một thách thức quan trọng với chuỗi thời gian là số điểm thời gian của chúng. Tập dữ liệu của chuỗi thời gian có độ dài bằng nhau bao gồm các chuỗi thời gian có cùng số điểm thời gian. Tập dữ liệu có chuỗi thời gian có độ dài khác nhau bao gồm các chuỗi thời gian có thể có số điểm thời gian khác nhau
Để đạt hiệu quả tính toán, hầu hết các thuật toán được triển khai trong pyts chỉ có thể xử lý các bộ dữ liệu có chuỗi thời gian có độ dài bằng nhau. Một ngoại lệ là chức năng tính điểm Độ cong thời gian động giữa hai chuỗi thời gian có thể có độ dài khác nhau. Chúng tôi sẽ cố gắng mở rộng hầu hết các triển khai cho các bộ dữ liệu có chuỗi thời gian có độ dài khác nhau trong khi vẫn duy trì hiệu quả tính toán trong tương lai gần
1. 4. ký hiệu
Trong pyts, chúng tôi sử dụng gói NumPy và cụ thể hơn là gói numpy. lớp ndarray để biểu diễn dữ liệu
1. 4. 1. Dữ liệu đầu vào
Đầu vào của tập dữ liệu chuỗi thời gian đơn biến được biểu diễn dưới dạng mảng hai chiều có hình dạng [n_samples, n_timestamps]
, trong đó trục đầu tiên biểu thị các mẫu và trục thứ hai biểu thị thời gian
Đầu vào của tập dữ liệu chuỗi thời gian đa biến được biểu diễn dưới dạng mảng ba chiều có hình dạng [n_samples, n_features, n_timestamps]
, trong đó trục đầu tiên biểu thị các mẫu, trục thứ hai biểu thị các tính năng và trục thứ ba biểu thị thời gian
Tên của biến này thường là X
, X_train
hoặc X_test
nếu việc phân tách xác thực chéo đã được thực hiện
1. 4. 2. Dữ liệu đầu ra
Tập hợp các nhãn luôn được biểu diễn dưới dạng mảng một chiều có hình dạng [n_samples,]
. Tên của biến này thường là y
, y_train
hoặc pyts.metrics.dtw[]
0 nếu việc phân tách xác thực chéo đã được thực hiện