Khóa học
Nếu bạn muốn học khóa Introduction to Time Series Analysis in R của chúng tôi, đây là liên kết.
Tính tự tương quan
Tự tương quan hay tương quan có độ trễ được dùng để đánh giá liệu một chuỗi thời gian có phụ thuộc vào quá khứ của nó hay không. Với một chuỗi thời gian x có độ dài n, ta xét n-1 cặp quan sát cách nhau một đơn vị thời gian. Cặp đầu tiên là (x[2],x[1]), và tiếp theo là (x[3],x[2]). Mỗi cặp đều có dạng (x[t],x[t-1]) với t là chỉ số quan sát, trong trường hợp này t biến thiên từ 2 đến n. Tự tương quan bậc 1 (lag-1) của x có thể được ước lượng là tương quan mẫu của các cặp (x[t], x[t-1]) này.
Nói chung, ta có thể tự tạo các cặp quan sát này. Đầu tiên, tạo hai vector, x_t0 và x_t1, mỗi vector có độ dài n-1, sao cho các dòng tương ứng với các cặp (x[t], x[t-1]). Sau đó áp dụng hàm cor() để ước lượng tự tương quan bậc 1.
May mắn thay, lệnh acf() cung cấp một lối tắt. Áp dụng acf(..., lag.max = 1, plot = FALSE) cho một chuỗi x sẽ tự động tính tự tương quan bậc 1.
Cuối cùng, lưu ý rằng hai ước lượng có khác nhau một chút vì chúng dùng các cách chuẩn hóa hơi khác khi tính hiệp phương sai mẫu, 1/(n-1) so với 1/n. Dù cách sau cho ước lượng chệch, nó lại được ưa dùng trong phân tích chuỗi thời gian, và các ước lượng tự tương quan thu được chỉ khác nhau theo một hệ số (n-1)/n.
Trong bài tập này, bạn sẽ thực hành cả cách tính thủ công và tự động cho tự tương quan bậc 1. Chuỗi thời gian x và độ dài của nó n (150) đã được nạp sẵn. Chuỗi được hiển thị trong biểu đồ bên phải.
Hướng dẫn
- Tạo hai vector,
x_t0vàx_t1, mỗi vector có độ dàin-1sao cho các dòng tương ứng với các cặp(x[t], x[t-1]). - Xác nhận rằng
x_t0vàx_t1là các cặp(x[t], x[t-1])bằng đoạn mã viết sẵn. - Dùng
plot()để xem biểu đồ phân tán củax_t0vàx_t1. - Dùng
cor()để xem tương quan giữax_t0vàx_t1. - Dùng
acf()vớixđể tự động tính tự tương quan bậc 1. Đặt đối sốlag.maxlà1để tạo một bậc trễ duy nhất và đặt đối sốplotlàFALSE. - Xác nhận rằng hệ số chênh lệch là
(n-1)/nbằng đoạn mã viết sẵn.
Nếu điều đó đã rõ ràng, hãy tiếp tục sang bài tập tiếp theo! Nếu chưa, đây là một video tổng quan.
Video tổng quan về tự tương quan
Hàm tự tương quan
Tự tương quan có thể được ước lượng tại nhiều bậc trễ để đánh giá tốt hơn cách một chuỗi thời gian liên hệ với quá khứ của nó. Thông thường, chúng ta quan tâm nhất đến mối liên hệ với quá khứ gần nhất.
Hàm acf(..., lag.max = ..., plot = FALSE) sẽ ước lượng tất cả tự tương quan từ 0, 1, 2,..., đến giá trị được chỉ định bởi đối số lag.max. Trong bài tập trước, bạn đã tập trung vào tự tương quan bậc 1 bằng cách đặt đối số lag.max là 1.
Trong bài tập này, bạn sẽ khám phá thêm một số ứng dụng của lệnh acf(). Một lần nữa, chuỗi thời gian x đã được nạp sẵn cho bạn và được hiển thị trong biểu đồ bên phải.
Hướng dẫn
- Dùng
acf()để xem các tự tương quan của chuỗixtừ 0 đến 10. Đặt đối sốlag.maxlà10và giữ đối sốplotlàFALSE. - Sao chép và dán ước lượng tự tương quan (ACF) tại bậc trễ 10.
- Sao chép và dán ước lượng tự tương quan (ACF) tại bậc trễ 5.
Trực quan hóa hàm tự tương quan
Ước lượng hàm tự tương quan (ACF) tại nhiều bậc trễ cho phép chúng ta đánh giá cách một chuỗi thời gian x liên hệ với quá khứ của nó. Các ước lượng dạng số rất quan trọng cho tính toán chi tiết, nhưng việc trực quan hóa ACF như một hàm của độ trễ cũng hữu ích.
Thực tế, lệnh acf() mặc định tạo ra một hình vẽ. Nó cũng đưa ra giá trị mặc định cho lag.max, số bậc trễ tối đa sẽ được hiển thị.
Ba chuỗi thời gian x, y, và z đã được nạp vào môi trường R của bạn và được vẽ ở bên phải. Chuỗi thời gian x thể hiện tính bền vững mạnh, nghĩa là giá trị hiện tại tương đối gần với các giá trị ngay trước đó. Chuỗi thời gian y thể hiện mẫu chu kỳ với chu kỳ khoảng bốn quan sát, nghĩa là giá trị hiện tại tương đối gần với quan sát trước đó bốn bước. Chuỗi thời gian z không biểu lộ mẫu rõ ràng nào.
Trong bài tập này, bạn sẽ vẽ hàm tự tương quan ước lượng cho mỗi chuỗi thời gian. Trong các biểu đồ do acf() tạo ra, bậc trễ của mỗi ước lượng tự tương quan được đánh dấu trên trục ngang và mỗi ước lượng tự tương quan được biểu diễn bởi chiều cao của các cột dọc. Nhớ rằng ACF tại bậc trễ 0 luôn bằng 1.
Cuối cùng, mỗi hình ACF bao gồm một cặp đường gạch ngang màu xanh dương, thể hiện khoảng tin cậy 95% theo từng bậc trễ quanh giá trị 0. Chúng được dùng để xác định ý nghĩa thống kê của một ước lượng tự tương quan tại một bậc trễ nhất định so với giá trị rỗng là 0, tức là không có tự tương quan tại bậc đó.
Hướng dẫn
Sử dụng ba lần gọi hàm acf() để hiển thị ACF ước lượng của từng chuỗi thời gian (x, y và z) của bạn. Không cần chỉ định thêm đối số nào trong các lần gọi acf().
Nếu bạn muốn học thêm từ khóa học này, đây là liên kết.
Xem thêm Time Series Analysis using R: Tutorial.