messenger_logo
Liên hệ qua Messenger
SciEco

Các thành phần của một chuỗi thời gian - Phân rã chuỗi thời gian (P1)

MH
Mỹ Hiền
Ngày viết: 07/08/2023

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

Một chuỗi thời gian bất kỳ có thể chứa các thành phần sau:

Thành phần xu hướng - trend: Một xu hướng tồn tại khi dữ liệu tăng hoặc giảm trong dài hạn. Điều này có thể phát hiện thông qua độ dốc của dữ liệu trên biểu đồ.

Ví dụ: Tỷ giá hối đoái thực đa phương của Việt Nam có xu hướng giảm.

Thành phần thời vụ - seasonality: Thành phần này xảy ra khi một chuỗi thời gian bị ảnh hưởng bởi các yếu tố mùa vụ, ví dụ như các ngày trong tuần, các tháng, quý trong năm. Tính thời vụ luôn xảy ra trong một thời gian cố định và mang tính chất tuần hoàn.

Thành phần chu kỳ - cycle: Thành phần này xảy ra khi dữ liệu tăng và giảm không theo một tần suất cố định. Những biến động này thường do điều kiện kinh tế và thường liên quan đến “chu kỳ kinh doanh”. Một chu kỳ thường lặp lại ít nhất sau khoảng 2 năm.

Nhiều người hay nhầm lẫn giữa tính chu kỳ và tính mùa vụ, nhưng chúng thực sự khác nhau. Nếu các biến động này không có thời gian cố định thì có tính chu kỳ; nếu sự biến động này lặp lại tuần hoàn theo khía cạnh mùa vụ thì gọi là tính thời vụ. Nhìn chung, thời đoạn lặp lại của chu kỳ dài hơn tính mùa vụ và cường độ thay đổi của các chu kỳ cũng mạnh hơn nhiều so với tính thời vụ.

Ví dụ: Kim ngạch xuất khẩu của Việt Nam có xu hướng tăng mạnh với tính thời vụ rõ rệt.

Ví dụ: Cán cân thương mại của Việt Nam cho thấy tính thời vụ mạnh mẽ trong mỗi năm, cũng như một số hành vi chu kỳ mạnh mẽ với khoảng thời gian khoảng 6–10 năm. Không có xu hướng rõ ràng trong dữ liệu trong giai đoạn này.

Tính bất thường - Irregular remainder: hay còn gọi là nhiễu trắng (white noise) thành phần nhiễu còn lại sau khi trích xuất hết các thành phần ở trên, nó chỉ ra sự bất thường của các điểm dữ liệu. Nhiều chuỗi thời gian bao gồm cả tính xu hướng, tính thời vụ và chu kì.

2. Mô hình biểu diễn các thành phần của chuỗi thời gian

2.1. Mô hình dạng tổng

Yt=Tt+Ct+St+ItY_t = T_t + C_t + S_t + I_t

Trong đó:

Mô hình dạng tổng hiệu quả trong trường hợp chuỗi dữ liệu đang được phân tích có xu hướng xấp xỉ nhau tính theo chuỗi thời gian.

2.2. Mô hình dạng tích

Yt=Tt×Ct×St×ItY_t = T_t \times C_t \times S_t \times I_t

Mô hình dạng tích hiệu quả trong trường hợp chuỗi dữ liệu được phân tích có sự biến thiên nhanh chóng theo thời gian.

\Rightarrow Mô hình dạng tích phù hợp hơn với dữ liệu biến động nhiều theo thời gian.

\Rightarrow Từ mô hình dạng tích, để sự thay đổi của dữ liệu ổn định chúng ta có thể chuyển dạng hàm của mô hình bằng cách lấy logarit 2 vế như sau:

log⁡Yt=logTt+logCt+logSt+logIt\text{log⁡}Y_t=\text{log}T_t+\text{log}C_t+\text{log}S_t+\text{log}I_t

3. Phân rã chuỗi thời gian - Hiệu chỉnh mùa vụ

3.1. Dạng tích

Bước 1: Tính giá trị trung bình trượt trọng tâm (CMA - centered moving average)

Số liệu theo tháng:

CMAt=0.5Yt+6+Yt+5++Yt5+0.5Yt612\text{CMA}_t = \frac{0.5Y_{t+6}+Y_{t+5}+\cdots+Y_{t-5}+0.5Y_{t-6}}{12}

Số liệu theo quý:

CMAt=0.5Yt+2+Yt+1+Yt+Yt1+0.5Yt24\text{CMA}_t = \frac{0.5Y_{t+2}+Y_{t+1}+Y_t+Y_{t-1}+0.5Y_{t-2}}{4}

CMAt\textbf{CMA}_tbao gồm yếu tố xu thế và chu kỳ kết hợp lại:

CMAt=Tt×Ct\text{CMA}_t = T_t \times C_t

Bước 2: Tính toán tỷ lệ:

τt=YtCMAt\tau_t=\frac{Y_t}{CMA_t}

tức là: τt=St×It\tau_t =S_t\times I_t

Bước 3: Tính các chỉ số mùa vụ:

Bước 4: Quy chuẩn các chỉ số mùa vụ cho tích của chúng bằng 1, thông qua các nhân tố mùa (The seasonal factors). Các chỉ số mùa vụ SS quy chuẩn:

Chuỗi dữ liệu theo tháng:

Sm=imi1×i2××i1212S_m = \frac{i_m}{ \sqrt[12]{i_1 \times i_2 \times \cdots \times i_{12}}}

Chuỗi dữ liệu theo quý:

Sq=imi1×i2×i3×i44S_q = \frac{i_m}{ \sqrt[4]{i_1 \times i_2 \times i_3 \times i_4}}

Bước 5: Chuỗi dữ liệu sau khi đã điều chỉnh yếu tố mùa vụ:

Ytsa=YtS(m,q)=Tt×Ct×ItY^{sa}_{t}= \frac{Y_t}{S(m,q)}=T_t \times C_t \times I_t

3.2. Dạng tổng

Bước 1: Tính giá trị trung bình trượt trọng tâm của yty_t như ở phương pháp hiệu chỉnh dạng tích

CMAt\textbf{CMA}_tbao gồm yếu tố xu thế và chu kỳ kết hợp lại:

CMAt=Tt+Ct\text{CMA}_t = T_t + C_t

Bước 2: Tính hiệu số

dt=YtCMAtd_t = Y_t - \text{CMA}_t

tức là : dt=St+Itd_t =S_t + I_t

Bước 3: Tính các chỉ số mùa vụ:

Bước 4: Quy chuẩn các chỉ số mùa vụ cho tổng của chúng bằng 0. Chỉ số mùa vụ SS quy chuẩn:

Chuỗi dữ liệu theo tháng:

Sm=imi1+i2++i1212S_m = i_m - \frac{i_1+ i_2 + \cdots + i_{12}}{12}

Chuỗi dữ liệu theo quý:

Sq=iqi1+i2+i3+i44S_q = i_q - \frac{i_1+ i_2 + i_3 +i_4}{4}

Bước 5: Chuỗi số liệu sau khi điều chỉnh yếu tố mùa vụ:

Ytsa=YtS(m,q)=Tt+Ct+ItY^{sa}_{t}=Y_t-S(m,q)=T_t+C_t+I_t

3.3. Thực hành Stata - Kiểm định tính mùa vụ

Kiểm định sự bằng nhau giữa các trung vị của các nhóm (thể hiện tính mùa) bằng kiểm định Kruskal-Wallis:
Ho: Không có yếu tố mùa vụ
H1: Có yếu tố mùa vụ

Tạo các biến trung bình trượt

Dữ liệu theo quý:

1genr CMAq = (0.5*Y[_n-2] + Y*[_n-1] + Y + Y*[_n+1] + 0.5*Y[_n+2])/4

Dữ liệu theo tháng:

1gen CMAm=(0.5*Y[_n-6]+ Y*[_n-5] +Y*[_n-3] +Y*[_n-5] +Y*[_n-2] +Y*[_n-1] + Y + Y*[_n+1]+ Y*[_n+2]+ Y*[_n+3]+ Y*[_n+4]+ Y*[_n+5] + 0.5*Y[_n+6])/12 

Tạo các biến kiểm tra bằng nhau giữa các mùa

Tạo biến phân nhóm từ biến time ban đầu các biến kiểm tra:

1bysort time: gen qua = _n
2bysort time: gen mon = _n

Kiểm định Kruskal-Wallis

1kwallis d/t, by(qua/mon)

\Rightarrow Kết luận về tính mùa vụ với mức ý nghĩa 1%, 5% và 10%

\Rightarrow Nếu tồn tại tính mùa vụ, hiệu chỉnh tính mùa vụ

Theo dõi Science for Economics để cập nhật thêm những bài viết tiếp theo nhé!


Bài viết khác
Dữ liệu hiện diện ở khắp mọi nơi. Các cơ quan chính phủ, tổ chức tài chính, trường đại học và nền tảng mạng xã hội thường cung cấp quyền truy cập dữ liệu của họ thông qua API. Hệ thống này đóng vai trò như một cầu nối, thường trả về khối dữ liệu được yêu cầu dưới định dạng tệp JSON. Việc nắm vững cách sử dụng Python để gửi các truy vấn API và xử lý dữ liệu JSON thu được ngay bên trong môi trường Stata là một kỹ năng cực kỳ hữu ích cho quá trình phân tích dữ liệu hiện đại. Khái quát về cấu trúc API và định dạng JSON API là một phần mềm trung gian cho phép hệ thống của bạn yêu cầu dữ liệu từ một hệ thống máy tính khác. Cú pháp truy vấn thường mang tính đặc thù tùy thuộc vào từng hệ thống cung cấp, nhưng một cấu trúc điển hình luôn bắt đầu bằng một URL theo sau là các tùy chọn tham số. Bài viết này sẽ lấy ví dụ về việc sử dụng hệ thống openFDA để truy xuất dữ liệu về các biến cố bất lợi của thuốc từ Cục Quản lý Thực phẩm và Dược phẩm Hoa Kỳ. Chúng ta hoàn toàn có thể thêm các điều kiện lọc vào lời gọi API để thu hẹp phạm vi dữ liệu trả về. Dữ liệu này hiển thị dưới dạng JSON, một định dạng lưu trữ phổ biến được cấu trúc bởi tập hợp các cặp khóa và giá trị. Khóa hoạt động tương tự như một biến số trong tập dữ liệu Stata, còn giá trị chính là dữ liệu thực tế được ghi nhận.
Trong bài phân tích trước, chúng ta đã làm quen với mô hình tuyến tính tổng quát thông qua một tập dữ liệu khá đặc biệt: số ca tử vong do ngựa đá trong quân đội Phổ. Tập dữ liệu này đếm số lượng tử vong của các quân đoàn qua từng năm. Vì đây là dữ liệu đếm, chúng ta đã điều chỉnh mô hình tuyến tính để sử dụng phân phối Poisson, đồng thời áp dụng hàm liên kết log. Tuy nhiên, có một khía cạnh mà chúng ta chưa xem xét: liệu tất cả các quân đoàn có tỷ lệ tử vong giống hệt nhau không? Khám phá dữ liệu theo từng nhóm Trước tiên, chúng ta cần thiết lập môi trường trong R.
SciEco
Science for Economics
Định hướng đào tạo phân tích dữ liệu, xây dựng chính sách, tối ưu hoá danh mục tài chính cá nhân và dự báo thị trường.
Liên hệ
Địa chỉ: Số 60, ngõ 41, Phố Thái Hà, Trung Liệt, Đống Đa, Hà Nội (Google Map)
Email: science.for.economics@gmail.com
Hotline: 03.57.94.7680 (Mrs. Hà)
Mạng xã hội