Giá trị thiếu
Đôi khi trong chuỗi thời gian có các giá trị bị thiếu, được ký hiệu là NA trong R, và việc biết vị trí của chúng rất hữu ích. Cũng quan trọng không kém là hiểu các hàm R xử lý giá trị thiếu như thế nào. Đôi khi bạn có thể muốn bỏ qua phần thiếu, nhưng những lúc khác bạn có thể muốn nội suy hoặc ước lượng các giá trị bị thiếu.
Hãy tiếp tục xem xét bộ dữ liệu theo tháng AirPassengers, nhưng giờ dữ liệu cho năm 1956 bị thiếu. Trong bài tập này, bạn sẽ khám phá tác động của phần dữ liệu thiếu này và nội suy một số giá trị mới để giải quyết vấn đề.
Hàm mean() tính trung bình mẫu, nhưng sẽ thất bại khi có bất kỳ giá trị NA nào. Dùng mean(___, na.rm = TRUE) để tính trung bình sau khi đã loại bỏ tất cả giá trị thiếu. Thực tế thường thay thế giá trị thiếu bằng trung bình của các giá trị quan sát được. Cách nội suy đơn giản này có vẻ đủ ổn khi áp dụng cho bộ dữ liệu AirPassengers không?
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian bằng R
Hướng dẫn bài tập
- Dùng
plot()để vẽ biểu đồ đơn giản củaAirPassengers. Lưu ý dữ liệu bị thiếu cho năm 1956. - Dùng
mean()để tính trung bình mẫu củaAirPassengersvới dữ liệu thiếu đã được loại bỏ (na.rm = TRUE). - Chạy đoạn mã có sẵn để nội suy (điền) giá trị trung bình vào phần dữ liệu bị thiếu.
- Gọi
plot()lần nữa để vẽ lại dữ liệuAirPassengerssau khi đã nội suy. - Chạy đoạn mã có sẵn để thêm dữ liệu
AirPassengersđầy đủ vào biểu đồ của bạn.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Plot the AirPassengers data
plot(___)
# Compute the mean of AirPassengers
# Impute mean values to NA in AirPassengers
AirPassengers[85:96] <- mean(AirPassengers, na.rm = ___)
# Generate another plot of AirPassengers
# Add the complete AirPassengers data to your plot
rm(AirPassengers)
points(AirPassengers, type = "l", col = 2, lty = 3)