Tomorrow Marketers – Dữ liệu chuỗi thời gian là dạng dữ liệu phổ biến trong kinh doanh, được ứng dụng nhiều trong việc phân tích giao dịch, số liệu bán hàng, hành vi của khách hàng,…Phân tích dữ liệu chuỗi thời gian sẽ giúp doanh nghiệp thấy được xu hướng gì đang diễn ra, nguyên nhân đằng sau những xu hướng đó là gì, từ đó đưa ra quyết định nhằm tối ưu hóa hoạt động.
Trong bài viết này, hãy cùng Tomorrow Marketers tìm hiểu về dữ liệu chuỗi thời gian, các yếu tố cần lưu ý khi phân tích và một số kỹ thuật bạn có thể áp dụng để phân tích dữ liệu chuỗi thời gian nhé!
1. Dữ liệu chuỗi thời gian (Time Series data) là gì?
Dữ liệu chuỗi thời gian, hay còn được gọi là time series data là một tập hợp các điểm dữ liệu được thu thập theo các khoảng thời gian (ngày, tháng, năm,…), cho phép theo dõi sự thay đổi của một yếu tố nào đó theo thời gian.
Dữ liệu chuỗi thời gian được ứng dụng phổ biến không chỉ trong đời sống (theo dõi lượng mưa, nhiệt độ, thị trường chứng khoán,…) mà còn được sử dụng để theo dõi và tìm ra xu hướng trong các hoạt động trong doanh nghiệp theo thời gian. Ví dụ theo dõi số lượng sản phẩm được bán theo từng tháng, số lượng users truy cập vào website theo ngày,…
Ví dụ: Sử dụng time series data để theo dõi số lượng users truy cập vào website trong 2 tháng
Việc phân tích dữ liệu chuỗi thời gian (Time Series Analysis) sẽ giúp bạn:
- Hiểu đặc điểm của tệp dữ liệu, sự thay đổi của tệp dữ liệu theo thời gian.
- Xác định được những yếu tố ảnh hưởng đến các biến tại các thời điểm khác nhau.
- Hỗ trợ đưa ra dự đoán giá trị tương lai của các biến trong chuỗi thời gian dựa vào xu hướng của dữ liệu trong quá khứ.
Đọc thêm: Các bước phân khúc khách hàng theo kỹ thuật RFM (RFM Analysis)
2. Các yếu tố cần lưu ý khi phân tích dữ liệu chuỗi thời gian
Có 4 yếu tố quan trọng bạn sẽ cần lưu ý khi phân tích dữ liệu chuỗi thời gian, việc nắm vững những “thành phần” này sẽ giúp bạn hiểu rõ hơn về đặc điểm và sự thay đổi của tệp dữ liệu, từ đó đưa ra những dự đoán chính xác hơn.
2.1. Trend (Xu hướng):
Xu hướng trong dữ liệu chuỗi thời gian đề cập đến sự chuyển động lên hoặc xuống của dữ liệu trong một khoảng thời gian dài. Bạn có thể xác định xu hướng chung dựa vào độ dốc của dữ liệu trên biểu đồ.
Một số xu hướng phổ biến khi phân tích Time Series data:
- Upward Trend: Giá trị của dữ liệu có xu hướng tăng theo thời gian
- Downward Trend: Giá trị của dữ liệu có xu hướng giảm theo thời gian
- Horizontal Trend: Giá trị của dữ liệu không có sự thay đổi đáng kể, hoặc không đổi theo thời gian
- Damped Trend: Giá trị của dữ liệu giảm dần theo thời gian, nhưng càng về sau tốc độ thay đổi càng chậm lại.
- Non-linear Trend: Giá trị của dữ liệu thay đổi không theo một xu hướng chung mà phức tạp hơn, có thể bao gồm tăng, giảm, đổi hướng hoặc thay đổi đột biến theo thời gian
2.2. Seasonality (Tính mùa vụ):
Tính mùa vụ trong dữ liệu chuỗi thời gian đề cập đến những biến động tăng hoặc giảm lặp đi lặp lại một cách đều đặn của dữ liệu trong một khoảng thời gian.
Một số tính mùa vụ phổ biến khi phân tích Time Series data:
- Weekly Seasonality: Sự thay đổi lặp lại trong khoảng thời gian 7 ngày. Ví dụ: số lượng vé xem phim tại các rạp tăng mạnh vào các dịp cuối tuần.
- Monthly Seasonality: Sự thay đổi lặp lại trong khoảng thời gian 30 hoặc 31 ngày. Ví dụ: Chi tiêu của người dùng shopee tăng vọt vào các đợt sales định kỳ hàng tháng.
- Annual Seasonality: Sự thay đổi lặp lại trong khoảng thời gian 365 hoặc 366 ngày. Ví dụ: Số lượng khách du lịch tăng vọt vào các đợt cao điểm tháng hè.
- Holiday Seasonality: Sự thay đổi này thường được gây ra bởi các sự kiện đặc biệt như ngày lễ, lễ hội, sự kiện thể thao. Ví dụ: Doanh số các hãng bán lẻ tăng mạnh vào dịp sát Tết.
2.3. Cyclicity (Tính chu kỳ):
Tính chu kỳ trong dữ liệu chuỗi thời gian đề cập đến những biến động lên xuống lặp lại, hoặc những thay đổi định kỳ, có thể kéo dài trong nhiều năm và chuyển từ giai đoạn này qua giai đoạn khác.
Sự khác biệt giữa tính mùa vụ (Seasonality) và tính chu kỳ (Cyclicity):
Tính mùa vụ (Seasonality) đề cập đến sự thay đổi lặp lại, xảy ra trong một khoảng thời gian cố định (hàng ngày, hàng tuần, hàng tháng hoặc hàng năm), bị ảnh hưởng bởi nhiều yếu tố như thời tiết, các ngày lễ, hành vi người dùng,…. và có thể dự đoán được.
Mặt khác, tính chu kỳ (Cyclicity) đề cập đến các biến động lặp đi lặp lại trong một khoảng thời gian không xác định. Những biến động này thường bị ảnh hưởng bởi những yếu tố vĩ mô hơn như chu kỳ kinh tế, xu hướng thị trường,… Tính chu kỳ không bị giới hạn trong một khoảng thời gian cố định và có thể có diễn ra với tần suất khác nhau, nên việc dự đoán sẽ trở nên khó khăn hơn.
2.4. Irregularity (Sự bất thường):
Sự bất thường trong dữ liệu chuỗi thời gian đề cập đến những sự thay đổi bất thường của dữ liệu, xảy ra một cách ngẫu nhiên, có thể trái ngược hoàn toàn với các dữ liệu trong quá khứ, khó có thể giải thích và không dự đoán được trước. Sự bất thường này có thể do sự sai sót trong đo lường dữ liệu, hoặc những sự kiện bất ngờ diễn ra và có thể vô tình làm ảnh hưởng đến tính chính xác khi đánh giá dữ liệu chuỗi thời gian.
3. Phân tích dữ liệu chuỗi thời gian với phương pháp Moving Average
Moving averages (MA), hay còn gọi là đường trung bình trượt, là một phương pháp thống kê được sử dụng để phân tích và dự đoán các điểm dữ liệu bằng cách xem xét trung bình của các điểm dữ liệu trong quá khứ.
Mục tiêu chính của phương pháp này là để xác định xu hướng và mô hình trong dãy thời gian bằng cách “làm mịn”, loại bỏ bớt những biến động ngắn hạn hoặc nhiễu.
Image source: Turing
Để giúp bạn hiểu rõ hơn về phương pháp này, dưới đây là một ví dụ:
Cho số liệu bán hàng của một doanh nghiệp từ 2000 đến 2009, Moving averages của doanh thu mỗi 3 năm sẽ được tính bằng trung bình cộng của 3 năm gần nhất trở về trước theo công thức:
MA (2002) = (Doanh thu 2000 + Doanh thu 2001 + Doanh thu 2002)/3 = (4 + 7 + 4)/3 = 5
Bạn có thể theo dõi trong bảng dưới đây:
Năm | Doanh thu (Tỷ) | Moving Average (MA) |
2000 | 4 | N/A |
2001 | 7 | N/A |
2002 | 4 | 5.00 |
2003 | 9 | 6.67 |
2004 | 7 | 6.67 |
2005 | 10 | 8.67 |
2006 | 8 | 8.33 |
2007 | 4 | 7.33 |
2008 | 7 | 6.33 |
2009 | 6 | 5.67 |
Khi đó, đường trung bình động sẽ được biểu diễn như hình dưới đây:
Ví dụ trên vừa sử dụng phương pháp Simple moving average (SMA) để tính toán. Ngoài Simple moving average (SMA), bạn có thể tìm hiểu thêm về các biến thể khác của Moving Average như:
- Cumulative Moving Average (CMA)
- Exponential moving average (EMA)
Ưu điểm của phương pháp Moving Average là cách tính toán đơn giản, dễ hiểu, có thể thấy các giá trị gây nhiễu đã được loại bỏ bớt, bạn có thể dễ dàng hiểu được xu hướng của dữ liệu thông qua việc phân tích các yếu tố như xu hướng, tính mùa vụ, tính chu kỳ,…
Tuy nhiên nhược điểm của phương pháp này là nó dựa hoàn toàn vào dữ liệu trong quá khứ mà không tính đến những dữ kiện tương lai. Vì vậy, để đảm bảo dự đoán chính xác hơn, bạn nên kết hợp với nhiều phương pháp dự đoán khác.
4. Một số phương pháp khác để phân tích dữ liệu chuỗi thời gian
4.1. Auto-Regressive
Auto-Regressive (AR) hay còn gọi là mô hình tự hồi quy là phương pháp dùng để dự báo giá trị tương lai dựa trên mối tương quan giữa các giá trị trong một chuỗi thời gian nhất định với các giá trị trong quá khứ.
Auto-Regressive (AR) được tính bằng công thức:
Image source: simplilearn.com
Trong đó: X[t] (giá trị tương lai) phụ thuộc vào Y[t-1] (các giá trị ở thời điểm trước đó) và epsilon[t] các biến số nhiễu ngẫu nhiên.
Bạn có thể tìm hiểu thêm về Auto-Regressive tại đây
4.2. ARIMA (AutoRegressive Integrated Moving Average)
Image source: Turing
ARIMA viết tắt của cụm từ Autoregressive Integrated Moving Average. Mô hình dựa trên giả thuyết chuỗi dừng và phương sai sai số không đổi, sử dụng những dữ liệu trong quá khứ bao gồm: chuỗi tự hồi quy Auto-Regression và chuỗi trung bình trượt Moving average của chuỗi được dự báo để dự báo chính chuỗi đó.
Bạn có thể tìm hiểu thêm về mô hình ARIMA tại đây
Ngoài ra còn có nhiều mô hình khác để phân tích và dự đoán dữ liệu chuỗi thời gian như SARIMA, ARIMAX, GARCH
5. Một số công cụ hỗ trợ phân tích dữ liệu thời gian
Hiện tại cả Python và R đều có những thư viện hỗ trợ xây dựng các mô hình để xử lý dữ liệu thời gian:
Python
Với Python, dưới đây là 3 thư viện phổ biến có thể sử dụng để phân tích chuỗi thời gian:
- Pandas: Pandas cung cấp nhiều chức năng khác nhau để lập chỉ mục, cắt, lấy mẫu lại và căn chỉnh dữ liệu theo chuỗi thời gian. Thư viện này cũng cung cấp các phương pháp để xử lý dữ liệu bị thiếu, tổng hợp và tính toán dữ liệu theo thời gian.
- NumPy: NumPy cung cấp các cấu trúc và hàm dữ liệu để xử lý các mảng và ma trận lớn và thường được sử dụng làm cấu trúc dữ liệu cơ bản để phân tích chuỗi thời gian trong các thư viện khác như pandas và statsmodels.
- statsmodels: statsmodels bao gồm các mô hình thống kê để xử lý dữ liệu chuỗi thời gian như ARIMA, SARIMA và ARCH/GARCH. statsmodels cũng cung cấp các công cụ để ước tính mô hình, kiểm tra giả thuyết và kiểm tra chẩn đoán.
R
Dưới đây là 3 thư viện thường được sử dụng trong R để phân tích chuỗi thời gian:
- forecast: forecast trong R được phát triển riêng để đưa ra dự báo cho dữ liệu dạng chuỗi thời gian, cung cấp nhiều phương pháp và mô hình khác nhau như ETS, ARIMA…. Và bao gồm nhiều chức năng như lựa chọn mô hình tự động, đánh giá mô hình và đưa ra dự báo với khoảng tin cậy.
- tseries: tseries cung cấp một bộ công cụ để phân tích chuỗi thời gian, bao gồm kiểm tra nghiệm đơn vị (unit root tests), kiểm tra tính thời vụ (seasonality tests),… tseries cũng cung cấp các chức năng như phân tách chuỗi thời gian, loại bỏ xu hướng và sai phân.
- zoo: thư viện zoo chủ yếu tập trung vào việc quản lý và phân tích dữ liệu chuỗi thời gian có khoảng cách đều nhau. Nó cung cấp các cấu trúc dữ liệu cho phép dễ dàng thao tác, tập hợp và hợp nhất dữ liệu chuỗi thời gian. zoo cũng cũng bao gồm các chức năng xử lý các giá trị bị thiếu và thực hiện tổng hợp trong các khoảng thời gian không đều.
6. Hạn chế của Time series Analysis
Một trong những nhược điểm chính của Time series Analysis là kỹ thuật này chỉ hữu ích khi phân tích dữ liệu được thu thập theo thời gian. Ngoài ra, kỹ thuật này còn yêu cầu khoảng cách đều đặn giữa các điểm dữ liệu để tạo ra các mô hình có ý nghĩa. Do đó những dữ liệu không phụ thuộc vào thời gian (ví dụ category data) và dữ liệu có khoảng cách không đều nhau sẽ không phù hợp để sử dụng phương pháp này
Ngoài ra, khi làm việc với dữ liệu thời gian, bạn sẽ cần xử lý các giá trị ngoại lai và nhiễu. Công việc làm sạch và chuẩn hóa dữ liệu sẽ tốn thời gian và đòi hỏi nhiều kỹ năng để xử lý.
Đọc thêm: Dữ liệu ngoại lai (outlier) là gì và xử lý dữ liệu này thế nào trong phân tích
Tạm kết
Time series Analysis là một phương pháp hiệu quả giúp doanh nghiệp hiểu được nguyên nhân cơ bản của các xu hướng theo thời gian, từ đó đưa ra dự báo trong tương lai. Hy vọng thông qua bài viết này bạn đã hiểu dữ liệu thời gian là gì, những yếu tố cần quan tâm, và những cách để phân tích dữ liệu dạng thời gian hiệu quả.
Nếu bạn đang phải tiếp xúc với hàng loạt dữ liệu, biểu đồ, mà chưa biết tận dụng chúng như thế nào để tìm kiếm Insights phục vụ công việc và ra các quyết định kinh doanh chiến lược, thì đừng bỏ lỡ khóa học Data Analysis của Tomorrow Marketes nhé!
Khóa học Data Analysis – Trang bị tư duy phân tích dữ liệu để ra quyết định chiến lược
Khóa học sẽ giúp bạn:
- Nắm được các bước trong quy trình làm việc với dữ liệu: Nắm được 6 bước trong quy trình làm việc với dữ liệu bao gồm Define problem, Data Collection, Data Preparation, Data Exploration, Building Report, Insight & Recommendation để tiếp cận dữ liệu một cách hiệu quả.
- Rèn luyện tư duy đặt vấn đề, xác định bài toán phân tích dữ liệu: Nắm vững tư duy ‘đặt câu hỏi đúng’, xác định đúng bài toán để đảm bảo dữ liệu sau khi phân tích giải quyết được đúng vấn đề của doanh nghiệp thông qua công cụ “Issue Tree”.
- Trang bị kỹ năng xử lý và trực quan dữ liệu với công cụ: Cách sử dụng công cụ như Power BI, Excel để hỗ trợ quá trình xử lý và trực quan hóa dữ liệu giúp khai phá dữ liệu tốt hơn.
- Cải thiện khả năng đọc số rút ra insight: Luyện tập đọc số rút ra insight (các điểm bất thường, xu hướng, nguyên nhân…) và trình bày đề xuất (data storytelling) qua các case study ở nhiều lĩnh vực khác nhau (Sales, User, Digital,…) dưới sự hướng dẫn của các trainers nhiều năm kinh nghiệm.
Tìm hiểu và đăng ký tư vấn khóa học Data Analysis ngay tại đây