Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
trong Tìm kiếm

Phân tích dãy số thời gian (Time Series Analysis)

Bài cuối 06-24-2021 05:27 PM của chucnv. 0 trả lời.
Trang 1 trong số 1 (1 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 06-24-2021 05:27 PM

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 10,365

    Phân tích dãy số thời gian (Time Series Analysis)

    Phân tích dãy số thời gian (Time Series Analysis)

    chuc1803@gmail.com, http://bis.net.vn

    Sơ lược về dãy số thời gian

    Dãy số thời gian (Time Series) là dãy các trị số của chỉ tiêu thống kê được sắp xếp theo thứ tự thời gian. Một dãy số thời gian có hai thành phần đó là thời gian và chỉ tiêu của hiện tượng nghiên cứu. Thời gian có thể là thời kì hoặc thời điểm. Độ dài giữa hai thời gian liền nhau gọi là khoảng cách thời gian. Trị số của chỉ tiêu có thể là số tuyệt đối, số tương đối hoặc số trung bình.

    Dãy số tuyệt đối: khi các mức độ (level)  của dãy số là số tuyệt đối (ex: bảng doanh thu (tỷ đồng) quan các năm)

    Dãy số tương đối: khi các mức độ của dãy số là số tương đối (ex: tốc độ tăng doanh thu qua các năm)

    Dãy số trung bình: khi các mức độ của dãy số là số trung bình (ex: tiền lương trung bình của lao động qua các năm).

    Dãy số thời gian còn được gọi là chuỗi thời gian.

    Phân tích dãy số thời gian cho phép nghiên cứu xu hướng biến động của hiện tượng qua thời gian. Từ đó, tìm ra tính quy luật của sự thay đổi, đồng thời dự đoán được các mức độ của hiện tượng trong tương lai.

    Phân tích dãy số thời gian liên quan đến các yếu tố sau:

    1.    Level (mức độ của dữ liệu)

    2.    Trend (tính xu hướng)

    3.    Season (tính mùa vụ)

    4.    Random noise (nhiễu ngẫu nhiên)

    Mối quan hệ bởi các yếu tố trên có thể biểu diễn bằng phương trình sau:

    Time series data (y) = function of (level, trend, seasonality) + random noise

    Tùy thuộc vào bản chất của dữ liệu, các thành phần trên sẽ tương tác với nhau theo mô hình cộng (additive model) hoặc nhân (multiplicative model)

    Additive model:

    Y = level + trend + seasonality + noise

    Multiplicative model:

    Y = level * trend * seasonality * noise

    Một số ứng dụng điển hình của Time Series

    Ý tưởng chính của phân tích dãy số thời gian là phân tích và theo dõi dữ liệu theo thời gian nên được ứng dụng trong rất nhiều lĩnh vực khác nhau như Sales Forecast (dự báo doanh số), Stock price prediction (dự báo giá chứng khoán), Meteorology and Climate (dự báo, phân tích hiện tượng trong khí tượng và khí hậu), Econometrics (kinh tế lượng, phần lớn các chỉ số kinh tế đều gắn với thời gian, có xu hướng và tính mùa vụ rất rõ, ví dụ như GDP).

    Bài viết này trình bày phân tích dãy số thời gian trong Tableau với bộ dữ liệu Superstore gồm các nội dung chính sau:

    1.    Trực quan xu hướng doanh số bán hàng (Sales) theo thời gian (years, quarters, months, weeks, days)

    2.    Phân tích xu thế của doanh số bán hàng sử dụng đường xu hướng (trend line)

    3.    Phân tích xu hướng sử dụng phương pháp trung bình trượt (moving average method)

    4.    Phân tích tính mùa vụ (seasonality) của dữ liệu thời gian (seasonality)

    5.     Dự báo doanh số bán hàng (Forecast sales) sử dụng phương pháp làm trơn gàm mũ ( exponential smoothing method)

    #1. Trực quan xu hướng doanh số bán hàng (Sales) theo thời gian

    Doanh số bán hàng theo Năm


    Theo Quí


    Theo tháng


     

    Theo Tuần


    Theo ngày


    Từ các biểu đồ doanh thu theo thời gian (hàng năm, quý, tháng, tuần ngày), chúng ta có thể quan sát những điều sau:

    -       Biểu đồ doanh số hàng năm cho thấy tổng doanh số đã tăng dần theo các năm, khẳng định sự hiện diện của xu hướng dài hạn.

    -       Biểu đồ doanh số hàng quý cho thấy cả xu hướng cũng như tính mùa vụ. Tổng doanh thu tăng dần theo năm, tổng doanh thu cao trong quý 4 hàng năm và thấp trong quý 1 hàng năm.

    -       Biểu đồ doanh số hàng tháng cũng xác nhận tính chất tương tự mà chúng ta đã quan sát trong biểu đồ doanh số hàng quý.

    -       Doanh số bán hàng nhìn chung đã tăng theo năm và theo mùa: Tháng 11 và tháng 12 là những tháng bán hàng tốt, trong khi đó tháng 1 và tháng 2 là những tháng bán hàng tệ.

    -       Xu hướng bán hàng hàng tuần và hàng ngày khó đọc rõ ràng do có quá nhiều điểm dữ liệu biến động. Những biểu đồ này không tốt cho việc đưa ra các nhận xét về xu hướng.

    -       Vậy nếu phải chọn biểu đồ để báo cáo về tình hình doanh số bán hàng theo thời gian thì nên chọn biểu đồ doanh số hàng quý hoặc hàng tháng.

     #2. Phân tích xu thế của doanh số bán hàng sử dụng đường xu hướng (trend line)

    Chúng ta thấy rõ ràng sự hiện diện của xu hướng trong dữ liệu chuỗi thời gian. Nhưng làm thế nào để chúng ta chứng minh rằng xu hướng đó thực sự đang hiện hữu?

    Trong Tableau có thể hiển thị các đường xu hướng (trend line), các đường này sẽ hiển thị hướng mà các giá trị dữ liệu di chuyển theo thời gian. Đường xu hướng cùng với các tham số thống kê của nó cho biết xu hướng quan sát được có ý nghĩa thống kê hay không ( P-value <0.05).


     

    Đường xu hướng trên cho biết thông tin gì?

    Đường xu hướng cho biết rằng tổng doanh số tăng lên theo 
    thời gian
    (độ dốc (slope) >0).

    Chỉ số R bình phương (R-Squared) càng nhỏ có nghĩa là tác động của thời gian càng ít đối với sự thay đổi của doanh số bán hàng. Nếu giá trị bình phương R gần bằng 0, thì chúng ta có thể nói rằng không có xu hướng. Trong trường hợp này giá trị R-Squared không cao (=0.25) nhưng đồng thời nó cũng không quá thấp, vì vậy chúng ta có thể kết luận rằng có một xu hướng hiện tại nhưng yếu.

    P-value = 0.000285 (<5%) nên đường xu hướng có ý nghĩa thống kê.

    Tóm lại, đường xu hướng trên có các thông tin sau

    1.    Positive: Xu hướng tăng

    2.    Weak (R-squared = 0.25): Xu hướng có nhưng yếu

    3.    Significant (P-value < 0.01): Có ý nghĩa thống kê

    Đường xu hướng rất hữu ích khi phân tích dãy số thời gian, giúp ta trả lời các câu hỏi như hiện tượng biến thiên có xu hướng không, nếu có xu hướng thì tăng hay giảm, xu hướng đó có mạnh và có ý nghĩa thống kê không.

    #3. Phân tích xu hướng sử dụng phương pháp trung bình trượt (moving average method)

    Tính mùa vụ (seasonality)

    Tính mùa vụ sẽ ảnh hưởng lớn đến xu hướng và R-squared 
    phương pháp bình phương nhỏ nhất
    (least square method).
    Do đó nếu c
    húng ta loại trừ hoàn toàn tính mùa vụ hoặc
    loại bỏ các tác động cực đoan của tính mùa vụ thì
    chúng ta có thể thấy xu hướng nổi bật hơn.

    Trong hình trên ta thấy rằng R bình phương khá cao (0.86). Điều này có nghĩa là xu hướng là có thật và nổi bật. Nhìn vào hệ số độ dốc của năm trong mô hình là 242.463 điều này có nghĩa là doanh số bán hàng sẽ tăng trung bình 242 nghìn đô la sau mỗi năm.

    Tuy nhiên, có một vấn đề với P-value của mô hình. Bây giờ nó đã tăng lên 0.07 (P- value > 0,05 có nghĩa là mô hình không có ý nghĩa). Điều này là do chúng ta chỉ có 4 điểm dữ liệu (4 năm) trong biểu đồ, quá ít dữ liệu để hồi quy và mô tả xu hướng của mô hình một cách chính xác.

    Làm cách nào chúng ta có thể loại bỏ tính mùa vụ?

    Câu trả lời là làm trơn dữ liệu (smoothing). Thay vì sử dụng doanh số bán hàng, chúng ta có thể sử dụng trung bình trượt (moving average) của doanh số bán hàng, điều này sẽ làm trơn chuỗi thời gian.


    Trung bình trượt chỉ đơn giản là giá trị trung bình của n giá trị trước mỗi điểm dữ liệu. Bạn có thể thấy rằng biểu đồ hiển thị trung bình trượt của doanh số bán hàng (panel trên) trơn hơn so với biểu đồ hiển thị doanh số bán hàng thực tế (panel dưới).

    Theo mặc định trong Tableau, trung bình trượt được tính bằng cách sử dụng n=2 (sử dụng doanh số bán hàng của 2 hai tháng trước trong trường hợp này), điều này không đủ tốt vì tính mùa vụ được quan sát trong hơn một quý. Vì vậy, ta sẽ thay đổi kích thước của cửa sổ trượt (window size) thành 6 tháng.


    Right click vào trend lines và chọn  describe trend models.


    Trước hết, chúng ta có thể thấy rằng có 48 quan sát, đủ lớn để phân tích xu hướng sử dụng mô hình hồi quy.

    Giá trị R bình phương là 0.65, có nghĩa là có mối quan hệ chặt chẽ giữa đường trung bình trượt của doanh số và thời gian. Nói một cách đơn giản, doanh số bán hàng trung bình thay đổi theo thời gian.

    Giá trị p rất thấp nên có thể tin tưởng vào mô hình này.

    Từ các phân tích trên, có thể kết luận rằng có một xu hướng tích cực trong dữ liệu: Doanh số bán hàng tăng dần theo thời gian.

    Tuy nhiên, có tính mùa vụ trong dữ liệu chuỗi thời gian hay không chúng ta cần phân tích thêm.

    #4. Phân tích tính mùa vụ (seasonality) của dãy số thời gian

    Chúng ta đã quan sát thấy rằng có một xu hướng tích cực trong dữ liệu, có nghĩa là doanh số bán hàng đã tăng lên trong những năm qua. Chúng ta biết điều này không chỉ đơn giản bằng cách nhìn vào biểu đồ, mà còn từ các tham số thống kê như R-squared và P-value.

    Chúng ta cũng nhận thấy tính mùa vụ trong việc bán hàng, có nghĩa là doanh số bán hàng đã được lặp lại qua các năm. Chúng ta quan sát điều này từ biểu đồ xu hướng và cũng chú ý rằng tính mùa vụ đã làm giảm đáng kể giá trị R bình phương của đường xu hướng.

    Chúng ta có thể quan sát tính mùa vụ một cách tốt hơn trong biểu đồ dưới đây.

     

    Kết quả


    Biểu đồ trên cho thấy sự khác biệt về tổng doanh số giữa các tháng 
    từ tháng 1 đến tháng 12
    qua các năm (mỗi năm 1 đường).
    Từ biểu đồ trên, chúng ta có thể thấy rằng doanh số bán hàng
    đã tăng vọt trong tháng Ba so với mức thấp nhất trong tháng Hai.
    Tương tự, doanh số bán hàng tăng đột biến vào tháng 9, sau đó giảm mạnh
    vào tháng 10 trước khi tăng vọt trở lại vào tháng 11.

    Đặc điểm
    này lặp lại mỗi năm.

    #5. Dự báo doanh số (Forecasting) sử dụng phương pháp làm trơn hàm mũ (exponential smoothing method)

    Phần này trình bày cách sử dụng mô hình dự báo time series 
    dựa vào level, trend và season.
    Nhớ lại rằng mô hình Time series có thể biểu diễn dưới dạng hàm số 
    của level, trend và season:
    Time series data (y)= f(level, trend và season)
    Có một số mô hình dự báo chuỗi thời gian phổ biến 
    như mô hình làm
    trơn hàm mũ (exponential smoothing models),
    ARIMA, ARIMAX, v.v
    Có ba biến thể của phương pháp làm trơn hàm mũ
    sử dụng ba thành phần của dữ liệu chuỗi thời gian để dự báo
    :

    Single exponential smoothing uses the level component only

    Double exponential smoothing a.k.a. Holt method uses both level and trend

    Triple exponential smoothing a.k.a. Holt-Winter method uses all three components level, trend, and seasonality to forecast

    Dự báo Time Series trong tableau


    Từ hình trên có thể thấy rằng dự báo cũng có tính mùa vụ và nó tuân theo qui luật bán hàng chung trong những năm qua.

    Nhưng làm thế nào để chúng ta hiểu được dự báo và làm thế nào để biết liệu dự báo có tốt hay không?

    Xem xét hiệu suất mô hình của mô hình dự báo chuỗi thời gian sẽ cho chúng ta biết mô hình đó tốt như thế nào.


    Trong mô tả của mô hình dự báo trên, Tab Summary hiển thị tóm tắt mô hình và tab Models hiển thị các thông số và hiệu suất của mô hình.


    Mô hình dự báo được xây dựng dựa trên doanh số hàng tháng trong giai đoạn từ tháng 1 năm 2014 đến tháng 11 năm 2017.

    Mô hình dự báo 13 tháng tiếp theo, bắt đầu từ tháng 12 năm 2017. Theo mặc định, mô hình sẽ bỏ qua tháng cuối cùng vào tháng 12 năm 2017.

    Mô hình có tính mùa vụ theo chu kỳ 12 tháng.

    Tiếp theo, chúng ta xem các thông tin trong phần Sum of Sales: Sự thay đổi so với các giá trị ban đầu là 0 vì mô hình mặc định giả định không có xu hướng và tính mùa vụ. Giá trị Contribution, thấy rằng thành phần xu hướng không được xem xét và 100% tính mùa vụ được xem xét.

    Với Tab Models

    Mô hình dự báo đã được tính toán bằng cách sử dụng làm trơn hàm mũ.

    Mô hình dựa trên additive Level, Season và không có xu hướng.

    Để xem xét chất lượng của mô hình dự báo, chúng ta sử dụng các chỉ số root mean square error (RMSE), mean absolute error (MAE), mean absolute scaled error (MASE) và mean absolute percentage error (MAPE).

    Chỉ số đơn giản nhất để hiểu mô hình hoạt động tốt như thế nào là xem sai số phần trăm tuyệt đối trung bình (MAPE). Trong mô hình này có MAPE là khoảng 18%. Điều này có nghĩa là giá trị dự báo có thể chênh lệch trung bình 18% so với giá trị thực tế.

    Một chỉ số khác cũng thường được sử dụng đánh giá chất lượng của mô hình dự báo là RMSE. RMSE là căn bậc hai của tất cả các tổng lỗi chia cho số điểm dữ liệu.

    Cuối cùng, các hệ số làm trơn hàm mũ (smoothing coefficients) được sử dụng trong mô hình dự báo. Mô hình làm làm trơn hàm mũ sử dụng ba hệ số alpha (được sử dụng để làm trơn thành phần Level), beta (làm trơn Season) và gamma (làm trơn trend).

    Mô hình mặc định được tạo trong trường hợp này chỉ được sử dụng LevelSeason chứ không sử dụng trend. Tuy nhiên, từ các bước trước, chúng ta biết rằng có xu hướng trong dữ liệu chuỗi thời gian này.

    Tùy chỉnh mô hình dự báo:

    Vì chúng ta biết rằng cả thành phần xu hướng và mùa vụ đều có trong dữ liệu, nên tùy chỉnh mô hình để sử dụng các thành phần này.


    Hộp thoại tùy chỉnh mô hình xuất hiện

    Mô hình cộng (additive) đơn giản để hiểu và hoạt động tốt trong hầu hết các hiện tượng liên quan đến kinh doanh. Khi dữ liệu đang phát triển theo cấp số nhân, chúng ta có thể phải sử dụng các mô hình nhân (multiplicative). Trong trường hợp này ta chọn additive trend và season như hình dưới.

    Kết quả sau khi tùy chỉnh mô hình dự báo như sau:



    Chúng ta có thể thay đổi, kết hợp các trường hợp khác nhau (additive, multiplicative) trên các thành phần trend và season để so sánh kết quả dự báo và hiệu quả của mô hình.

    Hình bên dưới là mô hình dự báo với Multiplicative trend and no season.


    Tóm lại:

    Bài viết này đã giới thiệu về phân tích dãy số thời gian Tableau một cách trực quan thông qua ví dụ về phân tích doanh số bán hàng, từ việc hiểu và sử dụng đường xu hướng (trend line), phát hiện và phân tích tính mùa vụ (season) trong dữ liệu thời gian và cuối cùng là mô hình dự báo dữ liệu thời gian bằng phương pháp làm trơn hàm mũ.

    • Điểm chủ đề: 20
Trang 1 trong số 1 (1 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems