+4

Tìm hiểu về lập trình dự báo theo chuỗi thời gian từ tổng quát đến chi tiết

1. Lời nói đầu

Mình đơn giản là thích lập trình, có tìm hiểu đôi chút về machine learning, các thuật toán, dưới đây là chia sẻ của mình trong thời gian tìm hiểu. Bài viết dưới đây mình viết dưới góc nhìn của người bắt đầu mò mẫm những bước đầu, mình sẽ đi từ tổng quát đến chi tiết những bước mình tìm hiểu được, từ đó đưa cái nhìn tổng quát (theo góc nhìn của mình) từ lý thuyết đi đến áp dụng thực tiễn cụ thể một vấn đề như thế nào. Chú ý: Mình không phải chuyên gia trong lĩnh vực này, nên có nhiều khái niệm có thể sẽ diễn dịch sai, cũng như hiểu ý sai, mọi người có thể coi đó như để tham khảo, cũng như đóng góp kiến thức để chúng ta cùng hoàn thiện hơn.

2. Giới thiệu

Dữ liệu chuỗi thời gian (time-series data) là dữ liệu được thu thập về cùng một vấn đề tại các thời điểm khác nhau. Chẳng hạn như GDP của một quốc gia theo năm, giá cổ phiếu của một công ty cụ thể trong một khoảng thời gian, doanh thu của chuỗi cửa hàng theo tháng và ngay cả nhịp tim của bạn ghi lại trong mỗi giây. Bất kỳ dữ liệu nào bạn có thể thu thập liên tục ở các khoảng thời gian khác nhau đều là dạng dữ liệu chuỗi thời gian. Dưới đây là ví dụ về dữ liệu chuỗi thời gian hiển thị số ca mắc Covid-19 tại Hoa Kỳ được báo cáo cho CDC. Trục x hiển thị thời gian trôi qua, trục y biểu thị trường hợp nhiễm Covid 19 tính bằng đơn vị nghìn. Mặt khác trong thực tế thì một tập dữ liệu thường lưu trữ nhiều hơn một thông tin ở cùng một thời điểm, thí dụ như doanh thu của các cửa hàng trong một chuỗi trong ngày, số lượng trường hợp nhiễm Covid ở các đất nước khác nhau trong cùng một ngày. Chúng được hiểu như là dữ liệu lát cắt (cross-sectional data). Ta có biểu đồ dưới đây chỉ ra những quốc gia có nhiều trường hợp nhiễm Covid nhất trong khoảng thời gian cố định. Không khó phân biệt dữ liệu chuỗi thời gian (time-series data) và dữ liệu lát cắt (cross-sectional data) vì mục tiêu phân tích của 2 bộ dữ liệu này rất khác nhau. Như ví dụ trên: Đầu tiên chúng ta theo số lượng trường hợp nhiễm Covid theo khoảng thời gian. (time-series data). Tiếp theo mới cắt ra theo trường hợp nhiễm theo các đất nước khác nhau theo khoảng thời gian cố định (cross-sectional data).

Một tập dữ liệu thực tế thì có thể sẽ là sự kết hợp của cả 2 dạng dữ liệu này. Ví dụ chúng ta có thể nghĩ đến nhà bán lẻ như “Thế giới di động” có thể bán hàng nghìn sản phẩm mỗi ngày. Thì nếu bạn muốn phân tích dữ liệu bán hàng và lấy ra doanh thu theo loại sản phẩm trong một ngày cụ thể thì đó là phân tích dữ liệu lát cắt (lát cắt ở đây là loại sản phẩm). Còn bạn muốn phân tích về doanh thu bán một mặt hàng cụ thể trong vòng 3 năm qua thì đây là dữ liệu thời gian (dữ liệu chuỗi thời gian ở đây là doanh thu).

(Tiếp theo)


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí